/* DESIGN B — FIELDWORK. Navy-to-teal gradients, editorial rhythm, connected teams. */
:root{--b-masthead:radial-gradient(ellipse at 92% 16%,rgba(61,174,165,.48),transparent 55%),linear-gradient(118deg,#10233f 0%,#17485f 55%,#257c7c 100%);--bg-0:#fff;--bg-1:#f1f4f4;--bg-2:#fff;--bg-3:#e1e9eb;--ink-1:#102b3b;--ink-2:#3b5260;--ink-3:#526c7b;--ink-4:#647985;--accent:#16465c;--accent-deep:#102f41;--accent-soft:#eaf1f3;--coral:#f07e42;--coral-2:#d9652d;--navy:#102b3b;--blue:#16465c;--muted:#526c7b;--orange:#f07e42;--line:#d2dfe3;--gt-rust:#e36c36}
body,.page{background:#fff!important;color:#102b3b}
::selection{background:#f07e42;color:#102b3b}
.shell-header{background:linear-gradient(110deg,#10233f,#174355 65%,#206165);border-bottom:1px solid #36505f;box-shadow:none}
.shell-header-inner{min-height:84px}
.shell-brand img{width:112px}
.shell-nav a{color:#e0ebef;font-size:13px;font-weight:600;border-bottom:2px solid transparent;padding-block:17px}
.shell-nav a:hover,.shell-nav a:focus-visible{color:#fff;border-color:#f07e42}
body[data-page] .shell-nav a[aria-current="page"],body[data-page] .shell-nav a[data-nav]{color:#e0ebef}
body[data-page] .shell-nav a[aria-current="page"]{color:#fff;border-color:#f07e42}
.shell-contact{background:#f07e42;color:#102b3b!important;border-radius:0;padding:14px 17px}
.shell-contact:hover{background:#ff9a63}
.shell-mobile summary{border-color:#67808d;border-radius:0}.shell-mobile summary span{background:#fff}
.shell-mobile nav{border-radius:0;border-top:4px solid #f07e42}
.shell-mobile nav a[aria-current="page"]{background:#edf3f5}
.shell-footer{background:#0d2636;border-top:8px solid #f07e42;padding-block:62px 30px}
.shell-footer-main{gap:42px;padding-bottom:44px}.shell-footer-company img{width:182px}
.shell-footer-col h2{color:#ffa36e;font-size:13px;letter-spacing:.12em}
.shell-footer-col a{padding-block:5px}.shell-footer-cta{border-radius:0;background:#f07e42;color:#102b3b;font-weight:800}
.shell-footer-cta:hover{background:#ff9a63}.shell-footer-bottom{color:#c2d4dd;letter-spacing:.02em}
.breadcrumb{background:transparent;color:#4a6675;font-size:12px;padding-block:19px;letter-spacing:.03em}
.eyeline,.eyebrow,.page .sec-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:#b2512c}
.page .sec-eyebrow::before{background:#e36c36!important;width:34px}
.btn,.page .gt-btn{border-radius:0!important;font-weight:800!important;padding:15px 24px!important;box-shadow:none!important}
.btn-primary,.page .gt-btn.coral,.btn-orange{background:#16465c!important;color:#fff!important}
.btn-primary:hover,.page .gt-btn.coral:hover{background:#0d2636!important}
.btn-outline{background:#fff;border:1px solid #8da5b0;color:#16465c}
.page .h-display{font-weight:800!important;letter-spacing:-.04em!important}
.page h2.h-display{font-size:clamp(32px,4vw,52px)!important;line-height:1.35!important}
.page .ai-pill{border-radius:0;border-color:#adc1ca;font-weight:700}

/* One photographic opening, composed as a full-width cover. */
.gt-home-hero{display:block!important;background:#0d2636!important;min-height:650px!important;isolation:isolate}
.page>.gt-home-hero{padding-inline:0!important}
.gt-home-hero>div[aria-hidden="true"]{position:absolute!important;left:0!important;right:0!important;top:0!important;width:100%!important;height:100%!important;opacity:1!important}
.gt-home-hero>div[aria-hidden="true"]>div[aria-hidden="true"]{background-position:75% center!important;opacity:1!important}
.gt-home-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(13,32,59,.98) 0%,rgba(19,64,84,.93) 46%,rgba(24,117,114,.58) 100%);z-index:1;pointer-events:none}
.gt-home-hero>div:last-child{position:relative;z-index:2;max-width:81%!important;padding-top:58px!important;padding-bottom:76px!important}
.gt-home-hero h1.h-display{font-size:clamp(42px,5.2vw,74px)!important;line-height:1.25!important;max-width:980px!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.gt-home-hero h1.h-display span{color:#ff9d65!important;-webkit-text-fill-color:#ff9d65!important}
.gt-home-hero [style*="color: var(--ink-"]{color:#e0eaf0!important}
.gt-home-hero .ai-pill{background:transparent!important;border-color:#708895;color:#e6eff2!important;font-size:11px}
.gt-home-hero .ai-pill .dot{background:#ff9d65!important}
.gt-home-hero a.gt-btn{background:transparent!important;border:1px solid #b5c8d1!important;color:#fff!important}
.gt-home-hero a.gt-btn.coral{background:#f07e42!important;border-color:#f07e42!important;color:#102b3b!important}
.gt-home-hero a.gt-btn:hover{background:#fff!important;color:#102b3b!important}
.gt-home-hero::after{background:#0d2636;color:#e7eef2;right:22px;bottom:18px;font-size:10px}
.gt-home-hero+section{background:#f07e42!important;border:0!important;padding-block:22px!important}
.gt-home-hero+section>div>div>span{color:#102b3b!important;font-size:12px!important;font-weight:800!important;letter-spacing:.06em!important}
.gt-home-hero+section>div>div>span span{color:#683819!important}
#pre-hero{background:linear-gradient(90deg,#0d2636 20%,rgba(13,38,54,.77)),url('../assets/editorial-hero.jpg') right center/cover!important}
#pre-hero h1,#pre-hero p{color:#fff!important}

/* Sub-page openings keep the same dark masthead language. */
.page .gt-hero-sec{background:var(--b-masthead)!important;color:#d0e0e7!important;border-bottom:0;padding-block:54px 64px!important}
.page .gt-hero-sec a,.page .gt-hero-sec [style*="color: var(--ink-"]{color:#c9dce5!important}
.page .gt-hero-sec .sec-eyebrow{color:#ffad7c!important}
.page .gt-hero-sec [style*="color: var(--accent)"]{color:#ffad7c!important}
.page .gt-hero-sec .h-display{color:#c9dce5!important;-webkit-text-fill-color:currentColor!important}
.page .gt-hero-sec h1:not(.h-display){color:#fff!important;font-size:clamp(36px,4.2vw,60px)!important;font-weight:800!important;line-height:1.4!important}
.page .gt-hero-sec h1+p{color:#d0e0e7!important;line-height:1.95!important}
.page .gt-hero-sec .hero-illu{background:#edf3f5;border:0;border-left:5px solid #f07e42;border-radius:0!important;box-shadow:none;animation:none!important;transform:translateY(-50%)}
body[data-page="service"] .gt-hero-sec{background:var(--b-masthead)!important}
body[data-page="service"] .gt-hero-sec::after{border-radius:0;border-left:5px solid #f07e42}
body[data-page="fde"] .gt-hero-sec h1.h-display,body[data-page="role"] .gt-hero-sec h1.h-display{color:#fff!important;font-size:clamp(38px,4.5vw,64px)!important;line-height:1.35!important}
body[data-page="fde"] .gt-hero-sec::after,body[data-page="role"] .gt-hero-sec::after{border-radius:0;border:0;border-left:5px solid #f07e42;box-shadow:none;animation:none;transform:translateY(-50%)}
.page .gt-hero-sec .ai-pill{color:#e4eef2!important;background:#193d50!important;border-color:#587383}
.page .gt-hero-sec .gt-btn{background:transparent!important;border-color:#abc0ca!important;color:#fff!important}
.page .gt-hero-sec .gt-btn.coral{background:#f07e42!important;border-color:#f07e42!important;color:#102b3b!important}
.page .gt-hero-sec .gt-btn:first-child{background:#f07e42!important;border-color:#f07e42!important;color:#102b3b!important}
.page section a[href^="Service.html#"],.page section a[href^="Role.html?"]{border-radius:0!important;box-shadow:none!important}
.page section a[href^="Service.html#"]:hover,.page section a[href^="Role.html?"]:hover{border-color:#e36c36!important}
.page section [style*="border-radius: 8px"],.page section [style*="border-radius: 12px"]{border-radius:0!important}

/* Product and tool pages. */
.hero,.ais-hero,.tools-hero,.op-hero{background:var(--b-masthead)!important;border-bottom:0}
.hero h1,.hero .lead,.ais-hero h1,.tools-hero h1,.op-hero h1{color:#fff!important}
.hero h1 em,.tools-hero h1 em,.op-hero h1 em{color:#ff9d65}
.hero .sublead,.hero .micro,.hero .micro a,.ais-hero p,.tools-lead,.op-hero p:not(.eyebrow){color:#d0e0e7!important}
.hero .eyebrow,.ais-hero .eyebrow,.tools-hero .eyebrow,.op-hero .eyebrow{color:#ffad7c!important}
.hero .btn-primary,.ais-hero .btn-primary,.tools-hero .btn-primary,.op-hero .btn-primary{background:#f07e42!important;color:#102b3b!important}
.product-photo,.product-photo img,.op-art,.tools-hero-art,.tool-feature,.tool-badges span{border-radius:0!important;box-shadow:none!important}
.product-photo figcaption{color:#c7dbe3}.product-photo{border-left:5px solid #f07e42!important}
.tools-hero-art{border:0;border-left:5px solid #f07e42;background:#f3f7f8}
.tools-art-line span{border-radius:0;background:#163e52;color:#fff}
.tools-art-line strong{color:#102b3b}.tools-art-line{border-color:#c3d4db}
.tools-hero-art::before{background:#b1c6d0}
.tool-feature{border:1px solid #c3d3db;border-top:5px solid #16465c}
.tool-badges span{background:#edf3f5;border-color:#bdced7}
.card,.flow-step,.cost,.caution>div,.ais-card,.ais-steps article,.ais-figure,.usage-notice,.notice{border-radius:0;box-shadow:none!important}
.card,.flow-step,.cost,.ais-card{border-top:3px solid #16465c}
.card-icon,.step-no{color:#a54b2b}.flow-step .step-no{border-radius:0!important}
.download-panel{border-radius:0;background:#0d2636;border-left:6px solid #f07e42}
.ais-figure{border:0;border-top:5px solid #f07e42;background:#fff}
.ais-figure p{color:#3b5260!important}
.op-hero-inner{padding-block:58px 66px;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)}
.op-hero h1{font-size:clamp(38px,4.7vw,64px);font-weight:800}
.op-art{border:0;border-left:5px solid #f07e42;background:#eef4f6}
.op-art img{animation:none}.op-photo img{height:290px}
.op-grid:not(.op-business-grid){display:grid;grid-template-columns:1fr;gap:0;border-top:2px solid #102b3b}
.op-grid:not(.op-business-grid) .op-card{display:grid;grid-template-columns:72px minmax(200px,.85fr) minmax(0,1.15fr);column-gap:28px;border:0;border-bottom:1px solid #bfcfd7;padding:32px 10px;box-shadow:none!important;background:#fff}
.op-grid:not(.op-business-grid) .op-card:hover{transform:none;background:#f3f7f8}
.op-grid:not(.op-business-grid) .op-number{grid-column:1;grid-row:1/3;font-size:0;margin:0;padding-top:6px}
.op-grid:not(.op-business-grid) .op-number::before{content:counter(role,decimal-leading-zero);font-size:35px;line-height:1;color:#d66531}
.op-grid:not(.op-business-grid){counter-reset:role}.op-grid:not(.op-business-grid) .op-card{counter-increment:role}
.op-grid:not(.op-business-grid) .op-card h3{grid-column:2;grid-row:1/3;font-size:25px}
.op-grid:not(.op-business-grid) .op-card>p:not(.op-number){grid-column:3;grid-row:1}
.op-grid:not(.op-business-grid) .op-card ul{grid-column:3;grid-row:2}
.op-note{background:#edf3f5;border-left-color:#e36c36}
.op-contact,.tools-support,.contact-strip{background:#eaf1f4;border-top:0}
.op-contact h2,.tools-support h2{font-weight:800}.op-business-grid .op-card{border:1px solid #cad9e0;border-top:5px solid #16465c}
.article h1{font-weight:800}.article h2{border-color:#16465c;font-weight:800}
.article .notice{border-left-color:#e36c36;background:#edf3f5}.spec th{background:#e8f0f3}

@media(max-width:1080px){.shell-nav{display:none}.shell-header-inner{min-height:76px}}
@media(max-width:800px){
 .gt-home-hero{min-height:0!important}
 .gt-home-hero>div:last-child{max-width:100%!important;padding:48px var(--site-gutter) 62px!important}
 .gt-home-hero h1.h-display{font-size:clamp(35px,6.1vw,52px)!important}
 .gt-home-hero::before{background:linear-gradient(135deg,rgba(13,32,59,.96),rgba(26,105,105,.88))}
 .page .gt-hero-sec{padding-block:36px 44px!important}
 .page .gt-hero-sec .hero-illu{transform:none!important;max-width:320px!important;margin-top:28px}
 body[data-page="fde"] .gt-hero-sec::after,body[data-page="role"] .gt-hero-sec::after{transform:none!important}
 .page .gt-hero-sec h1:not(.h-display),body[data-page="fde"] .gt-hero-sec h1.h-display,body[data-page="role"] .gt-hero-sec h1.h-display{font-size:clamp(31px,6.3vw,44px)!important}
 .op-hero-inner{grid-template-columns:1fr;padding-block:38px 46px}
 .op-grid:not(.op-business-grid) .op-card{grid-template-columns:44px minmax(0,1fr);gap:12px 18px;padding:27px 0}
 .op-grid:not(.op-business-grid) .op-number{grid-column:1;grid-row:1/4}
 .op-grid:not(.op-business-grid) .op-number::before{font-size:28px}
 .op-grid:not(.op-business-grid) .op-card h3{grid-column:2;grid-row:1;font-size:22px;margin:0}
 .op-grid:not(.op-business-grid) .op-card>p:not(.op-number){grid-column:2;grid-row:2}
 .op-grid:not(.op-business-grid) .op-card ul{grid-column:2;grid-row:3;margin-top:0}
 .op-art{max-width:320px}.op-photo{max-width:100%}.op-photo img{height:230px}
}
@media(max-width:500px){
 .shell-header-inner{min-height:70px}.shell-brand img{width:94px}.shell-contact{padding:11px 12px;font-size:12px}.shell-footer{padding-block:42px 26px}
 .gt-home-hero>div:last-child{padding-top:35px!important}.page .gt-home-hero h1.h-display{font-size:32px!important;line-height:1.35!important}
 .gt-home-hero .gt-btn{width:100%;justify-content:space-between}
 .hero h1,.tools-hero h1,.op-hero h1{font-size:35px;line-height:1.4}
 .page h2.h-display{font-size:31px!important}.op-hero-inner{gap:24px}.op-art{max-width:260px}
 .op-photo{max-width:100%}.btn{font-size:14px}.op-card ul{font-size:14px}
}

/* The alternate design has its own composition, from the masthead to the index. */
body[data-page] .page .gt-hero-sec{background:var(--b-masthead)!important}
.op-hero,.tools-hero,.hero,.ais-hero{position:relative;isolation:isolate;overflow:hidden}
.op-hero::before,.tools-hero::after{content:"";position:absolute;width:650px;height:650px;right:-140px;top:-330px;border:1px solid rgba(201,245,237,.15);border-radius:50%;box-shadow:0 0 0 85px rgba(201,245,237,.035),0 0 0 170px rgba(201,245,237,.025);pointer-events:none;z-index:-1}
.op-hero-inner{gap:32px;padding-block:64px 76px;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)}
.op-hero h1{font-size:clamp(36px,4.1vw,59px);letter-spacing:-.045em;line-height:1.5}
.op-hero .action-row{margin-top:30px;gap:22px;align-items:center}
.b-text-link{color:#fff;text-decoration:none;font-size:14px;font-weight:700;border-bottom:1px solid #92c9c8;padding:10px 0;text-underline-offset:6px}
.b-text-link:hover{border-color:#ffad7c;color:#ffad7c}
.b-team-map{height:390px;position:relative;width:100%;max-width:440px;justify-self:end;font-family:inherit}
.b-team-map svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#9bd3cc;stroke-width:1;opacity:.4}
.b-team-map svg circle:first-child{stroke-dasharray:3 9;transform-origin:220px 200px;animation:b-orbit 75s linear infinite}
.b-team-map svg circle:nth-child(2){stroke:#72c0ba;opacity:.7}
.b-team-core{position:absolute;inset:32% 22%;border:1px solid #81bab9;background:linear-gradient(135deg,rgba(13,38,64,.75),rgba(27,100,107,.8));border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 65px rgba(109,232,212,.12)}
.b-team-core>span{font-size:10px;letter-spacing:.14em;color:#b0dfd9}.b-team-core strong{font-family:Georgia,serif;font-size:33px;font-weight:500;letter-spacing:-.04em}.b-team-core small{font-size:10px;margin-top:7px;color:#d8eeea}
.b-team-node{position:absolute;background:rgba(13,42,61,.82);border:1px solid #659b9e;box-shadow:0 8px 25px #08213b26;min-width:125px;padding:13px 14px;color:#fff;backdrop-filter:blur(8px);text-align:center}
.b-team-node span{display:block;font-size:9px;letter-spacing:.12em;color:#ffb285;margin-bottom:4px}.b-team-node strong{font-size:14px;font-weight:700;white-space:nowrap}
.b-node-top{top:5%;left:50%;transform:translateX(-50%)}.b-node-right{right:0;top:43%}.b-node-left{left:0;top:43%}.b-node-bottom{bottom:5%;left:50%;transform:translateX(-50%)}
@keyframes b-orbit{to{transform:rotate(360deg)}}
body[data-page="recruit"] .op-section{padding-block:76px 84px;background:#f3f6f6}
.b-roles-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:60px;align-items:start}
.b-roles-index{position:sticky;top:118px}
.b-roles-index .op-section-head h2{font-size:35px;line-height:1.5;letter-spacing:-.04em}
.b-roles-index nav{margin-top:30px;border-top:1px solid #afc2ca}
.b-roles-index nav a{display:flex;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid #d1dce0;text-decoration:none;color:#244659;font-weight:700;font-size:13px}
.b-roles-index nav span{font-size:11px;color:#a54b2b;font-weight:500}.b-roles-index nav b{margin-left:auto;font-weight:400}.b-roles-index nav a:hover{color:#a54b2b}
.b-roles-body .op-grid:not(.op-business-grid){border:0;gap:20px}
.b-roles-body .op-grid .op-card{grid-template-columns:54px minmax(0,1fr);gap:16px 20px;border:1px solid #d5e0e3;border-left:3px solid #327d80;padding:30px;background:#fff}
.b-roles-body .op-grid .op-card:nth-child(even){border-left-color:#d98154}
.b-roles-body .op-grid .op-number{grid-column:1;grid-row:1/4;padding-top:6px}
.b-roles-body .op-grid .op-number::before{color:#286d75;font-family:Georgia,serif;font-size:40px;font-weight:400}
.b-roles-body .op-grid .op-card:nth-child(even) .op-number::before{color:#ba683f}
.b-roles-body .op-grid .op-card h3{grid-column:2;grid-row:1;font-size:24px;margin:0}
.b-roles-body .op-grid .op-card>p:not(.op-number){grid-column:2;grid-row:2;font-size:15px}
.b-roles-body .op-grid .op-card ul{grid-column:2;grid-row:3;font-size:14px;margin:0;padding:16px 0 0;list-style:none;border-top:1px solid #e0e8eb}
.b-roles-body .op-card li{position:relative;padding-left:17px}.b-roles-body .op-card li::before{content:"";position:absolute;left:0;top:.8em;width:5px;height:5px;background:#39898a}
.b-roles-body .op-note{background:#e7edef;border-left:0;padding:24px;margin-top:26px}
.op-contact{background:linear-gradient(110deg,#e5efef,#f5f4ee);padding-block:60px 64px}
.op-contact .btn-primary{padding:21px 25px!important}
.op-crosslink{border-top:1px solid #c3d4d7;padding-top:22px}

/* Put the Japanese purpose before decorative English, and keep the photo subtle. */
.page .gt-hero-sec .b-hero-en{font-size:clamp(18px,2.1vw,28px)!important;letter-spacing:.02em!important;font-weight:400!important;color:#b0d8db!important;line-height:1.5!important}
.page .gt-hero-sec .b-hero-en span{display:inline!important;margin-right:.3em}
.page .gt-hero-sec h1{margin-top:18px!important}
.page .gt-hero-sec .hero-illu{border:1px solid #b9dfda55!important;border-radius:16px 55px 16px 16px!important;background:rgba(239,249,248,.93)!important;box-shadow:15px 15px 0 #a0e0d316!important;animation:none!important}
body[data-page="fde"] .gt-hero-sec::after,body[data-page="role"] .gt-hero-sec::after,body[data-page="service"] .gt-hero-sec::after{border-left:0!important;border-radius:16px 55px 16px 16px!important;box-shadow:15px 15px 0 #a0e0d316!important}
.gt-home-hero .b-hero-summary{background:transparent!important;backdrop-filter:none!important;border:0!important;border-left:2px solid #ffb78e!important;border-radius:0!important;padding:2px 0 2px 24px!important;margin-top:32px!important;max-width:680px!important}
.gt-home-hero .b-hero-summary>.mono{display:none!important}
.gt-home-hero .b-hero-summary>div:nth-child(2){font-size:22px!important;line-height:1.7!important;color:#fff!important}
.gt-home-hero .b-hero-summary>div:nth-child(2)>span{display:none!important}
.gt-home-hero .b-hero-summary>div:last-child{color:#e0eeef!important}
.page .b-service-link{border:1px solid #cedde2!important;border-top:3px solid #327d80!important;background:linear-gradient(150deg,#fff,#eff5f5)!important;padding:24px!important;min-height:0!important}
.page .b-service-link>div:first-child{border:0!important;background:transparent!important;padding:0 16%!important;aspect-ratio:2.7!important;margin-bottom:16px!important}
.page .b-service-link>div:nth-child(2){margin-bottom:10px!important}
.page .b-service-link>div:nth-child(2)>span:first-child{display:none}
.page .b-service-link>div:last-child>span{border-radius:2px!important;padding:5px 8px!important;background:#e1eced!important}
.page .b-service-section{position:relative}
.page .b-service-section:nth-of-type(even){background:#f0f5f5!important}
.page .b-service-section h2{letter-spacing:-.03em!important}
.page .b-service-section .ai-pill{border:0;padding-left:0;font-size:13px;color:#286d75}
.page .b-service-section .ai-pill .dot{display:none}
.op-business-grid .op-card{position:relative;overflow:hidden;border:1px solid #cad9e0;border-top:3px solid #327d80;padding-top:35px}
.op-business-grid .op-card::after{content:"";position:absolute;right:-25px;top:-25px;width:90px;height:90px;border:18px solid #327d800d;border-radius:50%;pointer-events:none}
.op-step{position:relative;padding:24px;background:#f1f6f6;border-top:3px solid #327d80}
.tools-hero-art{background:linear-gradient(145deg,#f5fbfa,#d7ebe7);border:1px solid #bee4dc80;border-left:0;border-radius:14px 52px 14px 14px!important;box-shadow:14px 14px 0 #a0e0d316!important}
body[data-page="ai-search"] .ais-hero{background:var(--b-masthead)!important}
.shell-footer{border-top:0;background:linear-gradient(115deg,#10233f,#173f50 70%,#1b535b)}
.shell-footer-main{border-bottom-color:#60808d}
html{scroll-behavior:smooth}#positions,#recruit-contact,[id^="role-"]{scroll-margin-top:115px}
a:focus-visible,summary:focus-visible{outline:3px solid #e28550;outline-offset:5px}
@media(max-width:1050px){.b-roles-layout{grid-template-columns:220px minmax(0,1fr);gap:32px}.op-hero-inner{grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr)}.b-team-map{height:350px}.b-team-node{min-width:110px;padding:12px 9px}.b-team-node strong{font-size:12px}.b-team-core strong{font-size:29px}}
@media(max-width:800px){.op-hero-inner{grid-template-columns:1fr;gap:28px;padding-block:38px 40px}.op-hero h1{font-size:clamp(34px,6.2vw,48px)}.b-team-map{justify-self:center;width:min(100%,440px);height:340px}.b-roles-layout{grid-template-columns:1fr;gap:28px}.b-roles-index{position:static}.b-roles-index .op-section-head{margin-bottom:18px}.b-roles-index .op-section-head h2{font-size:30px}.b-roles-index h2 br{display:none}.b-roles-index nav{display:grid;grid-template-columns:1fr 1fr;margin-top:0;gap:0 22px}.b-roles-body .op-grid .op-card{padding:24px;gap:13px 16px}.b-roles-body .op-grid .op-card h3{font-size:22px}body[data-page="recruit"] .op-section{padding-block:40px 48px}.page .gt-hero-sec .b-hero-en{font-size:20px!important}.op-contact{padding-block:40px 44px}.gt-home-hero .b-hero-summary{max-width:100%!important}.gt-home-hero .b-hero-summary>div:nth-child(2){font-size:19px!important}}
@media(max-width:500px){.b-team-map{height:300px;max-width:350px}.b-team-node{min-width:100px;padding:10px 6px}.b-team-node strong{font-size:11px}.b-team-node span{font-size:8px}.b-team-core strong{font-size:26px}.b-team-core small{font-size:9px}.b-roles-body .op-grid .op-card{padding:22px 18px;grid-template-columns:36px minmax(0,1fr);column-gap:13px}.b-roles-body .op-grid .op-number::before{font-size:30px}.b-roles-body .op-grid .op-card h3{font-size:21px}.b-roles-index nav a{font-size:12px;gap:7px}.op-hero .action-row{gap:14px;margin-top:24px}.op-hero .action-row .btn{width:100%;justify-content:space-between}.b-text-link{font-size:13px}.b-roles-body .op-note{padding:20px}.gt-home-hero>div:last-child{padding-bottom:46px!important}.gt-home-hero .b-hero-summary{padding-left:17px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.b-team-map svg circle:first-child{animation:none}}

/* Subpage visuals explain the services, using the same illustrated language. */
.shell-brand{position:relative;isolation:isolate;align-self:stretch;padding:10px 32px 10px 0}
.shell-brand::before{content:"";position:absolute;inset:0 -10px 0 -100vw;z-index:-1;background:#fff;clip-path:polygon(0 0,100% 0,calc(100% - 24px) 100%,0 100%)}
.shell-brand img{width:120px}
body[data-page="service"] .gt-hero-sec::before,body[data-page="service"] .gt-hero-sec::after{content:none!important;display:none!important}
body[data-page="service"] .page .gt-hero-sec .hero-illu{display:block!important;width:min(36vw,430px)!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body[data-page="service"] .hero-illu img{display:block;width:100%;height:auto}
.b-domain-art{background:rgba(239,249,248,.93);padding:20px;border:1px solid #b9dfda55;border-left:0!important;border-radius:16px 55px 16px 16px!important;box-shadow:15px 15px 0 #a0e0d316!important}
.b-domain-art img{display:block;width:100%;height:auto;animation:none}
.b-generated-art{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;max-width:430px}
@media(max-width:800px){body[data-page="service"] .page .gt-hero-sec{display:flex;flex-direction:column}body[data-page="service"] .page .gt-hero-sec>div:last-child{order:1}body[data-page="service"] .page .gt-hero-sec .hero-illu{order:2;width:min(100%,410px)!important;margin:30px auto 0!important}.b-domain-art{width:min(100%,410px);max-width:410px;padding:16px}}
@media(max-width:500px){.shell-brand{padding:8px 18px 8px 0}.shell-brand img{width:94px}.shell-brand::before{right:-4px;clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%)}}

/* Contextual illustrations share the same background, without picture frames. */
body[data-page="about"] .page .gt-hero-sec .hero-illu,body[data-page="news"] .page .gt-hero-sec .hero-illu{width:min(36vw,430px)!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.page .gt-hero-sec .hero-illu img{display:block;width:100%;height:auto}
body[data-page="fde"] .page .gt-hero-sec::after{background-image:url('../assets/editorial-fde.svg');background-color:transparent;width:min(36vw,430px);height:430px;border:0!important;border-radius:0!important;box-shadow:none!important}
.b-tools-illustration{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0;max-width:450px}
.b-tools-illustration::before{display:none}.b-tools-illustration img{display:block;width:100%;height:auto}
@media(max-width:800px){body[data-page="about"] .page .gt-hero-sec,body[data-page="news"] .page .gt-hero-sec{display:flex;flex-direction:column}body[data-page="about"] .page .gt-hero-sec>div:last-child,body[data-page="news"] .page .gt-hero-sec>div:last-child{order:1}body[data-page="about"] .page .gt-hero-sec .hero-illu,body[data-page="news"] .page .gt-hero-sec .hero-illu{order:2;width:min(100%,380px)!important;margin:28px auto 0!important}body[data-page="fde"] .page .gt-hero-sec::after{width:min(100%,380px);height:330px}.b-tools-illustration{max-width:380px;justify-self:center}}

/* Explanatory content stays readable at both desktop and mobile sizes. */
.b-infographic-section{padding-block:46px!important;background:#fff;border-bottom:1px solid #dfe8ea}
.b-infographic-wrap{max-width:1180px;margin:auto}
.b-content-graphic{margin:22px 0 28px;min-width:0}
.b-content-graphic picture{display:block;max-width:100%}
.b-content-graphic img{display:block;width:100%;max-width:100%;height:auto;border:1px solid #d3e2e3;border-radius:12px}
.b-content-graphic figcaption{font-size:12px;color:#57717c;line-height:1.7;margin-top:12px;text-align:center}
.b-infographic-section .b-content-graphic{margin:0}
.page .b-news-row{grid-template-columns:104px 104px 112px minmax(0,1fr) auto!important;gap:22px!important;padding:22px 0!important}
.b-news-thumb{display:block;width:104px;height:82px;object-fit:contain;background:linear-gradient(135deg,#edf4f3,#e1eeec);border-radius:6px;padding:5px}
.page .b-news-row:hover{background:#f4f8f7!important}
.b-roles-body .op-grid .op-card{padding-right:82px}
.b-role-icon{position:absolute;right:20px;top:26px;width:46px;height:46px}
@media(max-width:800px){.b-infographic-section{padding-block:30px!important}.page .b-news-row{grid-template-columns:80px minmax(0,1fr)!important;gap:7px 17px!important;padding:20px 0!important}.b-news-thumb{grid-column:1;grid-row:1/4;width:80px;height:84px}.b-news-row>span:nth-of-type(1){grid-column:2;grid-row:1;font-size:12px!important}.b-news-row>span:nth-of-type(2){grid-column:2;grid-row:2;justify-self:start;font-size:10px!important;padding:2px 7px!important}.b-news-row>span:nth-of-type(3){grid-column:2;grid-row:3;font-size:15px!important;line-height:1.7!important}.b-news-row>span:last-child{display:none}.b-content-graphic{margin:20px 0 25px}.b-roles-body .op-grid .op-card{padding-right:64px}.b-role-icon{width:36px;height:36px;right:16px;top:22px}}
@media(max-width:500px){.b-roles-body .op-grid .op-card{padding-right:18px}.b-role-icon{position:static;grid-column:1;grid-row:2;width:32px;height:32px}.b-roles-body .op-grid .op-number{grid-row:1}}

/* Calm editorial drawings and a consistent reading hierarchy. */
:root{--ink-1:#17384a;--ink-2:#354e5d;--ink-3:#526a77;--ink-4:#627580;--muted:#4e6673}
.b-editorial-art{margin:0;width:100%;max-width:450px;justify-self:end}
.b-editorial-art img{display:block;width:100%;height:auto}
body[data-page="fde"] .page .gt-hero-sec::after{height:360px}
.page>section:not(.gt-hero-sec):not(.gt-home-hero){line-height:1.9}
.page>section:not(.gt-hero-sec):not(.gt-home-hero) :is(p,li,td,dd){font-size:17px;line-height:1.95;color:var(--ink-2)}
.page>section:not(.gt-hero-sec):not(.gt-home-hero) .h-display{letter-spacing:-.025em!important;line-height:1.5!important}
.page>section:not(.gt-hero-sec):not(.gt-home-hero) h2.h-display{font-size:clamp(29px,3vw,40px)!important}
.page>section:not(.gt-hero-sec):not(.gt-home-hero) .mono{font-size:13px!important;line-height:1.65;color:#526a77;letter-spacing:.025em}
.page>section:not(.gt-hero-sec):not(.gt-home-hero) .sec-eyebrow{font-size:13px!important;line-height:1.6;letter-spacing:.07em}
.page>section:not(.gt-hero-sec):not(.gt-home-hero) .ai-pill{font-size:13px!important;line-height:1.6}
.page>section:not(.gt-hero-sec):not(.gt-home-hero) .gt-btn{font-size:16px!important}
.page .b-service-link>div:nth-child(4){font-size:23px!important;line-height:1.5!important;margin-bottom:14px!important}
.page .b-service-link>div:nth-child(5){font-size:17px!important;line-height:1.95!important;color:#354e5d!important}
.page .b-service-link>div:last-child>span{font-size:13px!important;padding:5px 9px!important}
.page>section:not(.gt-hero-sec):not(.gt-home-hero) :is(h2,h3){color:#17384a}
.section-head h2,.op-section-head h2,.tools-section-head h2{font-size:clamp(29px,3vw,37px);line-height:1.5;letter-spacing:-.025em}
.section-head p,.op-section-head p,.tools-section-head p{font-size:17px;line-height:1.95;color:#354e5d}
.section-head .eyeline,.op-section-head .eyeline,.tools-section-head .eyeline{font-size:13px;line-height:1.6;letter-spacing:.07em;color:#965b3d}
.card h3,.flow-step h3,.ais-card h3,.op-card h3,.ais-steps h3{font-size:23px;line-height:1.5;letter-spacing:-.02em}
.card p,.flow-step p,.ais-card p,.op-card p,.ais-steps p,.op-step p,.tool-copy p,.tools-support p,.contact-strip p{font-size:17px;line-height:1.95;color:#354e5d}
.op-card ul,.tool-copy ul{font-size:16px;line-height:1.95;color:#354e5d}
.b-roles-body .op-grid .op-card h3{font-size:24px;line-height:1.5}
.b-roles-body .op-grid .op-card>p:not(.op-number){font-size:17px;line-height:1.95;color:#354e5d}
.b-roles-body .op-grid .op-card ul{font-size:16px;line-height:1.95;color:#354e5d}
.op-card h3 small{font-size:15px;line-height:1.8;color:#526a77}
.op-note,.op-crosslink,.usage-notice p,.notice p,.caution p{font-size:15px;line-height:1.95;color:#415c6a}
.spec td,.spec th{font-size:16px;line-height:1.9;color:#354e5d;padding:17px 19px}
.spec th{font-weight:700;color:#17384a}
.faq summary{font-size:18px;line-height:1.8;color:#17384a}.faq details p{font-size:17px;line-height:1.95;color:#354e5d}
.article p,.article li{font-size:17px;line-height:2;color:#354e5d}
.article h2{font-size:27px;line-height:1.6;margin-top:46px;color:#17384a}
.article .intro{font-size:19px;line-height:1.9;color:#234758}
.micro,.tool-requirements{font-size:14px;line-height:1.9;color:#526a77}
.b-content-graphic figcaption{font-size:14px;line-height:1.8;color:#526a77}
.op-step strong{font-size:21px;line-height:1.6;margin-bottom:12px}
.op-contact p,.tools-support p{font-size:17px;line-height:1.95}
.page .b-news-row>span:nth-of-type(1){font-size:14px!important;color:#526a77!important}
.page .b-news-row>span:nth-of-type(2){font-size:12px!important}
.page .b-news-row>span:nth-of-type(3){font-size:18px!important;line-height:1.8!important;color:#17384a!important}
@media(max-width:800px){.b-editorial-art{max-width:390px;justify-self:center}body[data-page="fde"] .page .gt-hero-sec::after{height:280px}.page>section:not(.gt-hero-sec):not(.gt-home-hero) h2.h-display{font-size:30px!important}.page .b-service-link>div:nth-child(4){font-size:22px!important}}
@media(max-width:500px){.page>section:not(.gt-hero-sec):not(.gt-home-hero) :is(p,li,td,dd){font-size:16px;line-height:1.95}.card p,.flow-step p,.ais-card p,.op-card p,.ais-steps p,.op-step p,.tool-copy p,.tools-support p,.contact-strip p{font-size:16px}.b-roles-body .op-grid .op-card>p:not(.op-number){font-size:16px}.b-roles-body .op-grid .op-card h3{font-size:22px}.spec td,.spec th{font-size:15px;padding:14px 12px}.article p,.article li{font-size:16px}.article h2{font-size:24px}.page .b-news-row>span:nth-of-type(3){font-size:16px!important}.page>section:not(.gt-hero-sec):not(.gt-home-hero) h2.h-display{font-size:28px!important}.b-content-graphic figcaption{font-size:13px}}
