:root{--navy:#0b2438;--ink:#102e42;--muted:#576b79;--blue:#177da8;--blue-bright:#2997c3;--pale:#f0f5f7;--line:#d9e3e8;--white:#fff;--radius:4px;--wrap:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;color:var(--ink);background:#fff;font-family:Manrope,'Noto Sans JP',sans-serif;font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{max-width:100%;display:block}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:700;line-height:1.55;letter-spacing:-.025em}
p{color:var(--muted)}
a,button{touch-action:manipulation}
button{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #30a7db;outline-offset:5px}
button:disabled{cursor:default}
::selection{background:#b3dfea;color:var(--navy)}
[hidden]{display:none!important}
.wrap{max-width:var(--wrap);margin:auto;width:calc(100% - 112px)}
.section{padding-top:110px;padding-bottom:110px}
.eyebrow{font-size:12px;letter-spacing:.15em;line-height:1.5;font-weight:700;color:var(--blue)}
.eyebrow>span{margin-right:20px;color:var(--muted)}
.header{height:94px;padding:0 40px;display:flex;align-items:center;gap:26px;border-bottom:1px solid #e9eef1;background:rgba(255,255,255,.97);position:sticky;top:0;z-index:30}
.brand{display:block;flex-shrink:0;width:198px}
.brand img{width:100%;height:auto}
.desktop-nav{display:flex;gap:25px;margin-left:auto;align-items:center}
.desktop-nav a{font-size:13px;font-weight:600;white-space:nowrap;position:relative;padding:34px 0}
.desktop-nav a:after{content:'';position:absolute;height:2px;background:var(--blue);bottom:24px;left:0;width:0;transition:width .2s}
.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{width:100%}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--blue);background:var(--blue);color:#fff;min-height:57px;padding:15px 25px;border-radius:2px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}
.button:hover{background:#0c6087;border-color:#0c6087;transform:translateY(-2px)}
.button span{font-size:20px;font-weight:400}
.header-contact{min-height:44px;padding:8px 16px;font-size:12px;gap:18px}
.white{background:#fff;color:var(--navy);border-color:#fff}
.white:hover{background:#e6f2f7;color:var(--navy);border-color:#e6f2f7}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:14px;font-weight:600;border-bottom:1px solid #a6b8c4;padding:12px 0;transition:color .2s}
.text-link:hover{color:var(--blue)}
.text-link span{font-size:23px;font-weight:400;line-height:1}
.menu-button{display:none;background:none;border:0;width:45px;height:45px;padding:10px}
.menu-button span{display:block;height:1px;background:var(--navy);margin:7px 0}
.mobile-nav{position:fixed;inset:80px 0 auto;background:white;z-index:40;padding:25px 28px 35px;box-shadow:0 20px 20px #071a2d20;max-height:calc(100dvh - 80px);overflow:auto}
.mobile-nav a{display:block;padding:13px 4px;border-bottom:1px solid var(--line);font-weight:600}
.skip{position:fixed;top:-80px;left:10px;z-index:99;background:white;padding:10px}
.skip:focus{top:5px}
.hero{position:relative;isolation:isolate;min-height:680px;height:calc(100svh - 94px);max-height:900px;background:#051322;color:#fff;overflow:hidden}
.hero-video{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;inset:0;z-index:-3}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#05101cd9 0%,#0717278c 33%,#06182800 69%)}
.hero-content{padding-top:clamp(95px,11vh,165px);position:relative}
.hero .eyebrow{color:#aed7ea;letter-spacing:.19em;font-size:11px}
.hero h1{font-size:clamp(49px,5.3vw,83px);line-height:1.4;margin:27px 0 26px;letter-spacing:-.045em}
.hero h1 span{color:#fff}
.hero-description{color:#d3e0e9;font-size:16px;line-height:2}
.hero-actions{display:flex;align-items:center;gap:35px;margin-top:35px}
.hero-link{display:inline-flex;gap:24px;align-items:center;font-size:13px;border-bottom:1px solid #94afc3;padding:9px 0}
.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;gap:22px;align-items:center;justify-content:space-between;color:#d4e4ee;font-size:10px;letter-spacing:.1em}
.hero-bottom>a{margin-left:auto;margin-right:20px}
.video-toggle{display:flex;align-items:center;gap:13px;background:#0513226b;border:1px solid #7695ac75;border-radius:3px;color:#fff;padding:9px 12px;font-size:10px;letter-spacing:.06em;min-height:40px}
.video-toggle>span{border-left:1px solid #7695ac75;padding-left:13px;color:#bdd1de}
.brand-statement{padding:30px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand-statement p{color:var(--ink);font-size:20px;font-weight:600;letter-spacing:.03em}
.brand-statement>span{font-size:11px;color:#728997;letter-spacing:.1em}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:46px}
.section-heading h2{font-size:clamp(28px,3.1vw,44px);margin-top:19px;letter-spacing:-.035em}
.heading-aside{max-width:410px}
.heading-aside p{font-size:14px;line-height:1.9;margin-bottom:12px}
.heading-aside .text-link{min-width:215px}
.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 36px}
.work-card{display:block;position:relative;padding-bottom:27px;border-bottom:1px solid var(--line);min-width:0}
.case-visual{position:relative;aspect-ratio:1.55;overflow:hidden;background:var(--pale);isolation:isolate}
.case-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.work-card:hover .case-visual>img{transform:scale(1.04)}
.visual-editorial{position:absolute;inset:0;padding:30px;color:white;background:linear-gradient(90deg,#04111d9c,transparent 90%);display:flex;flex-direction:column;align-items:flex-start}
.visual-editorial small{font-size:9px;letter-spacing:.17em}
.visual-editorial b{font-size:clamp(22px,2.5vw,37px);line-height:1.55;letter-spacing:.02em;margin:auto 0}
.visual-editorial>span{font-size:8px;letter-spacing:.17em;max-width:70%}
.visual-food img{object-position:60% 50%}
.visual-food .visual-editorial{background:linear-gradient(90deg,#101010ad,transparent 80%)}
.visual-note{position:absolute;right:12px;bottom:11px;color:#fff;background:#071a2dcc;padding:3px 7px;font-size:9px;letter-spacing:.02em;border-radius:2px}
.work-meta{display:flex;align-items:center;justify-content:space-between;color:var(--blue);font-size:11px;font-weight:500;letter-spacing:.05em;margin:22px 0 9px}
.work-meta i{color:#b4c2ca;font-style:normal;margin:0 8px}
.work-meta>span:last-child{color:#91a0ac}
.work-card h3{font-size:25px;line-height:1.65;margin-bottom:12px}
.work-card p{font-size:13px;padding-right:40px;line-height:1.9}
.card-more{position:absolute;right:0;bottom:30px;width:28px;height:28px;border:1px solid #c2d3dc;display:grid;place-items:center;border-radius:50%;font-size:18px;color:var(--blue)}
.work-preview-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}
.work-preview-row .text-link{font-size:12px;gap:12px}
.source-note{font-size:11px;line-height:1.9;margin-top:23px;color:var(--muted)}
.solutions-section{background:var(--pale);border-top:1px solid #e6eef1;border-bottom:1px solid #e6eef1}
.solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.solution-card{display:flex;flex-direction:column;background:#fff;padding:28px 27px 24px;border:1px solid #dce6eb;border-top:3px solid var(--blue);scroll-margin-top:110px}
.solution-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--blue);margin-bottom:37px}
.solution-top>span{font-size:22px;font-weight:500}
.solution-top small{font-size:8px;letter-spacing:.07em}
.solution-card h3{font-size:27px;letter-spacing:-.04em}
.solution-pitch{font-size:13px!important;font-weight:600;color:var(--ink);margin:8px 0 18px!important}
.solution-card>p{font-size:13px;line-height:1.9;margin-bottom:21px}
.tag-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:29px}
.tag-list span{font-size:10px;background:#eff5f8;color:#526b7d;padding:3px 7px;border-radius:2px}
.service-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:19px;font-size:12px;font-weight:600}
.service-link>span{font-size:24px;line-height:1}
.coming-banner{display:flex;gap:35px;justify-content:space-between;align-items:center;padding:30px 0 0;margin-top:33px;border-top:1px solid #cbdbe3}
.status-label{font-size:9px;color:var(--blue);letter-spacing:.12em;font-weight:700}
.coming-name h3{font-size:29px;font-weight:600;letter-spacing:-.03em;margin-top:1px}
.coming-banner p{font-size:13px;flex:1}
.coming-banner p span{font-size:12px;color:var(--muted)}
.coming-banner .text-link{font-size:12px;white-space:nowrap}
.philosophy-section{display:grid;grid-template-columns:1.2fr 1fr;gap:70px}
.philosophy-section h2{font-size:33px;margin-top:28px;line-height:1.8}
.philosophy-copy{padding-top:37px}
.philosophy-copy>p:first-child{font-size:20px;color:var(--ink);font-weight:500;margin-bottom:20px}
.philosophy-copy>p{font-size:14px;line-height:2.1;margin-bottom:25px}
.voices-section{background:#f6f8f9}
.voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.voice-card{background:#fff;padding:30px 34px;border:1px solid #e4eaee;display:flex;flex-direction:column}
.voice-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--blue)}
.voice-top>small{font-size:9px;color:#7b8b97}
.quote-mark{font-family:Georgia,serif;font-size:70px;line-height:1;color:#a3c8da;margin-top:24px;height:47px}
.voice-card h3{font-size:23px;line-height:1.7;margin-bottom:22px}
.voice-card>p{font-size:13px;line-height:2.05;margin-bottom:25px}
.voice-person{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}
.voice-person .text-link{font-size:11px;border:0;padding:0;gap:15px}
.recruit-banner{padding:80px 0;display:flex;align-items:center;justify-content:space-between;gap:35px}
.recruit-banner h2{font-size:36px;line-height:1.65;margin:18px 0 15px}
.recruit-banner p:not(.eyebrow){font-size:14px}
.contact-section{background:var(--navy);color:white}
.contact-inner{padding:75px 0;display:flex;align-items:center;justify-content:space-between;gap:40px}
.contact-section .eyebrow{color:#83c5e3}
.contact-section h2{font-size:40px;line-height:1.65;margin:22px 0}
.contact-section p:not(.eyebrow){color:#b8cbd9;font-size:13px}
.contact-section .button{min-width:235px}
.footer-top{padding:62px 0 48px;display:flex;justify-content:space-between;gap:45px}
.footer-brand{width:235px}
.footer-top>div>p{font-size:12px;margin:15px 0 0 12px}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 40px;font-size:12px;padding-top:8px}
.footer-links small{display:block;font-size:8px;color:var(--blue);letter-spacing:.1em}
.footer-bottom{border-top:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:.02em}
.page-intro{padding:32px 0 68px;border-bottom:1px solid var(--line)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;letter-spacing:.04em;color:#7b8e9b;margin-bottom:67px}
.breadcrumb a:hover{color:var(--blue)}
.intro-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:end}
.page-intro h1{font-size:44px;margin-top:21px;line-height:1.55;letter-spacing:-.04em}
.intro-copy{font-size:14px;line-height:2;padding-bottom:8px;max-width:440px}
.content-section{padding-top:60px;padding-bottom:90px}
.note-box{padding:23px;background:#edf4f7;border-left:3px solid #85b8ce;margin:30px 0;color:var(--muted)}
.note-box strong{font-size:11px;letter-spacing:.06em;color:var(--blue)}
.note-box p{font-size:13px;margin-top:8px}
.sample-note{display:flex;gap:20px;align-items:center;background:#edf4f7;padding:22px 27px;font-size:12px;color:#566c7c;line-height:1.9;margin-bottom:32px}
.sample-note strong{color:var(--blue);font-size:10px;letter-spacing:.08em;white-space:nowrap}
.filter-bar{display:flex;flex-wrap:wrap;gap:8px}
.filter-button{border:1px solid #d4e0e6;border-radius:2px;background:white;padding:10px 20px;font-size:12px;min-height:43px}
.filter-button[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.result-count{font-size:11px;text-align:right;margin:20px 0}
.empty-results{padding:50px;background:var(--pale);text-align:center}
.visual-build{display:grid;place-items:center;background:#dfe8e9;padding:35px}
.browser-mock{width:92%;box-shadow:0 20px 30px #112e3b24;background:white;border:1px solid #b7c9cf;transform:rotate(-3deg);transition:transform .5s}
.work-card:hover .browser-mock{transform:rotate(0)}
.browser-chrome{display:flex;align-items:center;gap:4px;border-bottom:1px solid #e1e6e9;height:23px;padding:0 9px}
.browser-chrome i{width:4px;height:4px;border-radius:50%;background:#b0bec6}
.browser-chrome span{font-size:6px;color:#71838b;margin-left:auto;letter-spacing:.1em}
.build-mock{padding:20px 24px;color:#354c4b}
.build-mock>small{font-size:7px;letter-spacing:.15em}
.build-mock>b{font-size:clamp(18px,2.3vw,32px);line-height:1.55;display:block;margin:8px 0 20px}
.build-mock-bottom{display:flex;gap:8px;border-top:1px solid #c7d4d4;padding-top:15px}
.build-mock-bottom span{flex:1;font-size:8px;color:#5e7473;line-height:2.4}
.visual-beauty{background:#e9e5e1;display:flex;align-items:center;justify-content:space-between;padding:30px 35px;gap:20px}
.beauty-brand small{font-size:7px;letter-spacing:.09em}
.beauty-brand b{font-family:Georgia,serif;font-size:30px;line-height:1.25;color:#6e615b;display:block;margin:18px 0}
.beauty-brand p{font-size:10px;color:#857872}
.phone-mock{width:142px;min-width:125px;aspect-ratio:.53;border:5px solid #fff;border-radius:23px;padding:21px 12px 13px;box-shadow:12px 16px 25px #6e615b26;background:#f9f6f2;color:#6e615b;transform:rotate(8deg);position:relative;display:flex;flex-direction:column}
.phone-speaker{height:4px;width:38px;background:#d5cfc9;border-radius:4px;position:absolute;left:50%;top:7px;transform:translateX(-50%)}
.phone-mock>small{font-size:5px;letter-spacing:.1em}
.phone-mock>b{font-size:14px;line-height:1.65;margin:12px 0}
.care-tip{padding:9px;background:#e7ded5}
.care-tip>span{font-size:5px;display:block}
.care-tip strong{font-size:9px;line-height:1.7;display:block;margin-top:5px}
.mock-cta{font-size:6px;background:#70665f;color:white;text-align:center;padding:5px;margin-top:auto}
.visual-stay>img{object-position:70%;filter:brightness(.8)}
.stay-card{position:absolute;left:30px;top:30px;bottom:30px;background:#ffffffed;display:flex;flex-direction:column;padding:26px;justify-content:space-between}
.stay-card>small,.stay-card>span{font-size:7px;letter-spacing:.1em;color:#456e81}
.stay-card>b{font-size:27px;color:#30586a;line-height:1.7}
.case-main-visual .case-visual{aspect-ratio:2.15}
.case-main-visual .visual-editorial{padding:55px}
.case-main-visual .visual-editorial>b{font-size:55px}
.case-main-visual .visual-editorial small{font-size:13px}
.case-main-visual .visual-editorial>span{font-size:11px}
.case-main-visual .visual-note{font-size:11px;right:20px;bottom:20px}
.case-main-visual .browser-mock{max-width:720px}
.case-main-visual .build-mock{padding:25px 45px}
.case-main-visual .build-mock>b{font-size:43px}
.case-main-visual .build-mock-bottom span{font-size:12px}
.case-main-visual .visual-beauty{padding:45px 17%}
.case-main-visual .beauty-brand>b{font-size:64px}
.case-main-visual .phone-mock{width:190px}
.case-main-visual .phone-mock>b{font-size:23px}
.case-main-visual .care-tip strong{font-size:13px}
.case-main-visual .stay-card{left:65px;top:45px;bottom:45px;padding:40px}
.case-main-visual .stay-card>b{font-size:48px}
.detail-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;margin-top:70px}
.detail-aside{font-size:12px}
.detail-aside dl{margin:0}
.detail-aside dl>div{border-bottom:1px solid var(--line);padding:18px 0}
.detail-aside dt{font-size:10px;color:var(--blue);margin-bottom:6px}
.detail-aside dd{margin:0;line-height:1.9}
.detail-body>section{margin-bottom:50px}
.detail-body h2{font-size:28px;margin-bottom:18px}
.detail-body p{font-size:14px;line-height:2.2}
.detail-body h3{font-size:18px;margin:26px 0 12px}
.number-list{list-style:none;counter-reset:item;padding:0;margin:25px 0}
.number-list li{counter-increment:item;display:flex;gap:20px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}
.number-list li:before{content:'0' counter(item);font-size:12px;color:var(--blue)}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.process-card{padding:27px;background:var(--pale);border-top:2px solid #8eb8cc}
.process-card .eyebrow{font-size:10px}
.process-card h3{font-size:20px;margin:18px 0 12px}
.process-card p{font-size:13px;line-height:2}
.business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}
.business-item{padding:34px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:42px 1fr;gap:15px}
.business-item>.number{font-size:12px;color:var(--blue);padding-top:6px}
.business-item h3{font-size:23px;margin-bottom:9px}
.business-item p{font-size:13px;line-height:2}
.business-item .text-link{font-size:12px;margin-top:14px}
.voices-full{grid-template-columns:1fr}
.voices-full .voice-card{display:grid;grid-template-columns:1fr 1.1fr;column-gap:65px;position:relative;padding:40px}
.voices-full .voice-top{grid-column:1/-1;margin-bottom:25px}
.voices-full .quote-mark{display:none}
.voices-full .voice-person{grid-column:1/-1;margin-top:10px}
.roles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.role-card{border:1px solid var(--line);padding:32px;display:flex;flex-direction:column;transition:border .2s,box-shadow .2s}
.role-card:hover{border-color:#80b1c8;box-shadow:0 12px 24px #193a4c09}
.role-card h3{font-size:25px;margin:26px 0 13px}
.role-card p:not(.eyebrow){font-size:13px;line-height:2}
.role-card .text-link{margin-top:25px;font-size:12px}
.data-list{margin:0}
.data-list>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:25px 0;border-bottom:1px solid var(--line);font-size:14px}
.data-list dt{font-weight:600;color:var(--ink)}
.data-list dd{margin:0;color:var(--muted);line-height:2}
.company-message{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}
.company-message h2{font-size:35px;line-height:1.8;margin-top:25px}
.company-message .message-text{font-size:15px;line-height:2.2}
.message-text p{margin-bottom:24px}
.founder{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:15px;font-size:12px}
.founder b{font-family:Manrope,sans-serif;font-size:23px;letter-spacing:.025em;color:var(--navy)}
.company-overview{max-width:930px;margin:auto}
.company-overview .brand{width:270px;margin:0 0 25px -10px}
.coming-hero{background:var(--navy);color:#fff;padding:90px 0;position:relative;overflow:hidden}
.coming-hero h1{font-size:80px;font-weight:500;letter-spacing:-.04em;margin:16px 0}
.coming-hero h2{font-size:30px;line-height:1.8}
.coming-hero p{color:#bbd0df;font-size:14px;margin-top:25px;line-height:2}
.coming-hero .status-label{color:#91cce6}
.coming-hero .wrap{position:relative;z-index:1}
.coming-hero:after{content:'AI-Time';font-family:Manrope,sans-serif;font-weight:800;font-size:22vw;line-height:1;color:#ffffff04;position:absolute;right:-30px;bottom:30px;white-space:nowrap}
.development-status{display:inline-flex;border:1px solid #7da1bb69;padding:12px 18px;color:#b4d3e8;font-size:12px;margin-top:35px}
.contact-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:100px}
.contact-guidance h2{font-size:24px;margin:23px 0}
.contact-guidance p{font-size:13px;line-height:2;margin-bottom:20px}
.contact-form-panel{background:var(--pale);padding:38px}
.demo-note{font-size:11px;padding:12px 16px;background:#e1edf2;color:#4a6576;margin-bottom:27px}
.contact-form-panel label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:22px}
.contact-form-panel label>span{font-size:9px;color:var(--blue);margin-left:12px;border:1px solid #c5dce7;padding:1px 4px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-form-panel input,.contact-form-panel textarea,.contact-form-panel select{display:block;width:100%;margin-top:10px;border:1px solid #c6d7e0;border-radius:2px;background:#fff;padding:13px;font-size:14px;color:var(--ink);min-height:50px}
.contact-form-panel textarea{resize:vertical}
.contact-confirm h2{font-size:25px;margin-bottom:25px}
#confirmation-fields>div{border-bottom:1px solid #cddfe8;padding:15px 0}
#confirmation-fields dt{font-size:11px;color:var(--muted)}
#confirmation-fields dd{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}
.contact-confirm .demo-note{margin-top:25px}
dialog{border:0;border-radius:4px;max-width:570px;width:calc(100% - 40px);padding:48px;color:var(--ink);box-shadow:0 30px 90px #06182855}
dialog::backdrop{background:#04111cbf;backdrop-filter:blur(4px)}
dialog h2{font-size:32px;margin:23px 0 17px}
dialog>p:not(.eyebrow){font-size:14px;line-height:2}
.dialog-close{position:absolute;right:12px;top:10px;font-size:25px;background:none;border:0;width:40px;height:40px;font-weight:400}
.missing-page{text-align:center;padding:120px 25px}
.missing-page h1{font-size:100px;font-weight:500}
.missing-page p{margin-bottom:30px}
.mobile-only{display:none}

@media(min-width:1550px){.hero-content{padding-top:150px}
}
@media(max-width:1190px){.header{padding:0 26px;gap:22px}
.desktop-nav{gap:18px}
.desktop-nav a{font-size:11px}
.brand{width:170px}
.header-contact{font-size:11px;gap:10px}
.wrap{width:calc(100% - 80px)}
.solution-card{padding:25px 22px}
.solution-card h3{font-size:24px}
.philosophy-section{gap:45px}
.contact-layout{gap:55px}
.roles-grid{gap:18px}
.role-card{padding:27px}
}

@media(max-width:1050px){.header{height:80px;padding:0 28px}
.brand{width:184px}
.desktop-nav{display:none}
.header-contact{margin-left:auto}
.menu-button{display:block}
.hero{height:calc(100svh - 80px);min-height:660px}
.hero h1{font-size:61px}
.hero-content{padding-top:105px}
.solution-grid{gap:14px}
.solution-top{display:block;margin-bottom:25px}
.solution-top small{display:block;font-size:8px;margin-top:4px}
.solution-card h3{font-size:23px}
.solution-pitch{font-size:11px!important}
.solution-card>p{font-size:12px}
.coming-banner{gap:24px}
.coming-banner .text-link{font-size:11px}
.footer-links{gap:20px 25px}
.philosophy-section h2{font-size:29px}
.work-card h3{font-size:23px}
.visual-beauty{padding:25px}
.beauty-brand>b{font-size:25px}
.phone-mock{width:120px;min-width:110px}
.role-card h3{font-size:22px}
.role-card .eyebrow{font-size:9px}
.intro-grid{gap:35px}
.page-intro h1{font-size:38px}
.case-main-visual .visual-editorial>b{font-size:45px}
.detail-grid{gap:50px}
.contact-layout{grid-template-columns:.7fr 1.3fr;gap:38px}
.contact-form-panel{padding:28px}
}

@media(max-width:800px){.wrap{width:calc(100% - 48px)}
.section{padding-top:72px;padding-bottom:72px}
.header{padding:0 20px;gap:16px}
.brand{width:166px}
.header-contact{font-size:10px;min-height:38px;padding:7px 12px}
.header-contact span{font-size:16px}
.menu-button{width:36px;height:40px;padding:5px}
.hero{min-height:640px;max-height:860px}
.hero-video{object-position:60% center;opacity:.75}
.hero-shade{background:linear-gradient(90deg,#051322dc,#06182855),linear-gradient(0deg,#0618288c,transparent 60%)}
.hero-content{padding-top:105px}
.hero h1{font-size:58px}
.hero-description{font-size:14px}
.hero .eyebrow{font-size:9px}
.hero-bottom>span{display:none}
.hero-bottom>a{margin-left:0;margin-right:auto;font-size:8px}
.video-toggle{font-size:9px}
.video-toggle>span{font-size:8px}
.brand-statement{gap:20px;padding:26px 0}
.brand-statement p{font-size:17px}
.brand-statement>span{font-size:8px}
.section-heading{align-items:flex-start;gap:25px;margin-bottom:32px}
.section-heading h2{font-size:30px;margin-top:15px}
.heading-aside{max-width:270px}
.heading-aside p{font-size:12px}
.heading-aside .text-link{font-size:12px;min-width:190px}
.works-grid{gap:38px 23px}
.visual-editorial{padding:22px}
.visual-editorial>b{font-size:25px}
.visual-editorial>small{font-size:7px}
.visual-editorial>span{font-size:6px}
.visual-note{font-size:7px;right:8px;bottom:8px}
.work-card h3{font-size:21px}
.work-card p{font-size:12px}
.work-meta{font-size:9px}
.work-preview-row{grid-template-columns:1fr;gap:0;margin-top:20px}
.work-preview-row .text-link{padding:16px 0;font-size:12px}
.solution-grid{grid-template-columns:1fr;gap:18px}
.solution-card{padding:28px 30px;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.solution-top{display:flex;grid-column:1/-1;margin-bottom:18px}
.solution-top small{font-size:9px}
.solution-card h3{font-size:27px;grid-column:1}
.solution-pitch{font-size:12px!important;grid-column:1}
.solution-card>p:not(.solution-pitch){grid-column:2;grid-row:2/4;font-size:13px;margin:0}
.solution-card .tag-list{grid-column:1/-1;margin:8px 0 22px}
.solution-card .service-link{grid-column:1/-1;font-size:12px}
.coming-banner{flex-wrap:wrap;gap:15px 30px}
.coming-banner p{flex:auto;font-size:12px}
.coming-banner .text-link{margin-left:auto}
.philosophy-section{grid-template-columns:1fr;gap:25px}
.philosophy-section h2{font-size:31px}
.philosophy-copy{padding-top:0}
.philosophy-copy>p:first-child{font-size:19px}
.voice-card{padding:26px}
.voice-card h3{font-size:21px}
.voice-top{flex-wrap:wrap;gap:5px}
.voice-person{align-items:flex-start;flex-direction:column;gap:12px}
.voice-card>p{font-size:12px}
.recruit-banner{padding:65px 0}
.recruit-banner h2{font-size:30px}
.recruit-banner .button{font-size:12px;gap:20px}
.contact-inner{padding:60px 0}
.contact-section h2{font-size:33px}
.contact-section .button{min-width:190px;font-size:12px}
.footer-top{flex-direction:column;gap:30px;padding:40px 0}
.footer-brand{width:220px}
.footer-links{grid-template-columns:repeat(3,1fr)}
.intro-grid{grid-template-columns:1fr;gap:25px}
.page-intro{padding-bottom:45px}
.breadcrumb{margin-bottom:45px}
.page-intro h1{font-size:39px;margin-top:18px}
.intro-copy{font-size:14px;padding:0;max-width:100%}
.content-section{padding-top:40px;padding-bottom:70px}
.detail-grid{grid-template-columns:1fr;gap:45px;margin-top:40px}
.detail-aside dl{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}
.case-main-visual .case-visual{aspect-ratio:1.55}
.case-main-visual .visual-editorial{padding:30px}
.case-main-visual .visual-editorial>b{font-size:36px}
.case-main-visual .visual-editorial>small{font-size:9px}
.case-main-visual .visual-editorial>span{font-size:8px}
.case-main-visual .visual-note{font-size:8px;right:12px;bottom:12px}
.process-grid{gap:15px}
.process-card{padding:22px}
.process-card h3{font-size:18px}
.process-card p{font-size:12px}
.business-grid{gap:0 30px}
.business-item h3{font-size:21px}
.roles-grid{grid-template-columns:1fr}
.role-card{padding:28px 30px;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}
.role-card .eyebrow{grid-column:1/-1;font-size:11px}
.role-card h3{margin:15px 0;font-size:25px}
.role-card p:not(.eyebrow){grid-row:2;grid-column:2;align-self:center}
.role-card .text-link{grid-column:1/-1;margin:0}
.company-message{grid-template-columns:1fr;gap:35px}
.company-message h2{font-size:32px;margin-top:22px}
.voices-full .voice-card{gap:20px 35px;padding:30px}
.voices-full .voice-card h3{font-size:22px}
.voices-full .voice-top{margin-bottom:0}
.voices-full .voice-person{flex-direction:row;align-items:center}
.contact-layout{grid-template-columns:1fr;gap:25px}
.contact-guidance{max-width:100%}
.contact-guidance h2{font-size:26px}
.contact-form-panel{padding:32px}
.sample-note{align-items:flex-start;flex-direction:column;gap:8px}
.case-main-visual .visual-beauty{padding:30px 12%}
.case-main-visual .beauty-brand>b{font-size:42px}
.case-main-visual .phone-mock{width:155px}
.case-main-visual .phone-mock>b{font-size:17px}
.case-main-visual .stay-card{left:30px;top:30px;bottom:30px;padding:25px}
.case-main-visual .stay-card>b{font-size:35px}
}

@media(max-width:560px){.wrap{width:calc(100% - 40px)}
.header{height:74px;padding:0 15px;gap:13px}
.brand{width:147px}
.header-contact{padding:7px 10px;font-size:9px;gap:4px;min-height:35px}
.header-contact span{font-size:14px}
.menu-button{width:30px;min-width:30px}
.mobile-nav{top:74px;max-height:calc(100dvh - 74px)}
.hero{min-height:670px;height:calc(100svh - 74px);max-height:780px}
.hero-content{padding-top:95px}
.hero h1{font-size:49px;line-height:1.5;margin:26px 0}
.hero-video{object-position:62%;opacity:.72}
.hero-shade{background:linear-gradient(90deg,#041323e3 0%,#071d3380 55%,#07172726),linear-gradient(0deg,#061321d1,transparent 65%)}
.hero-description{font-size:13px;line-height:2.2}
.hero-actions{align-items:flex-start;flex-direction:column;gap:17px;margin-top:32px}
.hero-actions .button{font-size:12px;min-height:52px;padding:13px 21px;gap:33px}
.hero-link{font-size:11px;gap:32px}
.hero-bottom{bottom:19px;gap:10px}
.hero-bottom>a{font-size:7px;letter-spacing:.04em}
.video-toggle{padding:8px;font-size:8px;gap:8px;min-height:37px}
.video-toggle>span{font-size:7px;padding-left:8px}
.mobile-only{display:initial}
.brand-statement{align-items:flex-start}
.brand-statement p{font-size:15px}
.brand-statement>span{max-width:126px;text-align:right;font-size:8px;line-height:2;padding-top:4px}
.section{padding-top:62px;padding-bottom:62px}
.eyebrow{font-size:10px}
.section-heading{display:block;margin-bottom:30px}
.section-heading h2{font-size:29px;line-height:1.6;margin-top:18px}
.heading-aside{max-width:none;margin-top:23px}
.heading-aside p{font-size:13px;line-height:2;margin-bottom:8px}
.heading-aside .text-link{font-size:12px;min-width:210px}
.works-grid{grid-template-columns:1fr;gap:36px}
.case-visual{aspect-ratio:1.42}
.visual-editorial{padding:24px}
.visual-editorial b{font-size:30px}
.visual-editorial small{font-size:8px}
.visual-editorial>span{font-size:7px}
.visual-note{font-size:8px;right:10px;bottom:10px}
.work-meta{font-size:10px;margin-top:18px}
.work-card h3{font-size:24px}
.work-card p{font-size:12px}
.source-note{font-size:10px;margin-top:20px}
.solution-card{display:flex;padding:28px 24px}
.solution-top{margin-bottom:28px}
.solution-top>span{font-size:20px}
.solution-top small{font-size:8px}
.solution-card h3{font-size:28px}
.solution-pitch{margin:8px 0 17px!important}
.solution-card>p:not(.solution-pitch){margin-bottom:21px;font-size:13px}
.solution-card .tag-list{margin:0 0 24px}
.coming-banner{display:grid;grid-template-columns:1fr;padding-top:24px;gap:13px}
.coming-banner .text-link{margin:0;width:100%;font-size:12px}
.coming-name{display:flex;justify-content:space-between;align-items:center;gap:15px}
.coming-name h3{font-size:28px}
.status-label{font-size:8px}
.coming-banner p{font-size:13px}
.coming-banner p>span{font-size:11px}
.philosophy-section{gap:30px}
.philosophy-section h2{font-size:27px;line-height:1.8}
.philosophy-copy>p:first-child{font-size:18px}
.philosophy-copy>p{font-size:13px}
.voice-grid{grid-template-columns:1fr}
.voice-card{padding:26px}
.voice-top{font-size:10px}
.voice-top>small{font-size:8px}
.voice-card h3{font-size:24px}
.voice-card>p{font-size:13px}
.voice-person{flex-direction:row;align-items:center;font-size:10px}
.voice-person .text-link{font-size:10px;gap:8px}
.recruit-banner{display:block;padding:57px 0}
.recruit-banner h2{font-size:31px;margin-top:19px}
.recruit-banner p:not(.eyebrow){font-size:12px}
.recruit-banner .button{margin-top:28px;width:100%;font-size:13px}
.contact-inner{display:block;padding:53px 0}
.contact-section h2{font-size:31px;margin:25px 0 18px}
.contact-section p:not(.eyebrow){font-size:12px}
.contact-section .button{margin-top:30px;width:100%;font-size:13px}
.footer-top{padding:38px 0}
.footer-brand{width:195px}
.footer-top>div>p{font-size:11px}
.footer-links{grid-template-columns:1fr 1fr;gap:20px 28px;font-size:11px}
.footer-bottom{font-size:9px;padding:19px 0}
.breadcrumb{font-size:9px;gap:8px;margin-bottom:38px}
.page-intro{padding-top:25px;padding-bottom:37px}
.page-intro h1{font-size:32px;line-height:1.65;margin-top:17px}
.intro-copy{font-size:13px;line-height:2}
.intro-grid{gap:20px}
.filter-bar{gap:7px}
.filter-button{font-size:11px;padding:9px 13px;min-height:40px}
.result-count{font-size:10px}
.content-section{padding-top:32px;padding-bottom:60px}
.sample-note{padding:18px;font-size:11px;margin-bottom:25px}
.case-main-visual .case-visual{aspect-ratio:1.3}
.case-main-visual .visual-editorial{padding:24px}
.case-main-visual .visual-editorial>b{font-size:31px}
.case-main-visual .visual-editorial>small{font-size:8px}
.case-main-visual .visual-editorial>span{font-size:7px}
.case-main-visual .visual-note{font-size:8px;right:8px;bottom:8px}
.detail-grid{margin-top:25px;gap:38px}
.detail-aside dl{grid-template-columns:1fr}
.detail-aside dl>div{padding:16px 0}
.detail-aside dt{font-size:9px}
.detail-aside dd{font-size:12px}
.detail-body h2{font-size:24px}
.detail-body p{font-size:13px}
.number-list li{font-size:13px;padding:16px 0}
.detail-body>section{margin-bottom:35px}
.detail-body h3{font-size:17px}
.process-grid{grid-template-columns:1fr;gap:16px}
.process-card{padding:24px}
.process-card h3{font-size:20px;margin:12px 0 10px}
.process-card p{font-size:13px}
.business-grid{grid-template-columns:1fr}
.business-item{padding:28px 0;gap:10px;grid-template-columns:28px 1fr}
.business-item h3{font-size:22px}
.business-item p{font-size:13px}
.voices-full .voice-card{display:flex;padding:27px;gap:0}
.voices-full .voice-top{margin-bottom:28px}
.voices-full .voice-card h3{font-size:24px}
.voices-full .voice-person{margin-top:auto}
.role-card{display:flex;padding:27px}
.role-card h3{font-size:26px;margin:25px 0 12px}
.role-card .text-link{margin-top:24px}
.data-list>div{grid-template-columns:1fr;gap:9px;padding:22px 0;font-size:13px}
.data-list dt{font-size:11px}
.company-message h2{font-size:28px}
.company-message .message-text{font-size:13px}
.founder{font-size:10px;align-items:center}
.founder b{font-size:20px}
.company-overview .brand{width:220px}
.coming-hero{padding:65px 0}
.coming-hero h1{font-size:66px;margin:25px 0}
.coming-hero h2{font-size:25px}
.coming-hero p{font-size:13px}
.development-status{font-size:11px}
.contact-form-panel{padding:23px 18px}
.contact-guidance h2{font-size:25px}
.form-row{grid-template-columns:1fr;gap:0}
.contact-form-panel label{font-size:12px}
.contact-form-panel input,.contact-form-panel textarea,.contact-form-panel select{font-size:16px;min-height:51px}
.contact-form-panel .button{width:100%;font-size:12px;gap:10px}
.demo-note{font-size:10px;padding:12px}
.visual-build{padding:25px}
.browser-mock{width:100%}
.build-mock>b{font-size:27px}
.build-mock-bottom span{font-size:7px}
.visual-beauty{padding:25px 26px}
.beauty-brand>b{font-size:27px}
.phone-mock{width:125px;min-width:110px}
.case-main-visual .browser-mock{width:100%}
.case-main-visual .build-mock{padding:20px}
.case-main-visual .build-mock>b{font-size:25px}
.case-main-visual .build-mock-bottom span{font-size:7px}
.case-main-visual .visual-beauty{padding:25px}
.case-main-visual .beauty-brand>b{font-size:28px}
.case-main-visual .phone-mock{width:125px;min-width:110px}
.case-main-visual .phone-mock>b{font-size:15px}
.case-main-visual .care-tip strong{font-size:9px}
.stay-card{left:25px;top:25px;bottom:25px;padding:20px}
.stay-card>b{font-size:25px}
.case-main-visual .stay-card{left:25px;top:25px;bottom:25px;padding:20px}
.case-main-visual .stay-card>b{font-size:28px}
dialog{padding:35px 25px}
dialog h2{font-size:28px}
dialog .button{font-size:12px;gap:15px;width:100%}
.note-box{padding:18px}
.note-box p{font-size:12px}
.missing-page h1{font-size:80px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important;animation:none!important}
.button:hover{transform:none}
}

.header-contact{white-space:nowrap;flex-shrink:0}

@media(max-width:360px){.header{gap:10px;padding:0 12px}
.header .brand{width:136px}
.header-contact{font-size:9px;padding:6px 8px}
.header-contact>span{display:none}
.hero h1{font-size:45px}
}

.header{background:#fff}
.intro-copy,.detail-body p,.message-text,.philosophy-copy>p,.contact-guidance p{font-size:16px}
.solution-card>p,.process-card p,.business-item p,.voice-card>p,.role-card p:not(.eyebrow),.work-card p{font-size:14px}
.solution-pitch{font-size:13px!important}

@media(max-width:560px){.intro-copy,.detail-body p,.company-message .message-text,.philosophy-copy>p,.contact-guidance p{font-size:15px}
.solution-card>p:not(.solution-pitch),.process-card p,.business-item p,.voice-card>p,.role-card p:not(.eyebrow),.work-card p{font-size:14px}
.hero-description{font-size:14px}
}

@media(max-width:360px){.section-heading h2{font-size:24px}
.brand-statement>span{display:none}
}

/* v4 — business-first editorial direction */
:root{--navy:#071c30;--blue:#227fa7;--ink:#102e42;--wrap:1280px}
.header{height:90px;gap:30px;padding:0 42px}
.header .brand{width:192px}
.desktop-nav{gap:27px}
.desktop-nav a{font-size:14px;padding:31px 0}
.header-contact{font-size:14px;min-height:46px;padding:9px 17px}
.header-contact>span{font-size:20px}
.button,.text-link{font-size:16px}
.eyebrow{font-size:13px;letter-spacing:.12em}
.hero{min-height:690px;max-height:960px;height:calc(100svh - 90px)}
.hero-content{padding-top:clamp(100px,12vh,165px)}
.hero h1{font-size:clamp(62px,6.5vw,96px);font-weight:600;line-height:1.35;letter-spacing:-.055em;margin:30px 0}
.hero .eyebrow{font-size:13px;letter-spacing:.13em}
.hero-description{font-size:17px;line-height:2}
.hero-actions{gap:32px}
.hero-actions .button{min-width:228px;padding:16px 24px}
.hero-shade{background:linear-gradient(90deg,#041321ed 0%,#061629b3 31%,#0616291a 66%),linear-gradient(0deg,#0613219c,transparent 35%)}
.hero-bottom{font-size:12px;bottom:26px;gap:26px}
.hero-bottom>a{margin-left:0;margin-right:auto}
.film-open{display:inline-flex;gap:18px;align-items:center;min-height:48px;border:0;border-bottom:1px solid #91aabc80;background:none;color:white;padding:10px 0;font-size:14px}
.film-open>span{font-size:23px}
.film-chapters{display:flex;gap:22px;margin-right:18px}
.film-chapters>span{font-size:11px;color:#a4b7c9;opacity:.65;position:relative;padding-top:13px}
.film-chapters>span:before{content:'';height:1px;position:absolute;top:0;left:0;width:100%;background:#9bb5c951}
.film-chapters>span.is-active{color:#fff;opacity:1}
.film-chapters>span.is-active:before{background:#d9f4ff}
.video-toggle{font-size:12px;min-height:44px}
.video-toggle>span{font-size:11px}
.section{padding-top:105px;padding-bottom:105px}
.section-heading h2{font-size:clamp(32px,3.7vw,49px);font-weight:600;line-height:1.5}
.heading-aside p{font-size:16px}
.section-heading{margin-bottom:50px}
.heading-aside .text-link{font-size:14px;min-width:220px}
.solution-grid{grid-template-columns:1fr 1fr;gap:22px}
.solution-card{border:1px solid var(--line);border-top:0;padding:38px;background:var(--pale)}
.solution-card.flagship{grid-column:1/-1;display:grid;grid-template-columns:1.12fr 1fr;gap:50px;padding:50px;background:var(--navy);color:#fff;border:0;position:relative;overflow:hidden}
.flagship .solution-top{margin-bottom:28px}
.flagship .solution-top>span{font-size:13px;letter-spacing:.05em;color:#a3d7ed}
.flagship .solution-top>small{font-size:12px;color:#8da8bd}
.flagship h3{font-size:clamp(32px,3.2vw,44px);letter-spacing:-.055em;line-height:1.5;font-weight:600}
.flagship h3>span{font-size:17px;display:block;margin-top:10px;letter-spacing:.015em;font-weight:500}
.flagship-copy>p{font-size:16px;color:#bbcfdd;line-height:2;margin:26px 0 28px}
.flagship .service-link{font-size:15px;max-width:290px;border-color:#607f976b;padding-top:20px}
.flagship-capabilities{border-left:1px solid #55728777;padding-left:43px;display:flex;flex-direction:column;justify-content:center}
.flagship-capabilities>.eyebrow{font-size:12px;color:#85c5e2;margin-bottom:21px}
.flagship-capabilities>div{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.flagship-capabilities>div>span{font-size:15px;line-height:1.7;padding:12px 0;border-bottom:1px solid #587a9061;display:flex;flex-direction:column;gap:4px}
.flagship-capabilities small{font-size:12px;color:#86a5bb}
.flagship-capabilities>p:last-child{font-size:13px;color:#8aa7bc;margin-top:21px}
.solution-card.secondary{padding:36px 38px;display:flex;flex-direction:column}
.secondary .solution-top{display:flex;margin-bottom:22px}
.secondary .solution-top>span{font-size:22px}
.secondary .solution-top>small{font-size:12px}
.secondary h3{font-size:31px}
.secondary .solution-pitch{font-size:16px!important;margin:7px 0 18px!important}
.secondary>p:not(.solution-pitch){font-size:16px!important;line-height:2;margin-bottom:22px}
.tag-list span{font-size:12px;padding:4px 9px;background:#e4edf2}
.service-link{font-size:14px}
.status-label{font-size:12px}
.coming-banner{gap:40px;margin-top:34px;padding-top:30px}
.coming-banner p,.coming-banner p span{font-size:14px}
.coming-banner .text-link{font-size:14px}
.coming-name h3{font-size:31px}
.portfolio-section{padding:85px 0;background:#eef3f6}
.portfolio-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.portfolio-inner h2{font-size:33px;font-weight:600;line-height:1.7;margin:23px 0}
.portfolio-inner p:not(.eyebrow){font-size:16px;line-height:2;margin-bottom:22px}
.portfolio-list>a{display:flex;align-items:center;gap:22px;padding:23px 0;border-bottom:1px solid #bdced9}
.portfolio-list>a:first-child{border-top:1px solid #bdced9}
.portfolio-list>a>span{font-size:12px;color:var(--blue)}
.portfolio-list h3{font-size:23px;font-weight:500}
.portfolio-list small{font-size:12px;color:#8096a5;letter-spacing:.09em}
.portfolio-list b{margin-left:auto;font-size:22px;color:var(--blue);font-weight:400}
.work-card h3{font-size:28px;font-weight:600;line-height:1.6}
.work-card p{font-size:16px}
.work-meta{font-size:12px}
.work-preview-row .text-link{font-size:14px}
.source-note{font-size:12px}
.voice-card{padding:36px}
.voice-top{font-size:13px}
.voice-top>small{font-size:12px}
.voice-card h3{font-size:28px;font-weight:600}
.voice-card>p{font-size:16px}
.voice-person{font-size:12px}
.voice-person .text-link{font-size:12px}
.company-gateway{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.company-gateway h2{font-size:37px;line-height:1.7;font-weight:600;margin:25px 0 21px}
.company-gateway p:not(.eyebrow){font-size:16px;line-height:2}
.company-gateway-links>a{display:block;border-top:1px solid var(--line);padding:26px 50px 29px 0;position:relative}
.company-gateway-links>a:last-child{border-bottom:1px solid var(--line)}
.company-gateway-links span{font-size:12px;letter-spacing:.1em;color:var(--blue)}
.company-gateway-links h3{font-size:24px;font-weight:500;margin-top:8px}
.company-gateway-links b{position:absolute;right:0;top:40%;font-size:25px;font-weight:400;color:var(--blue)}
.film-dialog{width:min(1120px,calc(100% - 48px));max-width:1120px;background:#061526;color:#fff;padding:20px 24px 16px}
.film-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.film-dialog-head h2{font-size:16px;margin:0;font-weight:500;letter-spacing:.04em}
.film-close{height:44px;width:44px;font-size:27px;border:1px solid #647b8e;background:none;color:#fff}
.film-dialog video{display:block;width:100%;aspect-ratio:16/9;background:#061526}
.film-dialog>p{font-size:12px!important;color:#93b0c5;line-height:1.7;margin-top:14px}
.footer-links{font-size:14px}
.footer-links small{font-size:12px}
.footer-bottom{font-size:12px}
.footer-top>div>p{font-size:14px}
.contact-section p:not(.eyebrow){font-size:16px}
@media(max-width:1200px){.header{padding:0 28px;gap:24px}
.header .brand{width:174px}
.desktop-nav{gap:19px}
.desktop-nav a{font-size:13px}
.header-contact{font-size:13px}
.solution-card.flagship{padding:40px;gap:36px}
.flagship-capabilities{padding-left:32px}
.flagship h3{font-size:35px}
.portfolio-inner,.company-gateway{gap:55px}
.film-chapters{gap:18px}
.hero h1{font-size:79px}
}
@media(max-width:1050px){.header{height:80px}
.hero{height:calc(100svh - 80px)}
.desktop-nav{display:none}
.header .brand{width:180px}
.header-contact{margin-left:auto}
.hero h1{font-size:72px}
.hero-content{padding-top:110px}
.hero .eyebrow{font-size:12px}
.solution-card.flagship{grid-template-columns:1fr;gap:30px}
.flagship-capabilities{padding:28px 0 0;border-left:0;border-top:1px solid #55728777}
.flagship-capabilities>div{grid-template-columns:repeat(3,1fr)}
.flagship h3{font-size:40px}
.film-chapters{display:none}
.hero-bottom>a{font-size:11px}
.coming-banner{gap:20px}
.coming-banner p{font-size:13px}
.coming-banner .text-link{font-size:13px}
.portfolio-inner h2,.company-gateway h2{font-size:30px}
.portfolio-list h3{font-size:21px}
.section-heading h2{font-size:40px}
.voice-card h3{font-size:25px}
}
@media(max-width:800px){.section{padding-top:75px;padding-bottom:75px}
.header-contact{font-size:12px;min-height:43px}
.hero{min-height:690px}
.hero h1{font-size:65px}
.hero-description{font-size:16px}
.hero-actions .button{font-size:15px;min-width:210px}
.film-open{font-size:13px}
.hero-content{padding-top:105px}
.section-heading{display:block}
.section-heading h2{font-size:35px}
.heading-aside{max-width:100%;margin-top:25px}
.heading-aside p{font-size:16px}
.solution-card.secondary{padding:30px;display:flex}
.secondary h3{font-size:28px}
.secondary .solution-top>small{font-size:11px}
.secondary .solution-pitch{font-size:14px!important}
.secondary>p:not(.solution-pitch){font-size:15px!important}
.solution-card.secondary .tag-list{margin:0 0 23px}
.solution-card.secondary .service-link{margin-top:auto}
.portfolio-section{padding:70px 0}
.portfolio-inner,.company-gateway{grid-template-columns:1fr;gap:40px}
.portfolio-inner h2,.company-gateway h2{font-size:32px}
.portfolio-list h3{font-size:24px}
.portfolio-list>a{padding:22px 0}
.work-card h3{font-size:24px}
.work-card p{font-size:16px}
.voice-card{padding:28px}
.voice-card h3{font-size:24px}
.voice-card>p{font-size:16px}
.voice-top>small{font-size:11px}
.footer-links{font-size:13px}
.company-gateway-links h3{font-size:25px}
}
@media(max-width:560px){.header{height:76px;padding:0 16px;gap:12px}
.header .brand{width:151px}
.header-contact{font-size:12px;gap:8px;min-height:42px;padding:8px 12px}
.header-contact>span{display:none}
.menu-button{width:31px;min-width:31px}
.mobile-nav{top:76px;max-height:calc(100dvh - 76px)}
.hero{height:calc(100svh - 76px);min-height:675px;max-height:820px}
.hero-content{padding-top:103px}
.hero h1{font-size:53px;line-height:1.5;margin:24px 0}
.hero .eyebrow{font-size:11px;letter-spacing:.06em}
.hero-description{font-size:16px;line-height:2}
.hero-video{opacity:.86;object-position:65%}
.hero-shade{background:linear-gradient(90deg,#041323db,#04132362),linear-gradient(0deg,#05162bba,transparent 70%)}
.hero-actions{gap:16px;margin-top:31px}
.hero-actions .button{font-size:14px;min-height:54px;padding:14px 20px;min-width:228px}
.film-open{font-size:14px;min-height:45px}
.film-open>span{font-size:21px}
.hero-bottom{bottom:21px;gap:12px}
.hero-bottom>a{font-size:10px;max-width:130px;line-height:1.6}
.video-toggle{font-size:12px;min-height:42px;padding:8px 10px;gap:10px}
.video-toggle>span{font-size:11px}
.section{padding-top:65px;padding-bottom:65px}
.section-heading{margin-bottom:33px}
.section-heading h2{font-size:30px;line-height:1.65;margin-top:20px}
.eyebrow{font-size:12px}
.eyebrow>span{margin-right:12px}
.heading-aside p{font-size:16px}
.heading-aside .text-link{font-size:14px;min-width:240px}
.solution-grid{grid-template-columns:1fr;gap:18px}
.solution-card.flagship{padding:30px 24px;gap:25px}
.flagship h3{font-size:35px;line-height:1.4}
.flagship h3>span{font-size:15px;line-height:1.8;margin-top:16px}
.flagship .solution-top{display:block;margin-bottom:27px}
.flagship .solution-top>span{font-size:12px}
.flagship .solution-top>small{display:block;font-size:11px;margin-top:7px}
.flagship-copy>p{font-size:16px;line-height:2;margin:21px 0 25px}
.flagship .service-link{font-size:14px;max-width:100%;padding-top:18px}
.flagship-capabilities{padding-top:24px}
.flagship-capabilities>.eyebrow{font-size:12px;margin-bottom:9px}
.flagship-capabilities>div{grid-template-columns:1fr 1fr;gap:8px 16px}
.flagship-capabilities>div>span{font-size:14px;padding:13px 0}
.flagship-capabilities>p:last-child{font-size:12px;margin-top:18px}
.solution-card.secondary{padding:30px 24px}
.secondary .solution-top>small{font-size:11px}
.secondary h3{font-size:29px}
.secondary .solution-pitch{font-size:15px!important}
.secondary>p:not(.solution-pitch){font-size:16px!important}
.tag-list span{font-size:12px}
.service-link{font-size:14px}
.coming-banner{gap:15px}
.status-label{font-size:11px}
.coming-banner p,.coming-banner p span{font-size:14px;line-height:1.9}
.coming-banner .text-link{font-size:14px}
.coming-name{display:block}
.coming-name h3{margin-top:6px}
.portfolio-section{padding:60px 0}
.portfolio-inner{gap:29px}
.portfolio-inner h2{font-size:28px;line-height:1.75;margin:23px 0 18px}
.portfolio-list h3{font-size:21px}
.portfolio-list>a{gap:19px;padding:22px 0}
.portfolio-list small{font-size:11px}
.work-card h3{font-size:25px}
.work-meta{font-size:12px;letter-spacing:0}
.work-meta i{margin:0 5px}
.work-card p{font-size:16px}
.work-preview-row .text-link{font-size:14px}
.source-note{font-size:12px}
.voice-card h3{font-size:25px}
.voice-top{font-size:12px}
.voice-top>small{font-size:11px}
.voice-card>p{font-size:16px}
.voice-person{font-size:12px;flex-wrap:wrap;gap:12px}
.voice-person .text-link{font-size:12px}
.company-gateway{gap:35px}
.company-gateway h2{font-size:29px;line-height:1.75}
.company-gateway-links h3{font-size:23px}
.company-gateway-links>a{padding:23px 40px 24px 0}
.film-dialog{width:calc(100% - 22px);padding:14px}
.film-dialog-head{gap:10px;margin-bottom:12px}
.film-dialog-head h2{font-size:14px}
.film-close{height:38px;width:38px}
.film-dialog>p{font-size:12px!important}
.contact-section p:not(.eyebrow){font-size:16px}
.footer-links{font-size:14px}
.footer-links small{font-size:11px}
.footer-bottom{font-size:11px}
}
@media(max-width:360px){.header{padding:0 12px;gap:10px}
.header .brand{width:136px}
.header-contact{font-size:11px;padding:7px 9px}
.hero h1{font-size:47px}
.hero .eyebrow{font-size:10px}
.hero-description{font-size:15px}
.section-heading h2{font-size:26px}
.flagship h3{font-size:32px}
.voice-card{padding:23px}
}
/* Shared secondary pages and company / careers hierarchy */
.page-intro{padding-bottom:65px}
.page-intro h1{font-size:47px;font-weight:600;line-height:1.6}
.intro-copy{font-size:17px}
.breadcrumb{font-size:12px;margin-bottom:57px}
.company-subnav{display:flex;gap:45px;padding:23px 0;border-bottom:1px solid var(--line)}
.company-subnav>a{font-size:14px;color:var(--muted);padding:5px 0}
.company-subnav>a:hover{color:var(--blue)}
.company-message h2{font-size:41px;font-weight:600}
.company-message .message-text{font-size:17px}
.founder{font-size:13px}
.company-profile-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:90px}
.company-profile-grid h2{font-size:41px;font-weight:600;margin-top:23px}
.company-logo{width:270px;background:#fff;padding:12px;margin-top:40px}
.data-list>div{font-size:16px;grid-template-columns:130px 1fr;padding:25px 0}
.data-list dt{font-size:14px}
.roles-grid{gap:22px}
.role-card{padding:33px}
.role-card .eyebrow{font-size:12px}
.role-card h3{font-size:26px;font-weight:600}
.role-card p:not(.eyebrow){font-size:16px}
.role-card .text-link{font-size:14px}
.careers-culture{display:grid;grid-template-columns:1fr 1.35fr;gap:60px;padding:48px 0;border-bottom:1px solid var(--line);margin:15px 0 39px}
.careers-culture h3{font-size:29px;line-height:1.7;font-weight:500}
.careers-culture>p{font-size:16px;line-height:2}
.careers-flow{margin-bottom:34px}
.careers-flow ol{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;padding:0;margin:27px 0}
.careers-flow li{border-top:2px solid #bdced9;padding:22px 0}
.careers-flow li>span{display:block;font-size:13px;color:var(--blue);margin-bottom:9px}
.careers-flow strong{display:block;font-size:18px;font-weight:500;margin-bottom:10px}
.careers-flow li>p{font-size:16px;line-height:1.9}
.sample-note{font-size:14px}
.sample-note strong{font-size:12px}
.detail-body p,.detail-aside dd,.number-list li,.process-card p,.business-item p,.contact-guidance p,.contact-form-panel label{font-size:16px}
.detail-aside dt{font-size:12px}
.process-card h3{font-size:23px}
.process-card .eyebrow{font-size:12px}
.business-item h3{font-size:28px}
.business-item .text-link{font-size:14px}
.filter-button{font-size:14px;min-height:46px}
.result-count{font-size:13px}
.note-box p{font-size:14px}
.note-box strong{font-size:12px}
.dialog-close{width:44px;height:44px}
.demo-note{font-size:13px}
.contact-form-panel input,.contact-form-panel select,.contact-form-panel textarea{font-size:16px}
.contact-form-panel label>span{font-size:12px}
.coming-hero p{font-size:16px}
.development-status{font-size:14px}
@media(max-width:1050px){.company-profile-grid{gap:55px}
.roles-grid{grid-template-columns:1fr}
.role-card{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.role-card .eyebrow{grid-column:1/-1}
.role-card .text-link{grid-column:1/-1;margin-top:10px}
.company-logo{width:220px}
.role-card p:not(.eyebrow){align-self:center}
.company-message h2{font-size:35px}
.company-profile-grid h2{font-size:36px}
.page-intro h1{font-size:42px}
}
@media(max-width:800px){.company-profile-grid{grid-template-columns:1fr;gap:28px}
.company-logo{margin-top:25px}
.careers-culture{gap:35px}
.careers-culture h3{font-size:26px}
.careers-flow ol{gap:20px}
.company-message{gap:35px}
.page-intro h1{font-size:40px}
.intro-copy{font-size:16px}
.company-message .message-text{font-size:16px}
.founder{font-size:12px}
.data-list>div{grid-template-columns:130px 1fr}
.sample-note{font-size:13px}
}
@media(max-width:560px){.page-intro{padding-bottom:38px}
.page-intro h1{font-size:33px;line-height:1.6}
.intro-copy{font-size:16px}
.breadcrumb{font-size:12px;line-height:1.8;margin-bottom:37px}
.company-subnav{gap:0;justify-content:space-between;padding:18px 0}
.company-subnav>a{font-size:14px}
.company-message h2{font-size:32px}
.company-profile-grid h2{font-size:31px}
.company-logo{width:220px;padding:8px}
.data-list>div{grid-template-columns:1fr;gap:9px;font-size:16px;padding:23px 0}
.data-list dt{font-size:13px}
.role-card{display:flex;padding:29px 25px;gap:0}
.role-card h3{font-size:27px;margin:23px 0 12px}
.role-card .text-link{margin-top:22px}
.role-card .eyebrow{font-size:12px}
.careers-culture{grid-template-columns:1fr;gap:19px;padding:34px 0;margin:4px 0 32px}
.careers-culture h3{font-size:27px}
.careers-flow ol{grid-template-columns:1fr;gap:6px}
.careers-flow li{padding:20px 0}
.careers-flow strong{font-size:20px}
.company-careers>.button{font-size:14px;width:100%;gap:15px}
.sample-note{font-size:13px;padding:20px}
.number-list li{font-size:16px;gap:15px}
.detail-aside dd{font-size:16px}
.detail-body p{font-size:16px}
.detail-body h2{font-size:27px}
.process-card p,.business-item p,.contact-guidance p{font-size:16px}
.process-card h3{font-size:23px}
.business-item h3{font-size:25px}
.filter-button{font-size:14px;padding:10px 14px}
.result-count{font-size:13px}
.note-box p{font-size:14px}
.contact-form-panel label{font-size:14px}
.demo-note{font-size:13px}
.coming-hero p{font-size:16px}
.development-status{font-size:14px}
}
.film-chapters>span,.secondary .solution-top>small,.status-label,.voice-top>small,.footer-links small,.film-dialog>p{font-size:12px}
.video-toggle{font-size:14px}
.video-toggle>span{font-size:12px}
.visual-note{font-size:12px}
.visual-editorial>small,.visual-editorial>span{font-size:12px}
@media(max-width:560px){.hero .eyebrow{font-size:12px}
.flagship .solution-top>small,.flagship-capabilities>p:last-child,.portfolio-list small,.voice-top>small,.status-label,.footer-links small{font-size:12px}
.video-toggle{font-size:14px}
.video-toggle>span{font-size:12px}
.visual-note,.case-main-visual .visual-note{font-size:12px}
.visual-editorial>small,.visual-editorial>span,.case-main-visual .visual-editorial>small,.case-main-visual .visual-editorial>span{font-size:12px}
}

/* Film revision: keep the complete composition visible at every viewport. */
.hero.hero-film-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:0 4%;height:auto;min-height:640px;max-height:none;padding:70px max(28px,calc((100% - 1380px)/2)) 24px;overflow:visible;background:#061525}
.hero-film-layout .hero-content{grid-column:1;grid-row:1;width:auto;padding:0;margin:0;max-width:none}
.hero-film-layout h1{font-size:clamp(43px,4.7vw,73px);line-height:1.4;margin:20px 0}
.hero-film-layout .hero-actions{flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.hero-film-stage{grid-column:2;grid-row:1;aspect-ratio:16/9;min-width:0;position:relative;overflow:hidden;border:1px solid #bfd6ea29;border-radius:8px;background:#051322;box-shadow:0 20px 65px #0005}
.hero-film-layout .hero-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:1;z-index:0}
.hero-film-layout .hero-bottom{position:static;grid-column:1/-1;width:100%;margin:40px 0 0;flex-wrap:wrap;gap:20px}
.hero-film-layout .hero-bottom>a{margin-left:0;margin-right:auto;font-size:12px}
.hero-film-layout .film-chapters{margin-right:0}
.hero-film-layout .video-toggle{min-height:44px}
.film-dialog{box-sizing:border-box;width:min(1180px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:18px;border:1px solid #60758c}
.film-dialog-head{position:relative;margin-bottom:12px}
.film-dialog video{width:100%;height:auto;max-height:calc(100dvh - 160px);aspect-ratio:16/9;object-fit:contain}
.film-dialog video[data-layout="portrait"]{aspect-ratio:4/5;max-width:calc((100dvh - 160px)*.8);margin:auto}
.film-dialog .film-close{min-height:44px;min-width:44px;flex-shrink:0}
@media(max-width:1050px){.hero.hero-film-layout{padding:48px 28px 24px;min-height:550px;gap:0 24px}.hero-film-layout h1{font-size:45px}.hero-film-layout .hero-description{font-size:15px}.hero-film-layout .hero-actions .button{min-width:0}}
@media(max-width:700px){.hero.hero-film-layout{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:32px 20px 22px;gap:0}.hero-film-layout .hero-content{order:0}.hero-film-layout h1{font-size:clamp(40px,10.2vw,58px);line-height:1.32;margin:16px 0}.hero-film-layout .hero-description{font-size:15px;line-height:1.85}.hero-film-layout .hero-actions{margin:20px 0 26px;gap:8px 18px}.hero-film-layout .hero-actions .button{min-width:0;min-height:48px;padding:12px 16px}.hero-film-stage{order:1;width:100%;aspect-ratio:16/9;border-radius:5px}.hero-film-layout .hero-bottom{order:2;margin:16px 0 0;gap:12px}.hero-film-layout .hero-bottom>a{max-width:none;font-size:10px}.film-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);padding:12px}.film-dialog video{max-height:calc(100dvh - 155px)}.film-dialog video[data-layout="portrait"]{max-width:calc((100dvh - 155px)*.8)}.film-dialog-head h2{font-size:13px}}
@media(max-width:700px) and (orientation:portrait){.hero-film-stage[data-portrait="true"]{aspect-ratio:4/5}}
@media(max-height:500px) and (orientation:landscape){.film-dialog{padding:8px}.film-dialog-head{margin:0}.film-dialog>p{display:none}.film-dialog video{max-height:calc(100dvh - 76px)}}

/* Browser-rendered film with BGM and captions. */
.hero-film-poster,.hero-film-poster img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.hero-film-frame{position:absolute;inset:0;border:0;width:100%;height:100%;opacity:0;pointer-events:none}.hero-film-stage.is-ready .hero-film-frame{opacity:1}.hero-film-stage.is-ready .hero-film-poster{visibility:hidden}.film-player-frame{display:block;width:100%;height:min(76dvh,790px);border:0;background:#071421}.film-dialog{max-height:calc(100dvh - 20px)}.film-dialog>p{margin:10px 0 0}.film-player-frame[data-layout=portrait]{height:min(78dvh,860px)}@media(max-width:700px){.film-dialog{padding:10px}.film-player-frame{height:calc(100dvh - 140px)}.film-player-frame[data-layout=portrait]{height:calc(100dvh - 140px)}.film-dialog>p{font-size:11px!important;line-height:1.5}}@media(max-height:500px) and (orientation:landscape){.film-player-frame{height:calc(100dvh - 78px)}.film-dialog{padding:6px}.film-dialog>p{display:none}}

/* Compact film controls. */
.hero-film-layout .film-open{justify-content:center;width:48px;min-width:48px;min-height:48px;padding:0;border:0;border-radius:50%}
.hero-film-layout .film-open>span{font-size:25px;line-height:1}
.hero-film-layout .film-open:hover{background:#ffffff12}
.hero-film-layout .film-open:focus-visible{outline:2px solid #91caff;outline-offset:4px}
.hero-film-layout .video-toggle{justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0}
.hero-film-layout .video-toggle>span{border:0;padding:0;color:inherit;font-size:18px;line-height:1}
.film-dialog-head{justify-content:flex-end}

/* Controls are in the movie, next to one another. */
.hero-film-stage .hero-film-frame{pointer-events:auto}

/* Case study content: two service tracks, traceable results and AI use cases. */
.work-directory{padding-bottom:30px}
.work-category-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.work-category-nav>a{display:block;padding:34px 36px;background:#edf3f7;border:1px solid #d6e2e9;border-radius:6px}
.work-category-nav>a:first-child{background:var(--navy);border-color:var(--navy);color:#fff}
.work-category-nav small{font-size:12px;letter-spacing:.1em;color:#347e9f}
.work-category-nav>a:first-child small{color:#9ccde2}
.work-category-nav h2{font-size:27px;line-height:1.5;margin:18px 0 14px}
.work-category-nav p{font-size:16px;line-height:1.9;max-width:36em}
.work-category-nav>a>span{display:inline-block;font-size:14px;font-weight:600;border-bottom:1px solid currentColor;padding:7px 0;margin-top:18px}
.work-track,.case-jump~.detail-grid section[id],.ai-use-card{scroll-margin-top:115px}
.case-card-proof{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px;margin:22px 0 5px;border-top:1px solid #dce6ec;padding-top:17px}
.case-card-proof>strong{font-family:Manrope,sans-serif;font-size:25px;color:var(--blue);letter-spacing:-.035em}
.case-card-proof>span{font-size:13px;color:var(--ink)}
.case-card-proof small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.consulting-list{border-top:1px solid #cbdbe5}
.consulting-case{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:28px;align-items:center;padding:32px 0;border-bottom:1px solid #cbdbe5}
.consulting-number{align-self:start;font:500 24px Manrope,sans-serif;color:#377da0}
.consulting-case .eyebrow{font-size:13px;margin-bottom:10px}
.consulting-case h3{font-size:24px;line-height:1.6;margin:0 0 10px}
.consulting-case p:not(.eyebrow){font-size:16px;line-height:1.9;max-width:760px;color:var(--muted)}
.consulting-more{font-size:14px;white-space:nowrap;border-bottom:1px solid currentColor;padding:8px 0}
.consulting-case:hover h3{color:var(--blue)}
.case-jump{display:flex;flex-wrap:wrap;gap:10px 24px;border-bottom:1px solid var(--line);padding:22px 0 16px}
.case-jump a{display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--blue);border-bottom:2px solid #9bbdcd;padding:0 2px}
.enriched-case>section{margin-bottom:64px}
.enriched-case h2{font-size:28px;line-height:1.65}
.enriched-case .case-section-lead{font-size:16px;line-height:2;margin-bottom:22px}
.case-steps{padding:0;margin:0;list-style:none}
.case-steps>li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:18px;padding:23px 0;border-top:1px solid #dce6ec}
.case-steps>li>span{font:500 17px Manrope,sans-serif;color:#377da0;padding-top:4px}
.enriched-case .case-steps h3{font-size:20px;line-height:1.6;margin:0 0 10px}
.enriched-case .case-steps p{font-size:16px;line-height:1.95;margin:0}
.case-flow{background:#edf4f8;border-radius:5px;padding:24px;margin:20px 0 0}
.enriched-case .case-flow .eyebrow{font-size:12px;margin:0 0 14px;color:#347996}
.case-flow ol{padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none}
.case-flow li{font-size:14px;line-height:1.7;display:flex;gap:10px}
.case-flow small{font:500 13px Manrope,sans-serif;color:#467f98;padding-top:4px}
.case-result-group{margin:30px 0}
.result-heading{display:flex;flex-direction:column;gap:4px;margin:0 0 16px}
.enriched-case .result-heading h3{font-size:20px;margin:0;line-height:1.6}
.result-heading>span{font-size:13px;color:var(--muted)}
.case-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.case-metrics>div{padding:22px;background:#f1f5f7;min-width:0;border-top:2px solid #8fb9cd}
.case-metrics dt{font-size:13px;color:#516e7f;margin-bottom:12px}
.case-metrics dd{margin:0;color:#164e6a;font:600 clamp(20px,2.05vw,28px)/1.5 Manrope,sans-serif;overflow-wrap:anywhere}
.enriched-case p.metric-note{font-size:12px;line-height:1.85;color:#647c8c;margin:12px 0 0}
.case-source-note{border-top:1px solid var(--line);padding-top:22px}
.case-source-note strong{font-size:14px;color:var(--blue)}
.enriched-case .case-source-note p{font-size:13px;line-height:1.9;color:var(--muted);margin:9px 0}
.ai-case-banner{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px;background:#edf3f7;border-radius:6px}
.ai-case-banner h2{font-size:27px;line-height:1.6;margin:14px 0}
.ai-case-banner p:not(.eyebrow):not(.source-note){font-size:16px;line-height:1.9}
.ai-case-banner>.button{flex-shrink:0}
.ai-use-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ai-use-card{background:#fff;border:1px solid #dce6ec;border-top:3px solid #75a9bf;padding:30px 32px;display:flex;flex-direction:column;min-width:0}
.ai-use-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:#397693;font-size:12px}
.ai-use-top small{font-size:12px;padding:2px 7px;background:#eaf2f6;color:#526f7f}
.ai-use-card h3{font-size:23px;line-height:1.65;margin:23px 0 14px}
.ai-use-card>p{font-size:16px;line-height:1.95;margin:0 0 18px}
.ai-use-problem{color:var(--muted)}
.ai-role-list{margin:0}
.ai-role-list>div{border-top:1px solid var(--line);padding:17px 0}
.ai-role-list dt{font-size:14px;font-weight:600;color:#316e8b;margin-bottom:8px}
.ai-role-list dd{margin:0;font-size:16px;line-height:1.9}
.ai-use-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;list-style:none;padding:20px 0;margin:0}
.ai-use-flow li{display:flex;gap:9px;font-size:14px;line-height:1.7}
.ai-use-flow small{font:600 13px Manrope,sans-serif;color:#4f8aa5;padding-top:4px}
.ai-use-card>.ai-use-aim{margin-top:auto;margin-bottom:0;padding-top:18px;border-top:1px solid var(--line);font-weight:600;color:#245a75}
.ai-use-card>.text-link{align-self:flex-start;margin-top:20px}
.ai-use-cta{margin-top:30px}
@media(min-width:901px){.enriched-case{min-width:0}.detail-aside{align-self:start}}
@media(max-width:900px){.consulting-case{grid-template-columns:32px minmax(0,1fr);gap:18px}.consulting-more{grid-column:2;justify-self:start}.ai-case-banner{align-items:flex-start;flex-direction:column}.work-category-nav>a{padding:28px}.case-metrics dd{font-size:25px}}
@media(max-width:700px){.work-category-nav,.ai-use-grid{grid-template-columns:1fr}.work-category-nav h2{font-size:24px}.ai-use-card{padding:25px 22px}.ai-use-card h3{font-size:22px}.ai-use-top{font-size:12px}.consulting-case h3{font-size:22px}.consulting-number{font-size:20px}.case-jump{gap:6px 18px}.case-jump a{font-size:13px}.case-steps>li{grid-template-columns:25px minmax(0,1fr);gap:12px}.enriched-case h2{font-size:25px}.case-flow{padding:20px}.case-metrics{grid-template-columns:1fr}.case-metrics>div{padding:20px}.case-metrics dd{font-size:27px}.case-card-proof{gap:8px 14px}.case-card-proof>strong{font-size:24px}.ai-case-banner{padding:25px}.ai-case-banner h2{font-size:24px}.enriched-case>section{margin-bottom:50px}.work-directory{padding-bottom:0}}

/* v12: compact case directory, concrete support and product-design scenarios. */
.service-name{display:inline-block;white-space:nowrap}
.cases-intro,.study-intro{padding-top:28px;padding-bottom:0}
.cases-intro .breadcrumb,.study-intro .breadcrumb{margin:0 0 28px;font-size:12px;line-height:1.8;gap:10px}
.cases-intro>.eyebrow{margin-bottom:12px}
.cases-intro h1{font-size:42px;font-weight:600;line-height:1.4;letter-spacing:-.025em}
.cases-lead{font-size:23px;font-weight:500;line-height:1.65;color:var(--ink);margin-top:18px;word-break:keep-all;overflow-wrap:break-word}
.cases-intro-copy{max-width:770px;font-size:16px;line-height:1.95;margin-top:12px}
.case-category-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.case-category-nav>a{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:48px;padding:10px 23px;font-size:14px;font-weight:600;border:1px solid #c8dce7;border-radius:3px;background:#f3f7fa;white-space:nowrap}
.case-category-nav>a:first-child{background:var(--navy);color:#fff;border-color:var(--navy)}
.case-category-nav>a>span{font-size:12px;font-weight:400;opacity:.75}
.case-category-nav>a:hover{border-color:#227fa7;color:#227fa7;background:#fff}
.cases-section{padding-top:54px;padding-bottom:64px;scroll-margin-top:110px}
.cases-tint{background:#f1f5f8;border-top:1px solid #e1eaf0;border-bottom:1px solid #e1eaf0}
.cases-section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:16px}
.cases-section-heading h2{font-size:30px;line-height:1.65;font-weight:600;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:break-word}
.cases-section-heading .eyebrow{margin-bottom:10px}
.case-period-badge{display:inline-block;background:#eef4f8;color:#4a687c;padding:7px 12px;font-size:12px;line-height:1.6;flex-shrink:0;border:1px solid #d9e5ed;border-radius:2px}
.cases-section-copy{font-size:15px;line-height:1.95;max-width:920px;margin-bottom:25px}
.case-directory{border-top:1px solid #cfdde7}
.case-teaser{display:flex;flex-direction:column;min-width:0;background:#fff}
.case-photo{position:relative;margin:0;aspect-ratio:1.6;overflow:hidden;background:#e1eaf0;min-width:0}
.case-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.case-photo figcaption{position:absolute;right:10px;bottom:10px;background:#0b2438bd;color:#fff;padding:3px 8px;font-size:12px;line-height:1.7;border-radius:2px}
.case-teaser:hover .case-photo img{transform:scale(1.025)}
.case-teaser-copy{min-width:0;padding:24px 0 0;display:flex;flex-direction:column;flex:1}
.case-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:12px}
.case-meta>span{font-size:14px;color:var(--blue);font-weight:600;line-height:1.7}
.case-meta>small{font-size:12px;color:var(--muted);line-height:1.7;padding-left:14px;border-left:1px solid #c7d7e1}
.case-teaser h3{font-size:24px;line-height:1.65;font-weight:600;letter-spacing:-.025em;text-wrap:pretty;line-break:strict}
.case-teaser-copy>p:not(.case-metric-period){font-size:16px;line-height:1.9;margin-top:10px}
.case-tags{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.case-tags li{font-size:12px;line-height:1.6;color:#557387;background:#eef4f8;padding:5px 9px}
.case-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0 0;padding:16px 0 0;border-top:1px solid #dce6ed}
.case-highlights>div{min-width:0}
.case-highlights dt{font-size:13px;color:#597485;line-height:1.7;margin-bottom:5px}
.case-highlights dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;margin:0;font-size:28px;letter-spacing:-.03em;line-height:1.5;font-weight:500}
.case-highlights dd>span{white-space:nowrap}
.case-highlights dd>i{font-size:19px;font-weight:400;font-style:normal;color:var(--muted)}
.case-highlights>div>p,.case-metric-period{font-size:12px!important;line-height:1.8!important;color:var(--muted);margin-top:7px!important}
.case-teaser-link{display:block;border-bottom:1px solid #b8cdda;color:var(--blue);font-size:14px;font-weight:600;align-self:flex-start;padding:10px 0 7px;margin-top:11px;min-height:44px}
.case-directory>.case-teaser{display:grid;grid-template-columns:34% minmax(0,1fr);gap:34px;align-items:start;padding:30px 0;border-bottom:1px solid #cfdde7}
.case-directory .case-teaser-copy{padding:0}
.case-directory .case-photo{aspect-ratio:1.4}
.case-directory .case-highlights{max-width:640px}
.case-directory .case-teaser h3{font-size:25px}
.case-footnote{font-size:12px;line-height:1.9;margin-top:22px;color:var(--muted);max-width:960px}
.case-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--blue);border-bottom:1px solid #b5cbd8;line-height:1.8;padding:8px 0}
.consulting-scope{display:grid;grid-template-columns:1fr 1.6fr;gap:65px;margin-top:60px;padding:40px;background:var(--pale)}
.consulting-scope h2{font-size:28px;font-weight:600;line-height:1.6;margin:13px 0;word-break:keep-all;overflow-wrap:break-word}
.consulting-scope>div>p:not(.eyebrow){font-size:15px;line-height:1.9}
.consulting-scope ol{list-style:none;padding:0;margin:0}
.consulting-scope li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid #d4e1e9}
.consulting-scope li:first-child{padding-top:0}.consulting-scope li:last-child{border-bottom:0;padding-bottom:0}
.consulting-scope li>span{font-size:12px;color:var(--blue);padding-top:4px}
.consulting-scope h3{font-size:18px;font-weight:600;line-height:1.7;margin-bottom:7px}
.consulting-scope li p{font-size:15px;line-height:1.95}
.case-ai-feature{margin-top:25px}
.case-ai-feature>.case-teaser{display:grid;grid-template-columns:39% minmax(0,1fr);gap:34px;padding:28px;background:#fff;align-items:center}
.case-ai-feature .case-teaser-copy{padding:0}
.case-ai-feature .case-photo{aspect-ratio:1.15}
.case-ai-feature .case-teaser h3{font-size:28px;word-break:keep-all;overflow-wrap:break-word}
.case-disciplines{display:grid;grid-template-columns:190px 1fr auto;align-items:start;gap:28px;padding-top:28px;margin-top:30px;border-top:1px solid #d3e1eb}
.case-disciplines h3{font-size:16px;font-weight:600;line-height:1.9}
.case-disciplines p{font-size:15px;line-height:1.95}
.case-disciplines a{white-space:nowrap;padding-top:0}
.case-teaser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;margin-top:27px}
.case-teaser-grid .case-teaser{border:1px solid #dce6ec}
.case-teaser-grid .case-teaser-copy{padding:24px}
.case-teaser-grid .case-teaser-link{margin-top:auto;padding-top:18px}
.case-teaser-grid .case-metric-period,.case-teaser-grid .case-tags{margin-bottom:16px}
.study-intro>.case-meta{margin-bottom:20px}
.study-hero{display:grid;grid-template-columns:1.18fr 1fr;gap:55px;align-items:center}
.study-hero>div{min-width:0}
.study-hero h1{font-size:36px;font-weight:600;line-height:1.65;letter-spacing:-.03em;text-wrap:pretty;line-break:strict}
.study-hero>div>p:not(.case-footnote):not(.case-metric-period){font-size:16px;line-height:1.95;margin-top:16px}
.study-hero .case-photo{aspect-ratio:1.27}
.study-hero .case-tags{margin-top:18px}
.study-hero .case-highlights{margin-top:20px;padding-top:16px}
.study-hero .case-footnote{font-size:12px;line-height:1.9}
.study-nav{display:flex;flex-wrap:wrap;gap:0 28px;border-top:1px solid #ccdde8;border-bottom:1px solid #ccdde8;margin-top:34px;padding:6px 0}
.study-nav a{display:flex;align-items:center;min-height:46px;padding:9px 2px;font-size:14px;font-weight:500;line-height:1.8;white-space:nowrap}
.study-nav a:hover{color:var(--blue)}
.study-content{padding-top:52px;padding-bottom:62px}
.study-section{display:grid;grid-template-columns:250px minmax(0,1fr);gap:55px;padding-bottom:58px;scroll-margin-top:118px}
.study-section-head h2{font-size:27px;line-height:1.65;letter-spacing:-.03em;font-weight:600;margin:12px 0 15px;word-break:keep-all;overflow-wrap:break-word}
.study-section-head>p:not(.eyebrow){font-size:14px;line-height:1.95}
.study-lead{font-size:16px;line-height:1.95;margin-bottom:22px}
.study-work{list-style:none;padding:0;margin:0;border-top:1px solid #d4e1ea}
.study-work>li{padding:24px 0;border-bottom:1px solid #d4e1ea}
.study-work-label{display:flex;align-items:baseline;gap:16px;margin-bottom:10px}
.study-work-label>span{font-size:12px;line-height:1.7;flex-shrink:0;color:var(--blue)}
.study-work h3{font-size:20px;line-height:1.7;font-weight:600;text-wrap:pretty}
.study-work p{font-size:16px;line-height:1.95}
.study-deliverables{display:grid;grid-template-columns:115px minmax(0,1fr);gap:12px;background:#f2f6f9;padding:13px 16px;margin:17px 0 0;font-size:13px;line-height:1.85;color:#4d6a7e}
.study-deliverables dt{font-weight:600}.study-deliverables dd{margin:0}
.study-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.study-flow li{background:#edf4f8;padding:20px;min-width:0}
.study-flow span{font-size:12px;color:var(--blue)}
.study-flow p{font-size:15px;line-height:1.85;margin-top:6px;color:#365b73}
.study-flow small{font-size:13px;line-height:1.85}
.study-takeaway{border-left:3px solid #73a4bd;padding:3px 0 3px 21px;margin-top:25px}
.study-takeaway h3{font-size:17px;line-height:1.85;font-weight:600;margin-bottom:8px}
.study-takeaway p{font-size:15px;line-height:1.95}
.study-result{border:1px solid #d8e4ec;margin-bottom:20px}
.study-result-heading{padding:23px 25px 0}
.study-result h3{font-size:18px;font-weight:600;line-height:1.75}
.study-result-heading p{font-size:12px;margin-top:5px}
.study-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 25px;padding:21px 25px 25px;margin:0}
.study-metrics>div{min-width:0;padding-top:14px;border-top:1px solid #e0e9ef}
.study-metrics dt{font-size:13px;line-height:1.8;color:var(--muted)}
.study-metrics dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 8px;margin:7px 0 0;font-size:29px;line-height:1.5;letter-spacing:-.03em}
.study-metrics dd>span{white-space:nowrap}
.study-metrics dd>i{font-size:19px;color:var(--muted);font-style:normal}
.study-source{background:#f2f6f9;border-top:1px solid #dae6ee;color:var(--muted)}
.study-source summary{padding:12px 21px;cursor:pointer;font-size:13px;line-height:1.9;min-height:48px}
.study-source summary>span{font-size:12px;margin-left:13px}
.study-source>p{font-size:13px;line-height:1.95;padding:0 21px 18px}
.study-consult{display:flex;align-items:center;justify-content:space-between;gap:40px;background:#eaf2f7;padding:35px 38px;scroll-margin-top:118px}
.study-consult>div{max-width:760px;min-width:0}
.study-consult h2{font-size:26px;line-height:1.7;font-weight:600;margin:12px 0;word-break:keep-all;overflow-wrap:break-word}
.study-consult p:not(.eyebrow){font-size:15px;line-height:1.95}
.study-consult>.button{font-size:14px;flex-shrink:0;white-space:nowrap;padding:14px 20px}
.study-section--wide{display:block}
.study-section--wide>.study-section-head{margin-bottom:25px}
.study-section--wide .study-section-head>p:not(.eyebrow){margin-top:-5px}
.ai-scene{border:1px solid #d5e3ec;margin-bottom:22px;background:#fff}
.ai-scene-heading{display:flex;align-items:baseline;gap:16px;padding:19px 24px;border-bottom:1px solid #dbe7ef;background:#f2f6f9}
.ai-scene-heading>span{font-size:12px;color:var(--blue)}
.ai-scene-heading h3{font-size:20px;font-weight:600;line-height:1.75}
.ai-scene-heading>small{font-size:12px;color:#56768c;margin-left:auto;white-space:nowrap}
.ai-scene-grid{display:grid;grid-template-columns:.9fr 1.2fr;gap:35px;padding:25px}
.ai-request>p{font-size:12px;color:var(--muted);margin-bottom:12px}
.ai-request blockquote{font-size:18px;font-weight:500;line-height:1.85;color:#153d58;margin:0 0 16px;padding:0;text-wrap:pretty}
.ai-request>small{display:block;font-size:12px;line-height:1.85;color:#6e8594}
.ai-scene-grid ol{padding:0 0 0 21px;margin:0}
.ai-scene-grid li{font-size:15px;line-height:1.9;padding:0 0 6px 3px;color:var(--muted)}
.ai-approval{background:var(--pale);padding:13px 16px;font-size:13px;line-height:1.9;margin-top:15px}
.ai-approval strong{display:block;font-size:12px;color:#385e77;font-weight:600;margin-bottom:4px}
.ai-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ai-plan-grid article{padding:24px;border:1px solid #d3e2eb;background:#fff;min-width:0}
.ai-plan-grid h3{font-size:21px;line-height:1.75;font-weight:600;margin:14px 0}
.ai-plan-grid article>p:not(.eyebrow){font-size:15px;line-height:1.95}
.ai-use-card h3{text-wrap:pretty}.ai-use-grid{align-items:stretch}
@media(max-width:1100px){
 .study-hero{gap:32px}.study-hero h1{font-size:32px}.case-directory>.case-teaser{gap:28px}.case-directory .case-teaser h3{font-size:23px}
 .study-section{grid-template-columns:205px minmax(0,1fr);gap:35px}.study-section-head h2{font-size:25px}.case-highlights dd{font-size:25px}
 .consulting-scope{gap:35px;padding:30px}.study-consult{flex-direction:column;align-items:start;gap:23px}.study-consult>.button{align-self:flex-start}
 .case-disciplines{grid-template-columns:1fr;gap:10px}.case-disciplines a{justify-self:start}.ai-plan-grid{grid-template-columns:1fr}.ai-plan-grid h3{font-size:20px}
}
@media(max-width:800px){
 .cases-intro h1{font-size:36px}.cases-lead{font-size:22px}.cases-intro .breadcrumb,.study-intro .breadcrumb{margin-bottom:22px}
 .cases-section{padding-top:42px;padding-bottom:48px}.cases-section-heading{align-items:start;flex-direction:column;gap:12px}.cases-section-heading h2{font-size:28px}.cases-section-copy{margin-bottom:24px}
 .case-directory>.case-teaser{grid-template-columns:1fr;gap:20px;padding:27px 0}.case-directory .case-photo{aspect-ratio:2.15}.case-directory .case-highlights{max-width:none}.case-directory .case-teaser h3{font-size:25px}
 .consulting-scope{grid-template-columns:1fr;gap:25px;margin-top:40px}.consulting-scope h2{font-size:27px}.case-ai-feature>.case-teaser{grid-template-columns:1fr;gap:23px}.case-ai-feature .case-photo{aspect-ratio:2}.case-ai-feature .case-teaser h3{font-size:27px}
 .study-hero{grid-template-columns:1fr;gap:28px}.study-hero h1{font-size:33px;max-width:630px}.study-hero .case-photo{aspect-ratio:2}.study-hero .case-highlights{max-width:600px}
 .study-section{grid-template-columns:1fr;gap:21px;padding-bottom:42px}.study-section-head h2{margin-bottom:10px}.study-content{padding-top:40px;padding-bottom:45px}
 .study-nav{margin-top:28px;gap:0 23px}.study-nav a{font-size:13px}.study-deliverables{grid-template-columns:105px minmax(0,1fr)}
 .case-teaser-grid{gap:22px}.case-teaser-grid .case-teaser-copy{padding:20px}.case-teaser-grid h3{font-size:23px}.case-teaser-grid .case-highlights{grid-template-columns:1fr;gap:12px}
 .ai-scene-grid{gap:25px;grid-template-columns:1fr 1fr}.ai-scene-heading{flex-wrap:wrap;gap:5px 13px}.ai-scene-heading>small{margin-left:0}.ai-scene-heading h3{font-size:19px}
 .ai-plan-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .cases-intro,.study-intro{padding-top:20px}.cases-intro .breadcrumb,.study-intro .breadcrumb{font-size:12px;gap:8px;margin-bottom:21px}
 .cases-intro h1{font-size:30px;line-height:1.45}.cases-lead{font-size:20px;line-height:1.65;margin-top:16px}.cases-intro-copy{font-size:16px;line-height:1.9;margin-top:10px}
 .case-category-nav{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px;padding-bottom:24px}.case-category-nav>a{padding:10px 8px;gap:0;font-size:13px;min-height:47px}.case-category-nav>a>span{display:none}
 .cases-section{padding-top:34px;padding-bottom:40px}.cases-section-heading{gap:10px;margin-bottom:14px}.cases-section-heading h2{font-size:25px;line-height:1.7}.cases-section-heading .eyebrow{margin-bottom:8px}.case-period-badge{padding:5px 9px;font-size:12px}.cases-section-copy{font-size:15px;line-height:1.95}
 .case-directory>.case-teaser{padding:24px 0;gap:18px}.case-directory .case-photo,.case-photo{aspect-ratio:1.65}.case-directory .case-teaser h3,.case-teaser h3{font-size:23px;line-height:1.65}.case-teaser-copy>p:not(.case-metric-period){font-size:16px;line-height:1.9;margin-top:11px}
 .case-meta{gap:7px 11px;margin-bottom:10px}.case-meta>span{font-size:14px}.case-meta>small{font-size:12px;padding-left:11px}.case-photo figcaption{font-size:12px;bottom:8px;right:8px;padding:2px 6px}
 .case-highlights{gap:14px;margin-top:17px;padding-top:15px}.case-highlights dt{font-size:12px}.case-highlights dd{font-size:25px;line-height:1.5;gap:1px 6px}.case-highlights dd>i{font-size:17px}.case-metric-period{font-size:12px!important}
 .case-teaser-link{font-size:14px;margin-top:9px}.case-footnote{font-size:12px;margin-top:20px;line-height:1.9}.case-tags{gap:6px;margin-top:16px}.case-tags li{font-size:12px;padding:4px 7px}
 .consulting-scope{padding:25px 21px;gap:24px;margin-top:35px}.consulting-scope h2{font-size:25px}.consulting-scope li{gap:10px;grid-template-columns:20px 1fr;padding:19px 0}.consulting-scope h3{font-size:18px}.consulting-scope li p{font-size:15px}
 .case-ai-feature>.case-teaser{padding:20px;gap:21px}.case-ai-feature .case-photo{aspect-ratio:1.6}.case-ai-feature .case-teaser h3{font-size:24px;line-height:1.7}.case-ai-feature{margin-top:22px}.case-disciplines{padding-top:23px;margin-top:26px}
 .case-teaser-grid{grid-template-columns:1fr;gap:25px;margin-top:22px}.case-teaser-grid .case-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.case-teaser-grid .case-teaser-copy{padding:22px 20px}
 .study-intro>.case-meta{margin-bottom:15px}.study-hero h1{font-size:28px;line-height:1.7;letter-spacing:-.025em}.study-hero>div>p:not(.case-footnote):not(.case-metric-period){font-size:16px;line-height:1.95;margin-top:14px}.study-hero{gap:24px}.study-hero .case-photo{aspect-ratio:1.6}
 .study-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;padding:6px 0;margin-top:24px}.study-nav a{font-size:13px;min-height:45px;padding:9px 0;white-space:normal}.study-content{padding-top:33px;padding-bottom:38px}.study-section{gap:18px;padding-bottom:36px}
 .study-section-head h2{font-size:25px;line-height:1.65}.study-section-head>p:not(.eyebrow){font-size:14px}.study-lead{font-size:16px;line-height:1.95;margin-bottom:20px}.study-work>li{padding:22px 0}.study-work h3{font-size:19px}.study-work-label{gap:12px;margin-bottom:11px}.study-work p{font-size:16px;line-height:1.95}
 .study-deliverables{display:block;padding:12px 14px;font-size:13px;margin-top:15px}.study-deliverables dt{margin-bottom:5px}.study-flow{gap:10px}.study-flow li{padding:16px 14px}.study-flow p{font-size:14px;line-height:1.9}.study-takeaway{padding-left:17px;margin-top:22px}.study-takeaway h3{font-size:17px}.study-takeaway p{font-size:15px}
 .study-result-heading{padding:20px 18px 0}.study-result h3{font-size:17px}.study-result-heading p{font-size:12px}.study-metrics{padding:20px 18px;grid-template-columns:1fr;gap:18px}.study-metrics dd{font-size:30px;gap:4px 9px}.study-metrics dt{font-size:13px}.study-source summary{font-size:12px;padding:12px 16px}.study-source summary>span{font-size:12px;margin-left:7px}.study-source>p{font-size:12px;padding:0 16px 16px}
 .study-consult{padding:26px 22px;gap:22px}.study-consult h2{font-size:24px;line-height:1.7}.study-consult p:not(.eyebrow){font-size:15px}.study-consult>.button{font-size:13px;padding:13px 14px;white-space:normal;min-height:50px}
 .ai-scene-heading{padding:16px 18px;gap:6px 12px}.ai-scene-heading h3{font-size:19px;flex:1;min-width:0}.ai-scene-heading>small{flex-basis:100%;padding-left:27px}.ai-scene-grid{grid-template-columns:1fr;padding:20px 18px;gap:22px}.ai-request blockquote{font-size:18px;line-height:1.9;margin-bottom:12px}.ai-scene-grid li{font-size:15px}.ai-approval{font-size:13px;padding:13px 14px}.ai-plan-grid{grid-template-columns:1fr;gap:15px}.ai-plan-grid article{padding:22px}.ai-plan-grid h3{font-size:21px}
}
@media(max-width:370px){.case-highlights{grid-template-columns:1fr;gap:13px}.case-teaser-grid .case-highlights{grid-template-columns:1fr}.case-category-nav{grid-template-columns:1fr}.case-category-nav>a{font-size:14px}}
@media(prefers-reduced-motion:reduce){.case-photo img{transition:none}}

/* Keep each before/after value and its arrow together when wrapping. */
.metric-change{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}.metric-change i{font-size:.68em;font-weight:400;font-style:normal;color:var(--muted)}

/* v13 — service scope, funding pathways and the AI support case. */
.service-detail-section{padding-top:80px;padding-bottom:80px;scroll-margin-top:105px}
.service-detail-tint{background:#f2f6f9}
.service-detail-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:34px}
.service-detail-heading h2{font-size:36px;line-height:1.55;font-weight:600;margin:14px 0 17px}
.service-detail-pitch{font-size:24px;line-height:1.7;color:var(--ink);font-weight:500;word-break:keep-all;overflow-wrap:break-word}
.service-detail-heading>p{font-size:16px;line-height:2}
.service-detail-capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-bottom:36px}
.service-detail-capabilities article{position:relative;border-top:1px solid #ccdce7;padding:25px 0 27px 42px;min-width:0}
.service-detail-capabilities article>span{position:absolute;top:29px;left:0;color:var(--blue);font-size:12px;line-height:1.7}
.service-detail-capabilities h3{font-size:20px;line-height:1.7;font-weight:600;margin-bottom:10px;text-wrap:pretty}
.service-detail-capabilities p{font-size:16px;line-height:1.95}
.service-funding{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px 54px;border:1px solid #d5e3ec;padding:35px 38px;background:#f4f8fa}
.service-detail-tint .service-funding{background:#fff}
.service-funding-intro h3{font-size:25px;line-height:1.7;font-weight:600;margin:15px 0 17px;word-break:keep-all;overflow-wrap:break-word}
.service-funding-intro>p:not(.eyebrow){font-size:15px;line-height:1.95}
.service-funding-intro .case-text-link{display:inline-block;margin-top:14px;font-size:13px;line-height:1.8;padding:7px 0;border-bottom:1px solid #9eb9ca;color:#286584}
.service-flow-title{font-size:17px;font-weight:600;line-height:1.8;margin-bottom:17px}
.service-detail-flow{padding:0;margin:0;list-style:none}
.service-detail-flow li{display:grid;grid-template-columns:25px minmax(0,1fr);gap:12px;padding:16px 0;border-top:1px solid #d7e4ec}
.service-detail-flow li:first-child{padding-top:14px}
.service-detail-flow li>span{font-size:12px;line-height:1.85;color:var(--blue);padding-top:3px}
.service-detail-flow h4{margin:0 0 5px;font-size:16px;line-height:1.8;font-weight:600}
.service-detail-flow p{font-size:14px;line-height:1.9}
.service-funding-note{grid-column:1/-1;font-size:12px;line-height:1.95;border-top:1px solid #d7e4ec;padding-top:20px}
.service-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:30px}
.service-detail-actions>p{font-size:15px;line-height:1.9;max-width:620px}
.service-detail-actions>.button{font-size:14px;flex-shrink:0;justify-content:center}
.ai-use-top{flex-wrap:wrap;gap:8px 12px}
.ai-request>.ai-case-scene-copy{font-size:16px;line-height:1.95;color:var(--muted);margin-bottom:18px}
.ai-case-output{margin:0;padding-top:15px;border-top:1px solid #dbe7ef}
.ai-case-output dt{font-size:12px;line-height:1.8;font-weight:600;color:#385e77;margin-bottom:6px}
.ai-case-output dd{font-size:14px;line-height:1.95;color:var(--muted);margin:0}
.ai-case-scope{list-style:none;padding:0;margin:23px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ai-case-scope li{background:#edf4f8;border-left:2px solid #8fb1c8;padding:15px 17px;font-size:15px;line-height:1.9;min-width:0}
.ai-case-service-note{padding:19px 23px;background:#edf4f8;border-left:3px solid #8fb1c8;font-size:14px;line-height:1.95;margin-bottom:25px}
@media(max-width:1000px){
 .service-detail-heading{gap:35px}.service-detail-pitch{font-size:22px}.service-funding{gap:26px 32px;padding:29px}.service-funding-intro h3{font-size:23px}
 .service-detail-actions{align-items:start;flex-direction:column;gap:18px}
}
@media(max-width:800px){
 .service-detail-section{padding-top:55px;padding-bottom:55px}.service-detail-heading{grid-template-columns:1fr;gap:19px;margin-bottom:28px}.service-detail-heading h2{font-size:32px;margin:12px 0 13px}.service-detail-pitch{font-size:24px}
 .service-detail-capabilities{gap:0 26px;margin-bottom:23px}.service-detail-capabilities article{padding-left:31px}.service-detail-capabilities h3{font-size:19px}
 .service-funding{grid-template-columns:1fr;gap:25px}.service-funding-intro h3{font-size:25px}.service-funding-intro>p:not(.eyebrow){font-size:16px}.service-funding-note{padding-top:19px}
}
@media(max-width:600px){
 .service-detail-section{padding-top:42px;padding-bottom:44px;scroll-margin-top:90px}.service-detail-heading{gap:16px;margin-bottom:23px}.service-detail-heading h2{font-size:29px}.service-detail-pitch{font-size:21px;line-height:1.75}.service-detail-heading>p{line-height:1.95}
 .service-detail-capabilities{grid-template-columns:1fr;gap:0;margin-bottom:17px}.service-detail-capabilities article{padding:22px 0 23px 32px}.service-detail-capabilities article>span{top:26px}.service-detail-capabilities h3{font-size:19px;margin-bottom:8px}.service-detail-capabilities p{font-size:16px}
 .service-funding{padding:24px 19px;gap:23px}.service-funding-intro h3{font-size:22px;margin:13px 0}.service-funding-intro .case-text-link{font-size:13px}.service-flow-title{font-size:17px;margin-bottom:14px}.service-detail-flow li{gap:8px;padding:14px 0}.service-detail-flow h4{font-size:16px}.service-detail-flow p{font-size:14px}.service-funding-note{font-size:12px;line-height:1.95;padding-top:18px}
 .service-detail-actions{margin-top:24px;gap:17px}.service-detail-actions>.button{font-size:14px;min-height:52px;max-width:100%;padding:14px 17px;white-space:normal}.service-detail-actions>p{font-size:15px}
 .ai-case-scope{grid-template-columns:1fr;gap:8px;margin:19px 0}.ai-case-scope li{padding:13px 15px;font-size:15px}.ai-case-service-note{padding:17px 18px;font-size:14px;margin-bottom:22px}
}

/* v14 — consistent reading width and natural Japanese wrapping on phones. */
.intro-grid>*,.section-heading>*,.service-detail-heading>*,.service-funding>*,.business-item>div,.portfolio-list>a>div,.ai-scene-grid>*,.study-work-label>h3{min-width:0}
h1,h2,h3,h4{line-break:strict}
.intro-copy,.heading-aside>p,.cases-intro-copy,.cases-section-copy,.service-detail-heading>p{max-width:48em}
.page-intro .breadcrumb{margin-bottom:32px}
.case-period-badge{max-width:100%;white-space:normal}
.case-meta>small{max-width:100%}
.study-work-label{align-items:start}
.study-work-label>span{padding-top:5px}
.study-work-label>h3{flex:1}
@media(max-width:800px){
 .page-intro .intro-grid{grid-template-columns:1fr;gap:22px}.page-intro{padding-top:24px;padding-bottom:44px}
 .intro-copy br,.heading-aside p br,.hero-description br,.flagship-copy>p br{display:none}
 .section-heading h2,.page-intro h1,.case-teaser h3,.study-hero h1,.ai-use-card h3,.business-item h3,.portfolio-list h3,.voice-card h3{text-wrap:balance}
 .solution-card .service-link{font-size:14px;line-height:1.8;min-height:48px;gap:14px}
 .solution-card.flagship h3{font-size:34px;line-height:1.5}.flagship h3>span{font-size:16px;line-height:1.85}
 .flagship-capabilities>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .case-category-nav>a{white-space:normal;line-height:1.7}
 .study-flow{grid-template-columns:1fr}.study-flow li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:0 12px}.study-flow li>span{grid-column:1;grid-row:1;padding-top:4px}.study-flow li>p{grid-column:2;margin:0;font-size:16px}.study-flow li>small{grid-column:2;margin-top:6px;font-size:14px}
 .service-detail-capabilities p,.service-funding-intro>p:not(.eyebrow),.study-takeaway p,.study-consult p:not(.eyebrow),.consulting-scope li p,.ai-scene-grid li{font-size:16px}
}
@media(max-width:600px){
 html{scroll-padding-top:90px}body{line-height:1.9;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .wrap{width:calc(100% - 40px)}
 .header{height:72px;padding:0 16px;gap:8px}.header .brand{width:clamp(116px,36vw,151px)}.header-contact{font-size:12px;min-height:44px;padding:9px 11px;line-height:1.5;white-space:nowrap;flex-shrink:0}.menu-button{width:44px;min-width:44px;height:44px;padding:10px}.mobile-nav{top:72px;max-height:calc(100dvh - 72px);padding:15px 20px 24px}.mobile-nav a{font-size:16px;min-height:48px}
 .section{padding-top:48px;padding-bottom:48px}.content-section{padding-top:30px;padding-bottom:44px}.section-heading{margin-bottom:27px}.section-heading h2{font-size:clamp(25px,6.6vw,29px);line-height:1.6;margin-top:14px;letter-spacing:-.025em}.section-heading h2 .editorial-break{display:block}
 .heading-aside{margin-top:17px}.heading-aside p{font-size:16px;line-height:1.9}.heading-aside .text-link{min-width:0;width:auto;max-width:100%;font-size:14px;gap:18px}
 .eyebrow{font-size:12px;letter-spacing:.08em}.eyebrow>span{margin-right:8px}
 .page-intro{padding-top:20px;padding-bottom:28px}.page-intro+.section{padding-top:32px}.page-intro .breadcrumb{font-size:12px;gap:7px;margin-bottom:23px;flex-wrap:wrap}.page-intro h1{font-size:clamp(27px,7.2vw,32px);line-height:1.55;margin-top:13px}.page-intro .intro-grid{gap:18px}.intro-copy{font-size:16px;line-height:1.9}
 .hero.hero-film-layout{padding:28px 20px 20px}.hero-film-layout h1{font-size:clamp(38px,10vw,48px);line-height:1.35;margin:14px 0 17px}.hero-film-layout .hero-description{font-size:16px;line-height:1.9}.hero-film-layout .hero-actions{margin-top:20px;margin-bottom:24px}.hero-film-layout .hero-actions .button{font-size:14px;min-height:48px}.hero-film-layout .hero-bottom>a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}.hero-film-layout .hero-bottom{margin-top:6px}
 .solution-card.flagship,.solution-card.secondary{padding:26px 20px}.solution-card.flagship{gap:22px}.solution-card.flagship h3{font-size:clamp(23px,6.4vw,29px);letter-spacing:-.04em;line-height:1.55;white-space:normal;word-break:keep-all;overflow-wrap:break-word}.flagship h3>span{font-size:15px;white-space:normal;letter-spacing:0;margin-top:12px}.flagship .solution-top{margin-bottom:20px}.flagship-copy>p{font-size:16px;line-height:1.9;margin:18px 0}.flagship-capabilities{padding-top:20px}.flagship-capabilities>div{gap:5px 14px}.flagship-capabilities>div>span{font-size:14px;line-height:1.75;min-width:0;overflow-wrap:anywhere}.flagship-capabilities small{font-size:12px}.secondary h3{font-size:27px;line-height:1.5}.secondary .solution-top{margin-bottom:18px}.secondary .solution-pitch{font-size:16px!important;line-height:1.85}.secondary>p:not(.solution-pitch){line-height:1.9!important}.tag-list{gap:7px}.tag-list span{font-size:12px;line-height:1.8;max-width:100%}.solution-card .service-link{font-size:14px;padding-top:13px;gap:10px}
 .coming-banner{margin-top:26px;padding-top:24px}.coming-name{display:block}.coming-name h3{margin-top:7px}.coming-banner p{font-size:16px}.coming-banner .text-link{min-height:48px;font-size:14px;gap:14px}
 .portfolio-section{padding:45px 0}.portfolio-inner{gap:25px}.portfolio-inner h2,.company-gateway h2{font-size:27px;line-height:1.65;margin:17px 0}.portfolio-list>a{gap:12px;padding:20px 0}.portfolio-list h3{font-size:20px;line-height:1.6;letter-spacing:-.025em}.portfolio-list small{font-size:12px;letter-spacing:.035em}.portfolio-list b{flex-shrink:0}.portfolio-inner p:not(.eyebrow){font-size:16px;line-height:1.9}
 .business-item{grid-template-columns:24px minmax(0,1fr);gap:12px;padding:27px 0}.business-item h3{font-size:23px;line-height:1.6;margin:6px 0 11px}.business-item p{line-height:1.9}.business-item .text-link{gap:13px;max-width:100%;font-size:14px;line-height:1.8}
 .cases-intro h1{font-size:29px}.cases-lead{font-size:21px;line-height:1.7;word-break:normal;text-wrap:balance}.cases-intro-copy{line-height:1.9}.cases-section{padding-top:34px;padding-bottom:40px}.cases-section-heading h2{font-size:25px;line-height:1.65}.cases-section-copy{font-size:16px;line-height:1.9;margin-bottom:23px}.case-category-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:23px;padding-bottom:24px}.case-category-nav>a{font-size:14px;padding:10px 8px;min-height:52px;white-space:normal}
 .case-directory>.case-teaser{gap:18px;padding:25px 0}.case-directory .case-teaser h3,.case-teaser h3{font-size:22px;line-height:1.65}.case-highlights,.case-teaser-grid .case-highlights{grid-template-columns:1fr;gap:14px}.case-highlights>div{display:grid;grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);gap:12px;align-items:start}.case-highlights dt{font-size:13px;line-height:1.8;margin:0;padding-top:4px}.case-highlights dd{font-size:25px;line-height:1.5;gap:2px 6px}.case-highlights>div>p{grid-column:1/-1}.case-teaser-grid .case-teaser-copy{padding:22px 18px}.case-meta{gap:6px 10px}.case-meta>small{padding-left:0;border-left:0}.case-meta>span{font-size:14px}.case-ai-feature>.case-teaser{padding:20px 18px}.case-ai-feature .case-teaser h3{font-size:24px;line-height:1.6}.case-period-badge{font-size:12px;line-height:1.8}
 .consulting-scope{padding:24px 18px}.consulting-scope h2{font-size:25px}.consulting-scope>div>p:not(.eyebrow){font-size:16px}.consulting-scope li{grid-template-columns:20px minmax(0,1fr);gap:10px}.consulting-scope li p{line-height:1.9}.case-disciplines{gap:10px}.case-disciplines p{font-size:16px}
 .study-hero h1{font-size:27px;line-height:1.65}.study-hero>div>p:not(.case-footnote):not(.case-metric-period){line-height:1.9}.study-nav{gap:0 14px}.study-nav a{font-size:14px;line-height:1.75;min-height:48px;padding:10px 0}.study-section-head h2{font-size:25px}.study-section-head>p:not(.eyebrow){font-size:16px;line-height:1.9}.study-work-label{gap:11px}.study-work h3{font-size:19px;line-height:1.7;text-wrap:pretty}.study-work p,.study-lead{line-height:1.9}.study-flow li{padding:17px 15px}.study-metrics{padding:19px 18px}.study-metrics dd{font-size:28px;line-height:1.5}.study-consult{padding:25px 20px}.study-consult h2{font-size:24px}.study-consult>.button{font-size:14px;max-width:100%;width:100%;justify-content:center;line-height:1.8}.study-deliverables{font-size:14px}.study-takeaway p{font-size:16px}
 .ai-use-card{padding:24px 20px}.ai-use-card h3{font-size:22px;line-height:1.7}.ai-use-top{gap:8px}.ai-use-card p,.ai-role-list dd{font-size:16px;line-height:1.9}.ai-use-flow{grid-template-columns:1fr}.ai-use-flow li{font-size:14px;line-height:1.9}.ai-use-cta .button{font-size:14px;min-height:50px;max-width:100%;width:100%;gap:14px}.ai-scene-heading h3{font-size:19px;line-height:1.7}.ai-scene-grid li{font-size:16px}.ai-approval{font-size:14px}.ai-case-service-note>strong{font-size:14px;display:block;margin-bottom:8px}.ai-case-service-note>p{font-size:16px;line-height:1.9}
 .service-detail-section{padding-top:42px;padding-bottom:44px}.service-detail-heading h2{font-size:28px}.service-detail-heading>p{line-height:1.9}.service-detail-capabilities article{padding-left:29px}.service-detail-capabilities h3{font-size:19px;text-wrap:pretty}.service-detail-capabilities p{line-height:1.9}.service-funding{padding:24px 18px}.service-funding-intro h3{font-size:22px;line-height:1.65}.service-detail-flow li{grid-template-columns:20px minmax(0,1fr);gap:10px}.service-detail-flow h4{font-size:16px}.service-detail-flow p{font-size:15px;line-height:1.9}.service-detail-actions>p{font-size:16px}.service-detail-actions>.button{width:100%;font-size:14px;line-height:1.8;min-height:52px}
 .voices-full .voice-card{display:block;padding:25px 20px}.voice-card h3{font-size:23px;line-height:1.7}.voice-card h3 br{display:none}.voice-top{gap:10px;flex-wrap:wrap}.voice-person{align-items:start}.company-message h2,.company-profile-grid h2{font-size:28px}.company-subnav{gap:14px;flex-wrap:wrap;justify-content:flex-start}.company-subnav>a{min-height:44px;display:flex;align-items:center}.data-list dd{overflow-wrap:anywhere}.role-card{padding:26px 20px}.role-card h3{font-size:25px}.process-card{padding:24px 20px}.process-card h3{font-size:22px}.company-gateway-links h3{font-size:22px}
 .contact-layout{gap:27px}.contact-form-panel{padding:24px 18px}.contact-form-panel .form-row{grid-template-columns:1fr;gap:0}.contact-form-panel .button{width:100%;font-size:14px;line-height:1.8;gap:14px}.contact-inner{padding:43px 0}.contact-section h2{font-size:29px;line-height:1.6;margin:17px 0}.contact-section .button{font-size:15px;min-height:52px}.footer-top{padding:34px 0}.footer-links{gap:10px 20px}.footer-links>a{min-height:44px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:14px;line-height:1.8}.footer-bottom{font-size:12px;gap:12px;flex-wrap:wrap}.footer-bottom>a{min-height:44px;display:inline-flex;align-items:center}
 .case-footnote,.service-funding-note,.study-source>p,.source-note{font-size:13px;line-height:1.9}
 #service-dialog{padding:30px 22px;max-height:calc(100dvh - 32px);overflow:auto}#service-dialog h2{font-size:26px;line-height:1.65}#service-dialog .button{font-size:14px;line-height:1.8;width:100%;gap:12px}
}
@media(max-width:360px){.case-highlights>div{grid-template-columns:1fr;gap:5px}.case-highlights dt{padding:0}.study-nav{gap:0 10px}.study-nav a{font-size:13px}.flagship-capabilities>div{grid-template-columns:1fr}.case-category-nav>a{font-size:13px}.business-item h3{font-size:21px}}

/* Text enlargement: let values wrap and keep the menu below its header. */
.case-highlights dd,.study-metrics dd{min-width:0}
.case-highlights dd>span,.study-metrics dd>span{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.metric-change>span{min-width:0;overflow-wrap:anywhere}.metric-change i{flex-shrink:0}
@media(max-width:600px){
 .header{height:auto;min-height:72px;padding-top:10px;padding-bottom:10px}.header-contact{white-space:normal;flex-shrink:1;min-width:0;line-height:1.5}
 .mobile-nav{top:var(--site-header-height,72px);max-height:calc(100dvh - var(--site-header-height,72px))}
 html{scroll-padding-top:calc(var(--site-header-height,72px) + 18px)}
}

/* v15 — browser-verified phrase wrapping and consistent reading rhythm. */
.copy-phrase{display:inline-block;max-width:100%;vertical-align:top;overflow-wrap:break-word}
.hero-copy-next{display:block}
.copy-sentence{display:block;margin-top:.35em}
.intro-copy,.heading-aside>p,.cases-intro-copy,.cases-section-copy,.service-detail-heading>p{text-wrap:pretty;line-break:strict}
.study-section--wide .study-section-head>p:not(.eyebrow){max-width:48em;line-height:1.95;margin-top:0}
.service-name{max-width:100%;white-space:normal;overflow-wrap:break-word}
/* The root already offsets anchors for the sticky header. */
.cases-section,.service-detail-section{scroll-margin-top:18px}
@media(min-width:801px){
 .study-hero{align-items:start}
 .study-hero>div{padding-top:16px}
 .cases-intro-copy,.cases-section-copy{max-width:46em}
}
@media(max-width:800px){
 .hero-film-layout .hero-description{max-width:35em}
 .cases-lead{text-wrap:initial}
}
@media(max-width:600px){
 .cases-lead{font-size:20px;line-height:1.75}
 .cases-lead>.copy-phrase{display:block}
 .intro-copy{text-wrap:pretty}
 .cases-intro-copy{margin-top:16px}
 .study-section--wide .study-section-head>p:not(.eyebrow){margin-top:12px}
 .service-detail-heading{gap:20px}
 .case-category-nav{display:grid}
 .hero-film-layout .hero-description .copy-phrase{margin-right:.2em}
 .hero-copy-next{margin-top:.25em}
}
/* Flex columns must shrink to their padded container on narrow phones. */
.study-consult>div,.cases-section-heading>*{min-width:0;max-width:100%}
.study-consult{scroll-margin-top:18px}
@media(max-width:600px){
 .study-consult h2{word-break:normal;text-wrap:pretty}
 .cases-section-heading h2{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
}

/* v16 — client voices focus on the adopter's experience. */
.voice-draft-note{margin:0 0 24px;max-width:54em;font-size:14px;line-height:1.9}
.client-voices{padding-bottom:64px}
.voice-card h3{line-break:strict;text-wrap:pretty}
.voice-card>p{font-size:16px;line-height:1.95}
.voice-person{font-size:14px;flex-wrap:wrap;gap:12px 24px}
.voice-person .text-link{font-size:14px;min-height:44px;line-height:1.8}
.voice-top{flex-wrap:wrap;gap:8px 16px}
.voices-full .voice-card{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px 48px}
.voices-full .voice-card>*{min-width:0}
.voices-full .voice-card h3{margin:0;font-size:clamp(23px,2.1vw,29px)}
.voices-full .voice-card>p{margin:0}
@media(max-width:600px){
 .client-voices{padding-bottom:44px}
 .voices-full .voice-card h3{font-size:23px;margin:18px 0}
 .voices-full .voice-card>p{margin-bottom:22px}
 .voice-top>span{font-size:14px}
 .voice-draft-note{font-size:13px}
}

.voice-card h3 .editorial-break{display:block}
@media(max-width:360px){.voice-card h3,.voices-full .voice-card h3{font-size:21px;letter-spacing:-.035em}}

/* v17 — industry growth stories and the full AI support portfolio. */
.model-note{margin:0 0 24px;padding:15px 18px;border-left:2px solid #94b6c9;background:#edf3f7;color:var(--muted);font-size:14px;line-height:1.9;max-width:65em}
.study-hero .model-note{margin-top:22px}
.voice-industry-nav,.support-service-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px}
.voice-industry-nav a,.support-service-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border:1px solid #c9dbe5;background:#fff;font-size:14px;font-weight:500;line-height:1.7}
.voice-industry-nav a:hover,.support-service-nav a:hover{border-color:var(--blue);color:var(--blue)}
.growth-voice{scroll-margin-top:24px}
.growth-voice .voice-story{min-width:0}
.growth-voice .case-tags{margin:0 0 20px}
.growth-voice .case-tags li{font-size:13px}
.growth-voice h3,.voices-full .growth-voice h3{margin:0 0 23px;font-size:clamp(23px,2vw,28px);line-height:1.7;text-wrap:pretty}
.growth-voice h3 .editorial-break{display:block}
.growth-voice blockquote{margin:0 0 24px;min-width:0}
.growth-voice blockquote p{font-size:16px;line-height:2;color:var(--muted)}
.voices-full .growth-voice blockquote{padding-top:42px;margin:0}
.voice-growth{border-left:2px solid #88adbf;padding-left:15px;margin:22px 0}
.voice-growth small,.support-card-outcome small{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;letter-spacing:.04em}
.voice-growth strong{font-size:16px;font-weight:500;line-height:1.8;display:block;color:var(--ink)}
.voices-full .voice-person{margin-top:0}
.support-card-outcome{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}
.support-card-outcome strong{font-size:19px;font-weight:500;line-height:1.7}
.support-case-grid{gap:32px}
.support-case-grid .case-photo{aspect-ratio:1.85}
.support-case-grid .case-teaser-copy{padding:26px}
.support-case-grid .case-teaser h3{font-size:26px;line-height:1.65;text-wrap:pretty}
.support-case-grid .case-teaser-link{margin-top:auto;padding-top:18px}
.support-case-grid .case-tags{margin:18px 0}
.growth-shift{display:grid;grid-template-columns:1fr 1fr;margin-bottom:25px;gap:12px}
.growth-shift p{padding:22px;background:#eef3f6;font-size:22px;font-weight:500;line-height:1.7;min-width:0}
.growth-shift p:last-child{background:#0c2338;color:white}
.growth-shift small{display:block;font-size:13px;font-weight:400;margin-bottom:12px}
@media(max-width:800px){
 .voices-full .growth-voice{display:block}
 .voices-full .growth-voice blockquote{padding-top:0;margin-bottom:24px}
 .voices-full .growth-voice .voice-top{margin-bottom:22px}
 .growth-shift{grid-template-columns:1fr}
 .support-case-grid .case-teaser h3{font-size:24px}
}
@media(max-width:600px){
 .model-note{padding:13px 15px;font-size:13px;margin-bottom:22px}
 .voice-industry-nav{gap:8px;margin-bottom:24px}
 .voice-industry-nav a{padding:9px 16px}
 .support-service-nav{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .support-service-nav a{padding:10px 8px;font-size:13px}
 .growth-voice h3,.voices-full .growth-voice h3{font-size:23px;margin:0 0 20px;line-height:1.7}
 .growth-voice h3 .editorial-break{display:none}
 .growth-voice .voice-top{margin-bottom:20px}
 .voice-growth{margin:20px 0}
 .support-case-grid{gap:24px}
 .support-case-grid .case-teaser-copy{padding:23px 20px}
 .support-case-grid .case-teaser h3{font-size:23px}
 .support-card-outcome strong{font-size:18px}
 .growth-shift p{font-size:21px;padding:20px}
 .client-voices .ai-use-cta .button{white-space:normal;line-height:1.8;font-size:14px;min-width:0}
}
@media(max-width:360px){.growth-voice h3,.voices-full .growth-voice h3{font-size:21px}}

@media(max-width:600px){
 .voice-industry-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
 .voice-industry-nav a{padding:10px 4px;font-size:13px}
 .growth-voice h3,.voices-full .growth-voice h3{font-size:clamp(20px,5.7vw,23px);letter-spacing:-.025em}
 .growth-voice h3 .editorial-break{display:block}
}

/* v19 — business challenges, concrete support, and distinct case photography. */
.voice-challenge{padding-top:18px;border-top:1px solid var(--line);margin:0 0 18px}
.voice-challenge>small{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}
.voice-challenge>p{font-size:15px;line-height:1.9;color:var(--muted)}
.voices-full .growth-voice blockquote{padding-top:0;align-self:center}
.voices-full .growth-voice .voice-top{margin-bottom:0}
.voices-full .growth-voice h3{font-size:clamp(24px,2.2vw,31px)}
.support-details{background:var(--pale);scroll-margin-top:18px}
.support-details-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px 64px;margin-bottom:42px;align-items:end}
.support-service-name{font-size:16px;color:#347292;font-weight:600;margin:19px 0 12px}
.support-details-heading h2{font-size:clamp(30px,3.3vw,45px);line-height:1.55;letter-spacing:-.04em;font-weight:600;word-break:keep-all;overflow-wrap:break-word}
.support-detail-lead{font-size:23px;line-height:1.8;color:var(--ink);font-weight:600;margin:0 0 15px;word-break:keep-all;overflow-wrap:break-word}
.support-details-heading>div>p:not(.eyebrow):not(.support-service-name):not(.support-detail-lead){font-size:16px;line-height:1.95;color:var(--muted)}
.support-details-heading>div>p+p:not(.support-detail-lead){margin-top:15px}
.support-problems{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.support-problem{padding:32px;background:#fff;border:1px solid #d8e3eb;display:flex;flex-direction:column;min-width:0}
.support-problem-top{display:flex;align-items:center;gap:13px;margin-bottom:17px;color:#347292}
.support-problem-top>span{font-family:Manrope,sans-serif;font-size:13px}
.support-problem-top>p{font-size:14px;font-weight:500}
.support-problem h3{font-size:24px;line-height:1.7;font-weight:600;margin:0 0 18px;letter-spacing:-.025em;text-wrap:pretty}
.support-problem>p{font-size:16px;line-height:1.95;color:var(--muted)}
.support-problem-change{border-left:2px solid #88adbf;margin:24px 0;padding-left:15px}
.support-problem-change small{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}
.support-problem-change strong{font-size:16px;line-height:1.9;font-weight:500;display:block}
.support-problem .case-text-link{font-size:14px;color:#286584;margin-top:auto;min-height:44px;display:flex;align-items:center;gap:12px}
.support-partner{background:#0c2338;color:#fff;padding:42px;margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:44px}
.support-partner .eyebrow{color:#9dcedf}
.support-partner h3{font-size:28px;line-height:1.65;letter-spacing:-.025em;font-weight:500;margin:17px 0}
.support-partner-intro>p:last-child{font-size:16px;line-height:2;color:#d3e1eb}
.support-responsibilities{display:grid;gap:26px}
.support-responsibilities>div{border-top:1px solid var(--muted);padding-top:18px}
.support-responsibilities h4{font-size:16px;color:#b0d6e5;font-weight:500;margin:0 0 10px}
.support-responsibilities ul{padding-left:1.2em;margin:0;font-size:15px;line-height:2.1}
.support-cycle{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;margin-top:54px}
.support-cycle h3{font-size:27px;line-height:1.7;font-weight:500;margin-top:17px;letter-spacing:-.025em}
.support-cycle ol{list-style:none;margin:0;padding:0}
.support-cycle li{display:flex;gap:20px;border-top:1px solid #cbdce7;padding:23px 0}
.support-cycle li>span{font-family:Manrope,sans-serif;font-size:13px;color:#347292;padding-top:5px}
.support-cycle li>div{min-width:0}
.support-cycle h4{font-size:18px;font-weight:500;line-height:1.8;margin:0 0 8px}
.support-cycle li p{font-size:15px;line-height:1.95;color:var(--muted)}
.support-details-cta{margin-top:34px;padding-top:28px;border-top:1px solid #cbdce7;display:flex;align-items:center;justify-content:space-between;gap:24px}
.support-details-cta>div{min-width:0}
.support-details-cta h3{font-size:22px;line-height:1.8;font-weight:500;margin:0 0 8px}
.support-details-cta p{font-size:15px;line-height:1.9;color:var(--muted)}
.support-details-cta .button{flex-shrink:0;font-size:14px;line-height:1.8;white-space:normal}
@media(max-width:1000px){
 .support-details-heading{gap:32px}.support-details-heading h2{font-size:34px}.support-problem{padding:26px}.support-problem h3{font-size:23px}.support-partner{padding:32px;gap:32px}.support-partner h3{font-size:25px}.support-cycle{gap:32px}.support-cycle h3{font-size:24px}.support-details-cta{align-items:start;flex-direction:column}
}
@media(max-width:800px){
 .support-details-heading{grid-template-columns:1fr;gap:25px}.support-details-heading h2{font-size:36px}.support-partner{grid-template-columns:1fr;gap:27px}.support-responsibilities{grid-template-columns:1fr 1fr;gap:25px}.support-cycle{grid-template-columns:1fr;gap:27px}.support-problem{padding:24px}.support-problem h3{font-size:21px}
 .voices-full .growth-voice .voice-top{margin-bottom:22px}
}
@media(max-width:600px){
 .support-details-heading{gap:23px;margin-bottom:27px}.support-details-heading h2{font-size:clamp(25px,6.7vw,31px);line-height:1.6}.support-service-name{font-size:15px;margin:16px 0 10px}.support-detail-lead{font-size:21px;line-height:1.75}.support-details-heading>div>p:not(.eyebrow):not(.support-service-name):not(.support-detail-lead){font-size:16px;line-height:1.95}
 .support-problems{grid-template-columns:1fr;gap:18px}.support-problem{padding:23px 20px}.support-problem h3{font-size:22px;line-height:1.7;margin-bottom:14px}.support-problem-top{margin-bottom:13px}.support-problem>p{line-height:1.95}.support-problem-change{margin:20px 0}.support-problem .case-text-link{font-size:13px}
 .support-partner{margin-top:27px;padding:27px 20px;gap:25px}.support-partner h3{font-size:24px;line-height:1.7}.support-responsibilities{grid-template-columns:1fr;gap:23px}.support-responsibilities ul{font-size:15px;line-height:2}.support-cycle{margin-top:35px;gap:23px}.support-cycle h3{font-size:23px;line-height:1.7;margin-top:14px}.support-cycle li{gap:13px;padding:20px 0}.support-cycle h4{font-size:17px}.support-cycle li p{font-size:16px;line-height:1.9}.support-details-cta{margin-top:20px;padding-top:25px;gap:20px}.support-details-cta h3{font-size:22px}.support-details-cta .button{width:100%;justify-content:space-between;max-width:100%;padding:16px 18px}
 .voices-full .growth-voice h3{font-size:clamp(20px,5.7vw,23px)}.voice-challenge{padding-top:16px}.voice-challenge>p{font-size:15px}.growth-voice .voice-top>span{font-size:14px}
}

@media(max-width:600px){.support-problem h3{font-size:clamp(20px,5.2vw,22px)}}

@media(max-width:600px){.study-hero h1:has(.copy-phrase){font-size:clamp(24px,7vw,29px);line-height:1.65;text-wrap:initial}}

/* v20 — detailed consulting, property, and watch / luxury businesses. */
.service-page-index{padding-top:28px;padding-bottom:32px}
.service-page-index>p{font-size:13px;color:var(--muted);margin-bottom:14px}
.service-page-index>div{display:flex;flex-wrap:wrap;gap:9px}
.service-page-index a{display:flex;align-items:center;gap:18px;justify-content:space-between;border:1px solid #cedde6;padding:11px 15px;min-height:46px;font-size:14px;line-height:1.7;background:#fff}
.service-page-index a:hover{color:var(--blue);border-color:var(--blue)}
.service-page-index a>span{color:#6291a8;font-size:13px}
.business-portfolio-details{padding:95px 0 35px;scroll-margin-top:18px}
.business-portfolio-heading{margin-bottom:48px}
.business-detail{padding:56px 0 62px;border-top:1px solid #bbccd8;scroll-margin-top:12px}
.business-detail:last-child{padding-bottom:34px}
.business-detail-heading{display:grid;grid-template-columns:.9fr 1.25fr;gap:36px 66px;align-items:start;margin-bottom:37px}
.business-detail-heading>div{min-width:0}
.business-detail-heading h3{font-size:34px;font-weight:600;line-height:1.55;letter-spacing:-.03em;margin:17px 0 17px}
.business-detail-pitch{font-size:22px;line-height:1.85;color:#316b88;font-weight:500;letter-spacing:-.025em}
.business-detail-intro{padding-top:4px}
.business-detail-intro>p{font-size:16px;line-height:2;color:var(--muted)}
.business-detail-intro>p+p{margin-top:17px}
.business-subheading{font-size:17px;line-height:1.8;font-weight:500;margin:0 0 19px}
.business-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.business-capabilities article{padding:26px 24px;background:var(--pale);min-width:0}
.business-capability-number{font-family:Manrope,sans-serif;color:var(--muted);font-size:12px;display:block;margin-bottom:13px}
.business-capabilities h4{font-size:19px;line-height:1.75;font-weight:600;margin:0 0 13px;text-wrap:pretty}
.business-capabilities p{font-size:15px;line-height:1.95;color:var(--muted)}
.consulting-ai-partnership{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;margin-top:32px;padding:35px;background:#102a40;color:#fff}
.consulting-ai-partnership>.eyebrow,.consulting-ai-partnership .eyebrow{color:#a3d4e7}
.consulting-ai-partnership h4{font-size:26px;font-weight:500;line-height:1.7;margin:16px 0 17px;letter-spacing:-.025em}
.consulting-ai-partnership>div>p:last-of-type{font-size:15px;line-height:2;color:#d2e2ec}
.consulting-ai-partnership .case-text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;line-height:1.9;color:#c3e8f4;margin-top:22px;min-height:44px;max-width:100%}
.consulting-ai-partnership ol{padding:0;margin:0;list-style:none}
.consulting-ai-partnership li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:13px;padding:16px 0;border-top:1px solid #3c586e}
.consulting-ai-partnership li:first-child{padding-top:0;border-top:0}
.consulting-ai-partnership li:last-child{padding-bottom:0}
.consulting-ai-partnership li>span{font-size:12px;color:#a3d4e7;padding-top:3px}
.consulting-ai-partnership h5{font-size:16px;font-weight:500;line-height:1.9;margin:0 0 7px}
.consulting-ai-partnership li p{font-size:14px;line-height:1.9;color:#d2e2ec}
.business-detail-actions{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:30px}
.business-detail-actions>p{font-size:15px;color:var(--muted);line-height:1.9;max-width:46em}
.business-detail-actions .case-text-link{font-size:14px;line-height:1.9;display:flex;align-items:center;gap:13px;color:#316b88;min-height:44px}
.business-detail-actions>.button,.business-detail-intro>.button{font-size:14px;line-height:1.8;flex-shrink:0;white-space:normal}
.property-network{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:34px 35px;background:var(--pale);margin-top:30px;border-top:2px solid #92b1c3}
.property-network h4{font-size:25px;line-height:1.75;font-weight:500;letter-spacing:-.025em;margin:16px 0}
.property-network>div>p:last-child{font-size:15px;line-height:1.95;color:var(--muted)}
.property-network h5{font-size:16px;font-weight:500;line-height:1.9;margin:0 0 12px}
.property-flow{list-style:none;padding:0;margin:0}
.property-flow li{display:grid;grid-template-columns:23px minmax(0,1fr);gap:13px;border-top:1px solid #cadde7;padding:13px 0}
.property-flow li:last-child{padding-bottom:0}
.property-flow li>span{color:var(--muted);font-family:Manrope,sans-serif;font-size:12px;padding-top:3px}
.property-flow strong{font-size:16px;font-weight:500;line-height:1.7}
.property-flow p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:4px}
.luxury-categories{display:grid;grid-template-columns:1.1fr 1fr;gap:36px}
.luxury-categories>section{min-width:0}
.luxury-category-heading{padding:0 0 19px;border-bottom:1px solid #d7e3eb;margin-bottom:20px}
.luxury-category-heading h4{font-size:19px;line-height:1.8;font-weight:500;margin-top:10px}
.watch-brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;list-style:none;margin:0;padding:0}
.watch-brand-grid li{padding:23px 20px;background:var(--pale);min-height:119px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.watch-brand-grid strong{font-family:Manrope,sans-serif;font-size:17px;font-weight:500;line-height:1.65;letter-spacing:.015em}
.watch-brand-grid span{display:block;margin-top:9px;font-size:13px;color:var(--muted);line-height:1.9}
.fashion-brand-list article{padding:0 0 22px}
.fashion-brand-list article+article{padding-top:22px;border-top:1px solid #d7e3eb}
.fashion-brand-list h5{font-family:Manrope,sans-serif;font-size:22px;font-weight:500;line-height:1.7;letter-spacing:.025em;margin:0 0 3px}
.fashion-brand-list span{font-size:13px;line-height:1.9;color:var(--muted)}
.fashion-brand-list p{font-size:15px;color:var(--muted);line-height:1.9;margin-top:14px}
.business-detail-compact .business-detail-heading{margin-bottom:0}
.business-detail-compact .button{margin-top:23px;display:inline-flex}
@media(max-width:1100px){
 .business-detail-heading{gap:35px}.business-detail-heading h3{font-size:30px}.business-detail-pitch{font-size:21px}.business-capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}.business-detail-actions{align-items:start;flex-direction:column}.consulting-ai-partnership{padding:29px;gap:30px}.property-network{padding:29px;gap:30px}.luxury-categories{grid-template-columns:1fr;gap:33px}.watch-brand-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.watch-brand-grid li{padding:20px 15px}.watch-brand-grid strong{font-size:15px}.fashion-brand-list{display:grid;grid-template-columns:1fr 1fr;gap:30px}.fashion-brand-list article+article{padding-top:0;border-top:0}
}
@media(max-width:800px){
 .business-portfolio-details{padding-top:60px}.business-detail{padding-top:38px;padding-bottom:42px}.business-detail-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.business-detail-heading h3{font-size:31px;margin:15px 0}.business-detail-pitch{font-size:22px}.business-detail-intro{padding-top:0}.consulting-ai-partnership{grid-template-columns:1fr;gap:26px}.consulting-ai-partnership ol{border-top:1px solid #3c586e;padding-top:23px}.property-network{grid-template-columns:1fr;gap:27px}.watch-brand-grid{grid-template-columns:1fr 1fr}.watch-brand-grid strong{font-size:18px}.business-portfolio-heading{margin-bottom:32px}
}
@media(max-width:600px){
 .service-page-index{padding-top:22px;padding-bottom:22px}.service-page-index>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.service-page-index a{font-size:12px;gap:7px;padding:11px 10px;min-height:48px}.service-page-index a:first-child{grid-column:1/-1}.service-page-index>p{font-size:13px;margin-bottom:12px}
 .business-portfolio-details{padding-top:45px;padding-bottom:12px}.business-detail{padding-top:30px;padding-bottom:35px}.business-detail-heading{gap:18px;margin-bottom:25px}.business-detail-heading h3{font-size:clamp(25px,6.8vw,29px);line-height:1.65;margin:13px 0}.business-detail-pitch{font-size:20px;line-height:1.8}.business-detail-intro>p{font-size:16px;line-height:1.95}.business-detail-intro>p+p{margin-top:15px}.business-subheading{font-size:17px;line-height:1.8;margin-bottom:16px}
 .business-capabilities{grid-template-columns:1fr;gap:14px}.business-capabilities article{padding:22px 20px}.business-capability-number{margin-bottom:9px}.business-capabilities h4{font-size:19px;line-height:1.75;margin-bottom:10px}.business-capabilities p{font-size:16px;line-height:1.9}
 .consulting-ai-partnership{margin-top:24px;padding:26px 20px;gap:23px}.consulting-ai-partnership .eyebrow{font-size:11px;letter-spacing:.055em}.consulting-ai-partnership h4{font-size:23px;line-height:1.75;margin:13px 0 15px}.consulting-ai-partnership>div>p:last-of-type{font-size:16px;line-height:1.95}.consulting-ai-partnership .case-text-link{font-size:13px;margin-top:17px;gap:8px}.consulting-ai-partnership li{grid-template-columns:20px minmax(0,1fr);gap:10px}.consulting-ai-partnership h5{font-size:16px}.consulting-ai-partnership li p{font-size:15px;line-height:1.9}
 .business-detail-actions{margin-top:24px;gap:18px}.business-detail-actions>.button,.business-detail-intro>.button{width:100%;justify-content:space-between;max-width:100%;padding:15px 16px;font-size:14px;gap:12px}.business-detail-actions>.case-text-link{font-size:13px}.business-detail-actions>p{font-size:16px}
 .property-network{padding:25px 20px;margin-top:24px;gap:26px}.property-network h4{font-size:23px;line-height:1.75;margin:13px 0 15px}.property-network>div>p:last-child{font-size:16px;line-height:1.9}.property-flow p{font-size:15px;line-height:1.9}.property-flow li{gap:10px;padding:15px 0}.property-network h5{font-size:17px;margin-bottom:14px}
 .luxury-categories{gap:26px}.luxury-category-heading{margin-bottom:16px;padding-bottom:16px}.luxury-category-heading h4{font-size:18px;margin-top:8px}.watch-brand-grid{grid-template-columns:1fr;gap:10px}.watch-brand-grid li{padding:19px 20px;min-height:100px}.watch-brand-grid strong{font-size:19px}.watch-brand-grid span{margin-top:5px;font-size:14px}.fashion-brand-list{grid-template-columns:1fr;gap:0}.fashion-brand-list h5{font-size:23px}.fashion-brand-list article+article{padding-top:22px;border-top:1px solid #d7e3eb}.fashion-brand-list p{font-size:16px;line-height:1.9}.business-detail:last-child{padding-bottom:25px}
}
@media(min-width:801px){#real-estate-details .business-capabilities{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){#real-estate-details .business-capabilities{grid-template-columns:1fr}}

/* v21 — owner-supplied customer experiences and clearly separated copy drafts. */
.voice-collection-heading{margin:0 0 28px;max-width:56em}
.voice-collection-heading h2{font-size:25px;line-height:1.75;font-weight:500;margin:0 0 12px;letter-spacing:-.025em}
.voice-collection-heading>p:not(.eyebrow){font-size:14px;line-height:1.9;color:var(--muted)}
.voice-collection-heading .eyebrow{margin-bottom:12px}
.experience-voice .voice-top>span{font-size:15px;font-weight:500}
.experience-voice .voice-top>small{font-size:12px;color:var(--muted);line-height:1.8}
.experience-voice blockquote p+p{margin-top:18px}
.experience-voice .voice-growth{margin-bottom:0}
.voices-full .experience-voice{gap:25px 48px;padding:34px 38px}
.voices-full .experience-voice blockquote{align-self:start;padding-top:0}
.experience-voice .voice-person{font-size:14px;padding-top:18px}
.experience-voice .voice-person>span{font-size:14px;line-height:1.9}
.voice-draft-collection{border-top:1px solid #cbdce7;margin-top:58px;padding-top:42px}
.voice-is-draft{background:#f7f9fa}
.voice-is-draft .voice-top>small{border:1px solid #bdcdd6;padding:3px 10px;color:#527086;background:#fff}
@media(max-width:800px){.voices-full .experience-voice blockquote{margin-top:25px}.voices-full .experience-voice{padding:29px}.voice-draft-collection{margin-top:42px;padding-top:32px}}
@media(max-width:600px){
 .voice-collection-heading{margin-bottom:23px}.voice-collection-heading h2{font-size:23px;line-height:1.7}.voice-collection-heading>p:not(.eyebrow){font-size:14px;line-height:1.9}
 .voices-full .experience-voice{padding:25px 20px}.experience-voice .case-tags{margin-bottom:19px}.experience-voice .voice-top>span{font-size:15px}.experience-voice .voice-top>small{font-size:12px}.experience-voice blockquote p{font-size:16px;line-height:1.95}.experience-voice blockquote p+p{margin-top:17px}.voice-draft-collection{margin-top:36px;padding-top:28px}
}

.experience-voice{scroll-margin-top:0}

/* v23 — consistent editorial wrapping and comfortable column widths. */
.type-phrase{display:inline-block;max-width:100%;vertical-align:top;overflow-wrap:break-word}
h1,h2,h3,h4,h5{line-break:strict;text-wrap:pretty}
p,blockquote,li,dd{line-break:strict;overflow-wrap:break-word}
main p:not(.eyebrow),blockquote p{text-wrap:pretty}
.button,.text-link,.case-text-link,.service-link{line-break:strict}
.button>span,.text-link>span,.service-link>span{flex-shrink:0}
.section-heading>div:first-child{min-width:0;flex:1}
.section-heading .heading-aside{flex:0 1 410px}
.study-section-head h2{font-size:clamp(23px,2vw,27px)}
.study-work-label h3,.business-capabilities h4{line-height:1.8}
.study-work-label{column-gap:14px}
.study-consult h2{line-height:1.65}
.business-detail-pitch,.service-detail-pitch,.support-detail-lead{text-wrap:balance;line-break:strict}
.support-details-cta h3{text-wrap:balance}
.case-teaser h3,.study-hero h1{text-wrap:balance}
.service-page-index a{font-size:14px}
@media(min-width:801px) and (max-width:1100px){
 .study-section{grid-template-columns:230px minmax(0,1fr);gap:32px}
 .watch-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #real-estate-details .business-capabilities{grid-template-columns:1fr}
}
@media(max-width:800px){
 .section-heading .heading-aside{flex:auto;max-width:100%}
 .study-work-label h3{font-size:19px}
 .service-page-index>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-page-index a:first-child{grid-column:1/-1}
 .service-page-index a{gap:12px}
}
@media(max-width:600px){
 .section-heading{gap:0}
 .section-heading .heading-aside{margin-top:18px}
 .page-intro .intro-copy,.heading-aside p{max-width:35em}
 .hero-film-layout .hero-description{line-height:1.95}
 .portfolio-inner h2,.company-gateway h2,.careers-culture h3{font-size:clamp(23px,6.2vw,27px);line-height:1.7;text-wrap:balance}
 .support-partner h3,.support-cycle h3,.property-network h4{font-size:clamp(21px,5.9vw,24px);line-height:1.75;text-wrap:balance}
 .growth-voice{padding:25px 20px}
 .growth-voice h3{font-size:clamp(20px,5.7vw,23px)}
 .growth-voice blockquote{margin-top:22px}
 .service-page-index a{font-size:14px;padding:12px;line-height:1.65}
 .process-card h3,.role-card h3{font-size:clamp(21px,5.8vw,24px);line-height:1.7}
 .study-hero h1{font-size:clamp(24px,6.7vw,29px);line-height:1.65}
 .case-directory .case-teaser h3{font-size:clamp(21px,5.65vw,23px);line-height:1.7}
 .study-work-label{display:block}
 .study-work-label>span{display:block;padding:0;margin-bottom:7px}
 .study-work-label h3{font-size:19px;line-height:1.8}
 .study-consult h2{font-size:clamp(22px,6vw,25px);line-height:1.7}
 .detail-body h2{font-size:clamp(23px,6.2vw,27px);line-height:1.7}
 .business-capabilities h4{font-size:19px;line-height:1.8}
 .support-details-cta .button,.business-detail-actions .button{gap:12px}
 .coming-hero>div>p br{display:none}
}
@media(min-width:801px){.support-details-heading{align-items:start}.support-details-heading>div:first-child{padding-top:4px}}

/* v24 — body-copy word boundaries, concise reading widths, and full business profile. */
.prose-unit{display:inline-block;max-width:100%;vertical-align:baseline;overflow-wrap:break-word;text-indent:0}
.voice-growth strong,.support-card-outcome strong{text-wrap:balance;max-width:32em}
.case-teaser-copy>p:not(.case-metric-period){max-width:40em;line-height:1.95}
.cases-section-copy{max-width:48em}
.cases-section-copy+.cases-section-copy{margin-top:-12px}
.company-profile-grid{grid-template-columns:minmax(220px,.65fr) minmax(0,1.6fr);gap:64px}
.company-profile-grid .data-list>div{grid-template-columns:145px minmax(0,1fr);gap:26px;padding:23px 0}
.company-profile-grid .data-list dt{font-size:14px;line-height:1.9;word-break:keep-all}
.company-profile-grid .data-list dd{font-size:16px;line-height:1.95}
.profile-services{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 20px}
.profile-services li{white-space:nowrap}
@media(min-width:801px){
 .voices-full .experience-voice{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
 .case-directory>.case-teaser{grid-template-columns:36% minmax(0,1fr);gap:38px}
 .case-directory .case-photo{aspect-ratio:1.5}
}
@media(max-width:1000px){
 .company-profile-grid{grid-template-columns:1fr;gap:28px}
 .company-profile-grid>div:first-child{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px 28px}
 .company-profile-grid>div:first-child>.eyebrow{width:100%}
 .company-profile-grid h2{margin:0}
 .company-profile-grid .company-logo{margin:0;width:210px}
}
@media(max-width:600px){
 .cases-section-copy+.cases-section-copy{margin-top:-8px}
 .company-profile-grid>div:first-child{display:block}
 .company-profile-grid h2{margin-top:15px}
 .company-profile-grid .company-logo{margin-top:23px}
 .company-profile-grid .data-list>div{grid-template-columns:1fr;gap:10px;padding:22px 0}
 .company-profile-grid .data-list dt{font-size:15px}
 .profile-services{display:grid;gap:4px}
 .voice-growth strong{line-height:1.95}
}
/* Word wrappers inherit typography instead of matching decorative span rules. */
main .prose-unit{font:inherit!important;letter-spacing:inherit;color:inherit}

/* v25 — company profile lists business names only. */
.profile-services{display:flex;flex-wrap:wrap;gap:4px 0}
.profile-services li:not(:last-child)::after{content:" / ";white-space:pre;color:var(--muted);margin:0 10px}

/* v26 — clean company-profile heading, without the repeated logo. */
.company-profile-grid{align-items:start}
.company-profile-grid>div:first-child{display:block}
.company-profile-grid h2{margin:18px 0 0}

/* v27 — a single reading axis for the company introduction. */
.company-intro{padding-top:28px;padding-bottom:36px}
.company-intro .breadcrumb{margin-bottom:28px}
.company-intro .intro-grid{display:block}
.company-intro h1{font-size:clamp(32px,3.2vw,46px);line-height:1.5;letter-spacing:-.025em;margin:16px 0 0;text-wrap:balance}
.company-intro .intro-copy{font-size:17px;line-height:1.95;max-width:48em;padding:0;margin-top:20px}
.company-subnav{padding:12px 0;gap:34px}
.company-subnav>a{min-height:44px;display:flex;align-items:center;padding:4px 0}
.company-message{padding-top:64px;padding-bottom:64px;gap:48px}
.company-message h2{font-size:34px;line-height:1.7;margin-top:17px}
.company-message .message-text{font-size:16px;line-height:1.95;max-width:46em}
.company-message .message-text p{margin-bottom:18px}
.company-message .message-text p:last-child{margin-bottom:0}
@media(min-width:801px){
 .company-intro h1 .editorial-break{display:none}
 .company-intro .intro-copy .editorial-break{display:none}
 .company-message{grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr)}
 .company-message .message-text{padding-top:37px}
}
@media(max-width:800px){
 .company-intro{padding-top:22px;padding-bottom:28px}
 .company-intro .breadcrumb{margin-bottom:24px}
 .company-intro h1{font-size:34px;line-height:1.55}
 .company-intro .intro-copy{font-size:16px;margin-top:17px}
 .company-intro .intro-copy .editorial-break{display:block}
 .company-message{grid-template-columns:1fr;gap:24px;padding-top:42px;padding-bottom:44px}
 .company-message h2{font-size:29px;margin-top:14px}
}
@media(max-width:600px){
 .company-intro h1{font-size:clamp(28px,7.5vw,32px);line-height:1.55}
 .company-subnav{gap:12px 24px;padding:10px 0}
 .company-subnav>a{font-size:14px}
 .company-message h2{font-size:28px}
}

/* v29 — careers: editorial role rows, concrete work, separate partnership flow. */
.career-area,.career-detail{color:var(--ink)}
.career-area{padding-top:64px;padding-bottom:64px}
.career-area p,.career-detail p{font-size:16px;line-height:1.95}
.career-area [id],.career-detail [id]{scroll-margin-top:0}
#careers{scroll-margin-top:0}
.career-area .eyebrow,.career-detail .eyebrow{font-size:13px;color:var(--blue);letter-spacing:.12em;line-height:1.7}
.career-phrase{display:inline-block;max-width:100%;overflow-wrap:break-word;vertical-align:top}
.career-intro{max-width:900px}
.career-intro h2{font-size:clamp(30px,3.2vw,44px);line-height:1.5;letter-spacing:-.025em;margin:15px 0 22px}
.career-intro .career-opening{font-size:18px;line-height:1.95;margin-bottom:15px}
.career-intro>p:not(.eyebrow){max-width:45em}
.career-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:25px}
.career-actions .button,.career-apply .button,.career-detail-apply .button{font-size:16px;line-height:1.7;white-space:normal;text-align:center;padding:15px 25px}
.career-link{display:inline-block;color:var(--blue);font-size:15px;font-weight:600;line-height:1.8;border-bottom:1px solid #aac8d9;padding:8px 0;text-decoration:none}
.career-link:hover{color:var(--ink);border-color:var(--ink)}
.career-block{margin-top:58px}
.career-section-heading{margin-bottom:20px}
.career-section-heading h3{font-size:clamp(24px,2.2vw,30px);line-height:1.65;margin-top:12px;text-wrap:pretty}
.career-lead{max-width:52em;margin:0 0 26px}
.career-role-list{border-top:1px solid var(--line)}
.career-role{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px 38px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.career-role>*{min-width:0}
.career-role-title{display:flex;gap:20px;align-items:baseline}
.career-index{font-size:15px;color:var(--blue);flex:none}
.career-role h3{font-size:25px;line-height:1.65;margin:9px 0 0;letter-spacing:-.02em}
.career-role-copy>p{margin:0}
.career-role .career-focus{font-size:14px;color:var(--blue);margin-top:10px}
.career-role>.career-link{grid-column:2;justify-self:start}
.career-status{font-size:14px!important;line-height:1.9!important;color:var(--muted);margin-top:22px;padding-left:16px;border-left:2px solid #a9c5d5;max-width:64em}
.career-business-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.career-business{padding:28px;background:var(--pale);min-width:0}
.career-business h4{font-size:24px;line-height:1.6;margin:0 0 15px;text-wrap:pretty}
.career-business>p{margin-bottom:15px}
.career-business-work{border-top:1px solid #ccdde7;padding-top:18px;margin-top:18px}
.career-business-work>span{font-size:14px;font-weight:600;color:var(--blue)}
.career-business-work>p{margin:8px 0 18px}
.career-business .career-link{margin-right:18px}
.career-small{font-size:14px!important;line-height:1.9!important;color:var(--muted)}
.career-context{padding:28px 0 0;max-width:56em}
.career-context h4{font-size:22px;line-height:1.7;margin-bottom:15px}
.career-context p+p{margin-top:14px}
.career-examples{border-top:1px solid var(--line)}
.career-examples article{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr);gap:36px;padding:24px 0;border-bottom:1px solid var(--line)}
.career-examples h4{font-size:21px;line-height:1.6;margin-bottom:7px}
.career-examples p{margin:0}
.career-partners{background:var(--pale);padding:36px;margin-top:60px}
.career-list{padding:0;list-style:none;margin:17px 0 24px}
.career-list li{position:relative;padding-left:18px;margin:10px 0}
.career-list li::before{content:'';position:absolute;left:0;top:13px;width:5px;height:5px;background:var(--blue)}
.career-list li p{margin:0}
.career-partner-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}
.career-partner-options a{background:white;padding:20px;color:var(--ink);font-size:18px;font-weight:600;line-height:1.7;border:1px solid #cbdee8}
.career-partner-options a:hover{border-color:var(--blue)}
.career-partner-options span{display:block;font-size:14px;color:var(--blue);margin-top:12px}
.career-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:26px 0}
.career-steps li{border-top:2px solid #9fbdce;padding-top:20px}
.career-steps span{color:var(--blue);font-size:14px}
.career-steps h4{font-size:20px;line-height:1.65;margin:12px 0}
.career-apply{border-top:1px solid var(--line);margin-top:28px;padding-top:28px}
.career-apply h4{font-size:22px;line-height:1.6;margin-bottom:12px}
.career-apply .button{margin-top:20px}
.career-detail{padding-top:28px;padding-bottom:60px}
.career-detail .breadcrumb{margin-bottom:26px}
.career-detail-intro{padding-bottom:34px;border-bottom:1px solid var(--line)}
.career-detail-intro h1{font-size:clamp(30px,3vw,44px);line-height:1.5;letter-spacing:-.025em;margin:14px 0 18px}
.career-detail-intro .career-detail-lead{font-size:18px;max-width:45em}
.career-detail-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px;align-items:start;margin-top:38px}
.career-detail-nav{display:flex;flex-direction:column;position:sticky;top:calc(var(--site-header-height,90px) + 24px)}
.career-detail-nav a{font-size:15px;line-height:1.7;min-height:44px;padding:11px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.career-detail-nav a:hover{color:var(--blue)}
.career-detail-body{min-width:0;max-width:860px}
.career-detail-body>section{margin-bottom:44px;padding-bottom:40px;border-bottom:1px solid var(--line)}
.career-detail-body h2{font-size:28px;line-height:1.65;letter-spacing:-.025em;margin:10px 0 22px;text-wrap:pretty}
.career-detail-body h3{font-size:21px;line-height:1.75;margin:0 0 12px;text-wrap:pretty}
.career-detail-body p+p{margin-top:16px}
.career-work-group{margin:25px 0}
.career-detail-body .career-link{margin:8px 20px 0 0}
.career-detail-apply{background:var(--pale);padding:28px!important}
.career-detail-apply .button{margin-top:22px}
.career-other-roles{border-top:1px solid var(--line);padding-top:30px;display:flex;gap:16px 28px;flex-wrap:wrap}
.career-other-roles h2{width:100%;font-size:26px;margin:0 0 8px}
.career-other-roles a{font-size:15px;color:var(--blue);padding:10px 0;border-bottom:1px solid #bed4e0}
.contact-intro{padding:28px 0 30px}
.contact-intro .breadcrumb{margin-bottom:24px}
.contact-intro h1{font-size:clamp(30px,3vw,44px);line-height:1.5;margin:14px 0 18px}
.contact-intro>p:not(.eyebrow){font-size:17px;max-width:46em;line-height:1.9}
.contact-form-panel label>.contact-message-label{font-size:inherit;color:inherit;border:0;padding:0;margin:0}
.contact-form-panel select{max-width:100%;min-width:0}
.contact-form-panel [hidden]{display:none!important}
.contact-form-panel .career-small{margin:0 0 18px}
.contact-form-panel button:disabled{opacity:.6;cursor:not-allowed}
.contact-confirm dd{overflow-wrap:anywhere;white-space:pre-wrap}
#contact-selection-summary{padding:12px 14px;background:#fff;border-left:2px solid var(--blue);font-size:15px;line-height:1.8;margin:0 0 22px}
@media(max-width:1000px){
 .career-detail-layout{grid-template-columns:180px minmax(0,1fr);gap:32px}
 .career-role{gap:12px 26px}
 .career-role h3{font-size:23px}
 .career-role-title{gap:14px}
}
@media(max-width:800px){
 .career-role{grid-template-columns:1fr;gap:12px}
 .career-role>.career-link{grid-column:auto;margin-left:35px}
 .career-role-copy{margin-left:35px}
 .career-detail-layout{display:block;margin-top:24px}
 .career-detail-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin-bottom:34px}
 .career-detail-nav a{font-size:14px}
 .career-business-grid{grid-template-columns:1fr}
 .career-partner-options{grid-template-columns:1fr}
 .career-partner-options a{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px 18px}
 .career-partner-options span{margin:0}
 .career-steps{grid-template-columns:1fr;gap:20px}
 .career-steps h4{margin:8px 0}
}
@media(max-width:600px){
 .career-area{padding-top:36px;padding-bottom:36px}
 .career-intro h2{font-size:30px;margin:12px 0 18px}
 .career-intro .career-opening{font-size:16px}
 .career-intro .career-opening br{display:none}
 .career-actions{gap:14px;margin-top:22px;align-items:stretch;flex-direction:column}
 .career-actions .career-link{align-self:flex-start}
 .career-actions .button,.career-apply .button,.career-detail-apply .button{width:100%;padding:14px 18px;font-size:15px;min-height:52px}
 .career-block{margin-top:38px}
 .career-section-heading h3{font-size:24px;line-height:1.6}
 .career-role{padding:24px 0}
 .career-role h3{font-size:23px}
 .career-role .eyebrow{font-size:12px}
 .career-role-copy,.career-role>.career-link{margin-left:0}
 .career-role-title{gap:12px}
 .career-business{padding:24px 20px}
 .career-business h4{font-size:23px}
 .career-context h4{font-size:21px}
 .career-examples article{grid-template-columns:1fr;gap:12px}
 .career-partners{padding:25px 20px;margin-top:38px}
 .career-partner-options a{padding:18px;font-size:17px}
 .career-detail{padding-top:22px;padding-bottom:36px}
 .career-detail .breadcrumb{font-size:12px;line-height:1.8;gap:7px 12px;flex-wrap:wrap;margin-bottom:22px}
 .career-detail-intro h1{font-size:29px;line-height:1.6}
 .career-detail-intro .career-detail-lead{font-size:16px}
 .career-detail-body h2{font-size:24px;margin-bottom:18px;line-height:1.65}
 .career-detail-body h3{font-size:20px}
 .career-detail-body>section{margin-bottom:30px;padding-bottom:28px}
 .career-detail-apply{padding:24px 18px!important}
 .career-other-roles{gap:8px 20px}
 .career-other-roles h2{font-size:24px;line-height:1.6}
 .contact-intro{padding:22px 0 26px}
 .contact-intro h1{font-size:29px}
 .contact-intro>p:not(.eyebrow){font-size:16px}
 .contact-form-panel select{font-size:15px;padding:12px 8px}
}
#contact-selection-summary .selection-kind{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}

/* Recruitment: business-specific implementation themes */
.career-possibilities{margin:28px 0 36px}
.career-possibilities .career-work-group{padding-top:22px;border-top:1px solid var(--line)}
.career-possibilities h4{font-size:18px;line-height:1.75;margin:0 0 12px;letter-spacing:-.015em}

/* v31: service details are canonical; recruitment explains the work. */
.service-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-top:30px;padding-bottom:44px;border-bottom:1px solid var(--line)}
.service-choice article{min-width:0}
.service-choice h2{font-size:20px;line-height:1.65;margin:0 0 14px}
.service-choice p{font-size:16px;line-height:1.9;margin:0 0 12px}
.service-choice a{font-size:16px;line-height:1.8}
.business-systems{padding:44px 0;margin-top:44px;border-top:1px solid var(--line);scroll-margin-top:0}
.systems-intro{max-width:850px;margin-bottom:28px}
.systems-intro h3{font-size:clamp(24px,2.4vw,32px);line-height:1.6;margin:12px 0 20px}
.systems-intro p+p{margin-top:16px}
.system-theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.system-theme-grid article{min-width:0;border-top:1px solid var(--line);padding:24px 0 8px}
.system-theme-number{font-size:14px;color:var(--blue)}
.system-theme-grid h4{font-size:21px;line-height:1.65;margin:12px 0 16px;letter-spacing:-.025em}
.system-theme-grid p{font-size:16px;line-height:1.95;margin:0}
.system-scope-links{border-top:1px solid var(--line);padding-top:24px;margin-top:32px}
.system-scope-links p{max-width:56em}
.system-scope-links a{margin:16px 24px 0 0}
.career-business-worklist{border-top:1px solid var(--line)}
.career-business-worklist article{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.7fr);gap:44px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}
.career-work-business h4{font-size:23px;line-height:1.65;margin:0 0 14px;letter-spacing:-.02em}
.career-work-business .career-link{font-size:15px}
.career-business-worklist article>div>p{margin:0}
.career-business-worklist .career-work-team{margin-top:17px;font-size:14px;line-height:1.9;color:var(--muted)}
.career-work-team span{display:block;font-size:13px;color:var(--blue);margin-bottom:4px}
.profile-services a{text-decoration:underline;text-decoration-color:#b4cbd8;text-underline-offset:5px}
@media(max-width:800px){
 .service-choice{grid-template-columns:1fr;gap:22px;padding-top:26px;padding-bottom:28px}
 .service-choice article+article{border-top:1px solid var(--line);padding-top:22px}
 .system-theme-grid{grid-template-columns:1fr;gap:12px}
 .system-theme-grid h4{font-size:20px}
 .business-systems{padding-top:30px;margin-top:30px}
 .career-business-worklist article{grid-template-columns:1fr;gap:16px;padding:26px 0}
 .career-work-business h4{font-size:22px;margin-bottom:8px}
}

.career-team-names{display:flex;flex-wrap:wrap;gap:4px 14px}.career-team-names span{font-size:14px;color:var(--muted);margin:0}

/* v32: five peer business groups; AI services are nested within AI business. */
.business-overview-section{padding-top:34px;padding-bottom:48px}
.business-group-list{border-top:1px solid var(--line)}
.business-group-list article{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr);gap:40px;padding:30px 0;border-bottom:1px solid var(--line);align-items:start}
.business-group-list h3{font-size:27px;line-height:1.55;margin:10px 0;letter-spacing:-.025em}
.business-group-list article>div>p:not(.eyebrow){font-size:17px;line-height:1.9;margin:0 0 15px}
.business-group-list .case-text-link{margin-top:10px}
.business-service-names{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px!important;line-height:1.8!important;color:var(--muted);margin:14px 0!important}
.business-service-names span{max-width:100%;overflow-wrap:break-word}
.profile-business-groups{list-style:none;padding:0;margin:0}
.profile-business-groups>li+li{margin-top:20px}
.profile-business-groups>li>a{text-decoration:underline;text-decoration-color:#b4cbd8;text-underline-offset:5px}
.business-back{margin:24px 0 50px}
@media(max-width:700px){
 .business-group-list article{grid-template-columns:1fr;gap:10px;padding:25px 0}
 .business-group-list h3{font-size:25px;margin:8px 0}
 .business-group-list .eyebrow{font-size:13px;margin:0}
 .business-group-list article>div>p:not(.eyebrow){font-size:16px}
 .business-overview-section{padding-top:25px;padding-bottom:28px}
}

/* v33: explicit service hierarchy and six areas of AI Marugoto Support. */
.ai-service-tree{list-style:none;padding:0 0 0 18px;margin:20px 0 24px;border-left:2px solid #c5dbe8}
.ai-service-tree>li+li{margin-top:20px}
.ai-service-tree>li>a{font-size:17px;font-weight:650;color:var(--ink);text-decoration:underline;text-decoration-color:#b4cbd8;text-underline-offset:4px}
.ai-service-tree>li>p{font-size:14px;line-height:1.9;margin:8px 0 0}
.support-scope-list{display:flex;flex-wrap:wrap;gap:7px 16px;list-style:none;padding:0;margin:10px 0 0}
.support-scope-list li{font-size:14px;line-height:1.8;max-width:100%}
.support-offerings{padding:32px 0 40px}
.support-offerings>h3{font-size:clamp(24px,2.4vw,32px);line-height:1.65;margin:12px 0 26px}
.support-offering-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px}
.support-offering-grid article{min-width:0;border-top:1px solid var(--line);padding:22px 0 8px}
.support-offering-grid article>span{font-size:14px;color:var(--blue)}
.support-offering-grid h4{font-size:21px;line-height:1.65;margin:12px 0;letter-spacing:-.02em}
.support-offering-grid p{font-size:16px;line-height:1.95;margin:0}
@media(max-width:1000px){.support-offering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.support-offering-grid{grid-template-columns:1fr;gap:16px}.support-offering-grid h4{font-size:21px}.ai-service-tree{padding-left:14px}}

/* v34: shared visual rhythm, reading contrast and business navigation. */
:root{--muted:#4d6372;--blue:#176b8c;--pale:#f1f6f8;--line:#d6e2e8}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.page-intro{padding-bottom:44px}
.page-intro .intro-grid{align-items:center;gap:40px}
.page-intro h1{font-size:clamp(30px,3.2vw,44px);line-height:1.5;letter-spacing:-.025em}
.intro-copy{padding:0;line-height:1.9}
.breadcrumb{color:var(--muted)}
.section-heading{margin-bottom:36px;align-items:flex-start}
.section-heading h2{font-size:clamp(28px,3vw,40px);line-height:1.5;letter-spacing:-.025em}
.section-heading .heading-aside p{line-height:1.9}
.business-group-list h3{font-size:26px}
.business-group-list article>div>p:not(.eyebrow){font-size:16px;max-width:46em}
.business-group-list article{gap:36px;padding:28px 0}
.business-group-list .eyebrow,.business-detail-heading .eyebrow{font-size:12px}
.service-page-index{padding-top:24px;padding-bottom:24px}
.service-page-index>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.service-page-index a{justify-content:center;text-align:center;padding:12px 10px;min-height:54px;line-height:1.6;color:var(--ink)}
.service-page-index a>span{color:inherit;font:inherit}
.service-page-index a:first-child{grid-column:auto}
.service-page-index[aria-label="AI事業のサービス"]>div{grid-template-columns:repeat(3,minmax(0,1fr))}
.ai-service-tree{margin-top:20px;padding-left:20px}
.ai-service-tree>li+li{margin-top:18px}
.support-scope-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px}
.support-scope-list li{line-height:1.8}
.business-capabilities h4,.support-offering-grid h4,.system-theme-grid h4{font-size:20px;line-height:1.65}
.business-capabilities p,.support-offering-grid p,.system-theme-grid p{font-size:16px;line-height:1.9}
.business-detail-intro>p,.service-detail-heading>p,.career-area p,.career-detail p{line-height:1.9}
.voices-full .growth-voice h3{line-height:1.6}
.growth-voice blockquote p{line-height:1.95}
.case-tags li{color:var(--muted)}
.case-teaser-copy>p:not(.case-metric-period){line-height:1.9}
.case-text-link,.career-link{min-height:44px;align-items:center}
@media(min-width:801px){
 .section{padding-top:80px;padding-bottom:80px}
 .page-intro .intro-copy{max-width:32em}
 .company-intro{padding-bottom:36px}
 .company-message{padding-top:56px;padding-bottom:56px}
 .voices-full .experience-voice{gap:24px 44px}
}
@media(max-width:800px){
 .page-intro .intro-grid{gap:18px}
 .page-intro{padding-bottom:30px}
 .service-page-index>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-page-index a:first-child{grid-column:auto}
 .service-page-index[aria-label="AI事業のサービス"]>div{grid-template-columns:1fr}
 .section-heading{margin-bottom:28px}
 .business-group-list h3{font-size:24px}
}
@media(max-width:600px){
 .page-intro h1{font-size:29px;line-height:1.5}
 .page-intro .intro-copy{font-size:16px;line-height:1.9}
 .section-heading h2{font-size:28px;line-height:1.55}
 .business-overview-section{padding-top:20px}
 .business-group-list article{gap:12px;padding:24px 0}
 .ai-service-tree{padding-left:14px}
 .support-scope-list{grid-template-columns:1fr;gap:5px}
 .support-offering-grid h4,.system-theme-grid h4{font-size:20px}
 .service-page-index a{font-size:14px;min-height:52px}
 .voice-growth strong{line-height:1.85}
 .growth-voice .case-tags{gap:6px;margin-bottom:18px}
 .growth-voice .case-tags li{font-size:12px;padding:6px 9px}
}

/* v35: three clear recruitment tracks; role details carry the full brief. */
.recruit-track-list{border-top:1px solid var(--line);margin:28px 0 22px}
.recruit-track{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:48px;padding:36px 0;border-bottom:1px solid var(--line)}
.recruit-track h4{font-size:clamp(23px,2.2vw,29px);line-height:1.65;letter-spacing:-.025em;margin:14px 0 0}
.recruit-track-body>p{margin:0}
.recruit-track-body .recruit-reward{margin-top:20px;padding-left:16px;border-left:2px solid var(--blue);font-weight:600;color:var(--ink)}
.recruit-track-links{display:grid;gap:12px;margin-top:24px}
.recruit-track-links>a{display:block;padding:17px 20px;background:var(--pale);border:1px solid var(--line)}
.recruit-track-links>a:hover{border-color:var(--blue)}
.recruit-track-links>a>span{display:block;font-size:18px;line-height:1.65;font-weight:600;color:var(--ink)}
.recruit-track-links small{display:block;font-size:14px;color:var(--blue);margin-top:8px}
.career-reward-detail{padding:24px;background:var(--pale);margin-bottom:24px}
.career-reward-detail .career-small{margin-top:18px}
.career-partners>.career-link{margin-bottom:20px}
@media(max-width:800px){.recruit-track{grid-template-columns:1fr;gap:20px;padding:28px 0}.recruit-track h4{font-size:25px}.recruit-track-links{margin-top:20px}}
@media(max-width:600px){.career-intro h2{font-size:28px}.recruit-track h4{font-size:24px}.recruit-track-links>a{padding:16px}.recruit-track-links>a>span{font-size:18px}.career-reward-detail{padding:20px 18px}}

/* v36: a clear visual sequence for the long editorial pages. */
.page-masthead{background:var(--navy);color:#fff}
.page-masthead .page-intro{border:0;padding-top:30px;padding-bottom:48px}
.page-masthead .breadcrumb,.page-masthead .intro-copy{color:#d4e3ed}
.page-masthead .breadcrumb a{color:#d4e3ed}
.page-masthead .eyebrow{color:#9fcbdc}
.page-masthead h1{color:#fff}
.page-masthead .intro-grid{align-items:center}
.page-masthead .company-intro{padding-bottom:42px}
.page-services .service-page-index{padding-top:24px;padding-bottom:24px}
.page-services .service-page-index a{background:var(--pale);border-color:transparent;border-bottom:2px solid #afc7d4}
.page-services .service-page-index a:hover{background:#e4eff4;border-bottom-color:var(--blue)}
.business-overview-section .business-group-list{border-top:0;display:grid;gap:18px}
.business-overview-section .business-group-list>article{background:var(--pale);border:0;padding:32px;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:32px}
.business-overview-section .business-group-list>article>div:first-child{border-top:3px solid var(--blue);padding-top:16px}
.business-overview-section .business-group-list h3{font-size:25px}
.business-overview-section .ai-service-tree{border-color:#94b7ca}
.business-overview-section .case-text-link{border-color:#9cbaca}
.business-portfolio-details{padding-top:0;padding-bottom:0}
.business-portfolio-details>.wrap{width:100%;max-width:none}
.business-portfolio-heading{padding:48px max(40px,calc((100% - var(--wrap))/2));margin:0;background:var(--navy);color:#fff}
.business-portfolio-heading .eyebrow>span{color:#a6cedf}
.business-portfolio-heading .heading-aside p{color:#d4e3ed}
.business-detail{padding:64px 0!important;border-top:0}
.business-detail>*{width:calc(100% - 80px);max-width:var(--wrap);margin-left:auto;margin-right:auto}
.business-detail:nth-of-type(even){background:var(--pale)}
.business-detail:nth-of-type(even) .business-capabilities article{background:#fff}
.business-detail-heading>div:first-child{border-left:3px solid var(--blue);padding-left:22px}
.business-detail-heading h3{font-size:32px;margin:14px 0}
.business-detail-heading .eyebrow{margin:0}
.business-capabilities article{border-top:2px solid #b4ccd9}
.property-network{background:#e3edf3;border-top:0;padding:32px;box-sizing:border-box}
#rent-a-car-details{background:#14374f;color:white}
#rent-a-car-details .eyebrow,#rent-a-car-details .business-detail-pitch{color:#abd3e3}
#rent-a-car-details .business-detail-intro>p{color:#e0eaf1}
#rent-a-car-details .button{background:white;color:var(--ink);border-color:white}
#rent-a-car-details .business-detail-heading{margin-bottom:0}
.service-choice{border-bottom:0;gap:16px;padding-top:28px;padding-bottom:32px}
.service-choice>article{background:var(--pale);padding:24px;border-top:3px solid var(--blue)}
.service-choice h2{font-size:19px}
.service-detail-section .service-detail-heading{background:var(--navy);color:#fff;padding:32px;gap:36px;margin-bottom:32px}
.service-detail-section .service-detail-heading .eyebrow{color:#a6cedf}
.service-detail-section .service-detail-heading>p{color:#d4e3ed}
.service-detail-section .service-detail-pitch{color:#abd3e3}
#reskill-details{background:#e9f1f5}
.support-offering-grid article{background:#fff;padding:24px;border-top:3px solid #8fb6ca}
.support-offering-grid{gap:20px}
.support-offering-grid h4{font-size:19px}
.page-voices .client-voices{padding-top:48px;padding-bottom:56px}
.page-voices .voices-full{gap:32px}
.page-voices .voices-full .experience-voice{padding:0;gap:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);border:1px solid var(--line);background:#fff;overflow:hidden}
.page-voices .voices-full .voice-top{padding:14px 28px;margin:0;background:var(--navy);color:white;align-items:center}
.page-voices .voices-full .voice-top>span{color:white;font-size:16px}
.page-voices .voices-full .voice-top>small{color:#c8dce8}
.page-voices .voices-full .voice-story{background:var(--pale);padding:30px;align-self:stretch}
.page-voices .voices-full .voice-story h3{font-size:25px;line-height:1.65}
.page-voices .voices-full .case-tags li{background:#e0ebf2;color:#31566d}
.page-voices .voices-full blockquote{padding:30px;margin:0;background:#fff}
.page-voices .voices-full .voice-growth{border-color:var(--blue);margin-top:24px}
.page-voices .voices-full .voice-growth strong{font-size:16px}
.page-voices .voices-full .voice-person{padding:16px 28px;margin:0;border-top:1px solid var(--line);background:#fff}
.company-subnav{background:#fff}
.company-message>div:first-child{border-left:3px solid var(--blue);padding-left:24px;align-self:start}
.company-message .message-text{padding-top:0}
#profile{background:#e9f1f5}
#profile .data-list{background:white;padding:8px 30px}
#profile .data-list>div:last-child{border-bottom:0}
#profile .profile-business-groups{display:grid;gap:0}
#profile .profile-business-groups>li+li{margin-top:16px}
.career-intro{max-width:none;background:var(--navy);color:white;padding:40px}
.career-intro .eyebrow{color:#abd3e3}
.career-intro>p{color:#d4e3ed}
.career-intro .career-opening{color:#fff}
.career-intro .button{background:#fff;color:var(--ink);border-color:#fff}
.career-intro .career-link{color:#c0e4f2;border-color:#7696aa}
.recruit-track-list{border-top:0;display:grid;gap:24px}
.recruit-track{background:var(--pale);padding:30px;border-bottom:0;gap:32px}
.recruit-track-heading{border-top:3px solid var(--blue);padding-top:18px}
.recruit-track-links>a{background:#fff}
#career-businesses{padding:32px;background:#eef4f7}
#career-businesses .career-business-worklist article{background:transparent}
.career-partners{background:#14374f;color:#fff}
.career-partners .eyebrow{color:#abd3e3}
.career-partners>.career-lead,.career-partners>.career-list p{color:#d4e3ed}
.career-partners .career-small,.career-partners .career-status{color:#d4e3ed}
.career-partners>.career-link{color:#c0e4f2;border-color:#7696aa}
.career-partners .career-list li:before{background:#a6cedf}
.career-detail-intro{padding:28px 32px;background:var(--pale);border-top:3px solid var(--blue)}
@media(max-width:1000px){
 .business-overview-section .business-group-list>article{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);padding:26px;gap:26px}
 .business-overview-section .business-group-list h3{font-size:23px}
}
@media(max-width:800px){
 .business-portfolio-heading{padding:36px 30px;display:block}
 .business-detail>*{width:calc(100% - 60px)}
 .business-detail{padding:44px 0!important}
 .business-detail-heading h3{font-size:29px}
 .service-choice>article+article{border-top:3px solid var(--blue);padding-top:24px}
 .service-detail-section .service-detail-heading{padding:26px;gap:20px}
 .page-voices .voices-full .voice-story{padding:26px}
 .page-voices .voices-full blockquote{padding:26px;margin:0}
 .page-voices .voices-full .voice-story h3{font-size:24px}
 .career-intro{padding:30px}
 .recruit-track{padding:26px;gap:20px}
 #career-businesses{padding:26px}
}
@media(max-width:600px){
 .page-masthead .page-intro{padding-top:22px;padding-bottom:32px}
 .business-overview-section .business-group-list>article{grid-template-columns:1fr;padding:22px 20px;gap:16px}
 .business-overview-section .business-group-list>article>div:first-child{padding-top:12px}
 .business-overview-section .business-group-list h3{font-size:24px}
 .business-overview-section .ai-service-tree{padding-left:12px}
 .business-portfolio-heading{padding:32px 20px}
 .business-detail>*{width:calc(100% - 40px)}
 .business-detail-heading>div:first-child{padding-left:16px}
 .business-detail-heading h3{font-size:27px}
 .property-network{padding:24px 20px}
 .service-choice>article{padding:22px 20px}
 .service-detail-section .service-detail-heading{padding:24px 20px}
 .service-detail-section .service-detail-heading h2{font-size:26px}
 .support-offering-grid article{padding:22px 20px}
 .page-voices .client-voices{padding-top:28px;padding-bottom:36px}
 .page-voices .voices-full{gap:24px}
 .page-voices .voices-full .voice-top{padding:13px 20px}
 .page-voices .voices-full .voice-story{padding:24px 20px}
 .page-voices .voices-full .voice-story h3{font-size:22px}
 .page-voices .voices-full blockquote{padding:24px 20px}
 .page-voices .voices-full .voice-person{padding:14px 20px}
 .company-message>div:first-child{padding-left:18px}
 #profile .data-list{padding:0 20px}
 .career-intro{padding:28px 20px}
 .career-intro h2{font-size:25px}
 .recruit-track{padding:24px 20px}
 .recruit-track h4{font-size:22px}
 #career-businesses{padding:26px 20px}
 .career-detail-intro{padding:24px 20px}
 .career-detail-intro h1{font-size:26px}
}

/* v37: align the homepage introduction and business rows on one reading grid. */
.business-first>.section-heading,.business-first .business-group-list>article{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr);column-gap:56px}
.business-first>.section-heading{align-items:center;margin-bottom:36px}
.business-first>.section-heading .heading-aside{max-width:none;margin:0}
.business-first>.section-heading h2{font-size:clamp(30px,2.7vw,38px);line-height:1.55}
.business-first>.section-heading h2 .editorial-break{display:block}
.business-first>.section-heading .heading-aside p{max-width:42em;margin:0 0 14px}
.business-first .business-group-list>article{padding:30px 0}
.business-first .business-group-list>article>div>p:not(.eyebrow){max-width:46em}
.business-first .business-service-names{gap:8px;margin:16px 0 10px!important}
.business-first .business-service-names>span{background:var(--pale);padding:5px 10px;font-size:14px;color:var(--ink)}
.business-first .business-group-list h3{font-size:25px}
.business-first .business-group-list .eyebrow{font-size:13px}
.page-masthead .breadcrumb a:hover{color:#fff;text-decoration:underline}
.career-intro .career-link:hover,.career-partners>.career-link:hover{color:#fff;border-color:#fff}
.page-masthead a:focus-visible,.career-intro a:focus-visible,.career-partners>a:focus-visible,.contact-section a:focus-visible,#rent-a-car-details a:focus-visible{outline-color:#c0e4f2}
@media(max-width:1050px) and (min-width:801px){
 .business-first>.section-heading,.business-first .business-group-list>article{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);column-gap:32px}
 .business-first>.section-heading h2{font-size:30px}
}
@media(max-width:800px){
 .business-first>.section-heading,.business-first .business-group-list>article{grid-template-columns:1fr;gap:18px}
 .business-first>.section-heading{margin-bottom:28px}
 .business-first>.section-heading .heading-aside{margin:0}
 .business-first>.section-heading h2{font-size:30px}
 .business-first .business-group-list>article{padding:26px 0;gap:12px}
 .business-first .business-group-list h3{font-size:24px}
}
@media(max-width:600px){.business-first>.section-heading h2{font-size:28px}}

/* v38: one navy masthead palette across index, detail and contact pages.
   The full-bleed paint does not change the existing content widths or layout. */
.cases-intro,.study-intro,.contact-intro,.career-masthead{
 background:var(--navy);color:#fff;
 box-shadow:0 0 0 100vmax var(--navy);clip-path:inset(0 -100vmax);
}
.cases-intro h1,.cases-intro .cases-lead,.study-intro h1,.contact-intro h1,.career-masthead h1{color:#fff}
.cases-intro .eyebrow,.contact-intro .eyebrow,.career-masthead .eyebrow,.study-intro .case-meta>span{color:#a6cedf}
.cases-intro .cases-intro-copy,.contact-intro>p:not(.eyebrow),.study-intro .study-hero>div>p,.career-masthead .career-detail-lead,.career-masthead .career-small{color:#d4e3ed}
.cases-intro .breadcrumb,.cases-intro .breadcrumb a,.study-intro .breadcrumb,.study-intro .breadcrumb a,.contact-intro .breadcrumb,.contact-intro .breadcrumb a,.career-masthead .breadcrumb,.career-masthead .breadcrumb a{color:#d4e3ed}
.cases-intro .breadcrumb a:hover,.study-intro .breadcrumb a:hover,.contact-intro .breadcrumb a:hover,.career-masthead .breadcrumb a:hover{color:#fff;text-decoration:underline}
.cases-intro .case-category-nav,.study-intro .study-nav,.study-intro .case-highlights{border-color:#486274}
.cases-intro .case-category-nav>a{background:transparent;color:#e0eaf1;border-color:#7d9aab}
.cases-intro .case-category-nav>a:first-child{background:#fff;color:var(--ink);border-color:#fff}
.cases-intro .case-category-nav>a:hover{background:#e3eff5;color:var(--ink);border-color:#e3eff5}
.study-intro .case-meta>small,.study-intro .case-highlights dt,.study-intro .case-metric-period{color:#c5d9e6}
.study-intro .case-highlights dd,.study-intro .case-highlights dd i{color:#fff}
.study-intro .study-nav a{color:#d4e3ed}
.study-intro .study-nav a:hover{color:#fff;text-decoration:underline}
.study-intro .study-hero>div>.model-note{background:#18364b;color:#d4e3ed;border-color:#8fb6ca}
.career-detail{padding-top:0}
.career-masthead{padding-top:28px}
.career-masthead .career-detail-intro{background:var(--navy);border-top-color:#8fb6ca;border-bottom-color:#486274}
.career-masthead .button{background:#fff;color:var(--ink);border-color:#fff}
.career-masthead .career-link{color:#c0e4f2;border-color:#7696aa}
.career-masthead .career-link:hover{color:#fff;border-color:#fff}
.cases-intro a:focus-visible,.study-intro a:focus-visible,.contact-intro a:focus-visible,.career-masthead a:focus-visible{outline-color:#c0e4f2}
@media(max-width:600px){.career-masthead{padding-top:22px}}

/* v39 お問い合わせの送信・プライバシーポリシー */
.footer-legal{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 24px}
.contact-alert{margin:0 0 22px;padding:13px 16px;border-left:3px solid #b42318;background:#fdf0ef;color:#8a1c12;font-size:14px;line-height:1.8}
.contact-alert:focus{outline:2px solid #b42318;outline-offset:2px}
.contact-alert:empty{margin:0;padding:0;border:0}
.contact-extra{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.contact-form-panel label.contact-consent{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;line-height:1.8}
.contact-form-panel .contact-consent input{width:20px;height:20px;min-height:0;margin:4px 0 0;padding:0;accent-color:var(--blue)}
.contact-form-panel label>.contact-consent-text{min-width:0;font-size:inherit;color:inherit;border:0;padding:0;margin:0}
.contact-consent-text a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.contact-consent-badge{display:inline-block;margin-left:10px;padding:1px 4px;border:1px solid #c5dce7;color:var(--blue);font-size:12px;line-height:1.5;vertical-align:1px}
.contact-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.contact-form-panel [aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 1px #b42318}
.contact-confirm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:25px}
.contact-confirm-actions .button{justify-content:center;min-width:200px}
.contact-confirm-actions .button:disabled{opacity:.6;transform:none}
.contact-back{min-height:57px;padding:15px 25px;border:1px solid #9fbccb;border-radius:2px;background:#fff;color:var(--ink);font-size:14px;font-weight:600}
.contact-back:disabled{opacity:.6}
.contact-complete h2{font-size:25px;margin-bottom:22px}
.contact-complete p{font-size:15px;line-height:2;margin-bottom:14px}
.contact-complete:focus,.contact-confirm:focus{outline:none}
.privacy-policy>*{max-width:860px}
.privacy-policy section{margin-top:46px}
.privacy-policy h2{font-size:21px;line-height:1.6;margin-bottom:14px}
.privacy-policy p,.privacy-policy li{font-size:15px;line-height:2;color:var(--ink)}
.privacy-policy p+p{margin-top:10px}
.privacy-policy ul{list-style:disc;margin:12px 0;padding-left:1.4em}
.privacy-lead{font-size:16px!important}
.privacy-policy .data-list a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.privacy-pending{background:#fff1c2;color:#6b4a00;padding:0 4px}
.privacy-dates{margin-top:40px;color:var(--muted)!important;font-size:14px!important}
@media(max-width:700px){
 .footer-legal{justify-content:flex-start;gap:8px 18px}
 .contact-confirm-actions .button,.contact-back{width:100%}
 .privacy-policy h2{font-size:19px}
 .privacy-policy p,.privacy-policy li{font-size:15px}
}
