@import url("https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");
/* FDE-only styles. Existing corporate pages retain their own design. */
.fde-page{--fde-blue:var(--fde-blue);--fde-ink:#172435;--fde-muted:#f3f5f9;--fde-line:#dfe5ee;background:#fff;color:var(--fde-ink);font-family:'Figtree','Noto Sans JP',sans-serif;font-size:16px;line-height:1.85;overflow-x:clip;margin:0}
.fde-page *{box-sizing:border-box}
.fde-page a{color:inherit;text-decoration:none}
.fde-page h1,.fde-page h2,.fde-page h3,.fde-page h4,.fde-page p{margin:0}
.fde-page h1,.fde-page h2,.fde-page h3,.fde-page h4{font-family:inherit;font-weight:600;letter-spacing:0.28px;line-height:140%}
.fde-page p,.fde-page li{overflow-wrap:anywhere}
.fde-page a:focus-visible,.fde-page summary:focus-visible,.fde-page [tabindex]:focus-visible{outline:3px solid #e88336;outline-offset:5px}
.fde-page .fde-wrap{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.fde-page .fde-skip{position:fixed;left:20px;top:-100px;background:#fff;padding:12px;z-index:1100}
.fde-page .fde-skip:focus{top:10px}
.fde-page .fde-header{position:sticky;top:0;z-index:1000;display:flex;align-items:center;gap:32px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--fde-line);padding:20px 40px;min-height:88px}
.fde-page.admin-bar .fde-header{top:32px}
.fde-page .fde-logo{display:flex;margin-right:auto;flex-shrink:0}
.fde-page .fde-logo img{object-fit:contain;width:170px;height:40px}
.fde-page .fde-desktop-nav{display:flex;gap:26px;font-size:13px;font-weight:700}
.fde-page .fde-desktop-nav a:hover,.fde-page .fde-footer a:hover{color:var(--fde-blue)}
.fde-page .fde-header-contact{padding:12px 22px;background:var(--fde-blue);color:white;border-radius:4px;font-size:13px;font-weight:700;white-space:nowrap}
.fde-page .fde-header-contact span{margin-left:22px}
.fde-page .fde-mobile-menu{display:none}
.fde-page .fde-breadcrumb{font-size:11px;color:#64748b;padding:15px 0;background:#fafbfd}
.fde-page .fde-breadcrumb .fde-wrap{display:flex;flex-wrap:wrap;gap:12px}
.fde-page .fde-hero{padding:74px 0 78px;background:var(--fde-muted)}
.fde-page .fde-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.fde-page .fde-eyebrow{display:block;color:var(--fde-blue);font-size:12px;font-weight:700;letter-spacing:0.28px;margin-bottom:18px}
.fde-page .fde-hero-lead{font-size:19px;font-weight:700;margin-bottom:12px}
.fde-page .fde-hero h1{font-size:clamp(30px,3.1vw,44px);letter-spacing:0.28px;line-height:1.4;white-space:nowrap;margin-bottom:28px}
.fde-page .fde-hero h1 span{font-family:inherit;color:var(--fde-blue);margin-left:8px;font-size:1.32em;letter-spacing:0.28px}
.fde-page .fde-hero h2{font-size:26px;line-height:1.65;margin-bottom:22px}
.fde-page .fde-hero-description{font-size:14px;color:#475569;line-height:2}
.fde-page .fde-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.fde-page .fde-button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 21px;font-size:13px;font-weight:700;border-radius:8px;line-height:150%;transition:background .2s;min-height:55px}
.fde-page .fde-button:hover{transform:none}
.fde-page .fde-button-primary{background:var(--fde-blue);color:#fff;box-shadow:none}
.fde-page .fde-button-primary:hover{background:var(--fde-blue-hover)}
.fde-page .fde-button-secondary{border:1px solid #b8c4d9;background:#fff;color:var(--fde-blue)}
.fde-page .fde-button-secondary:hover{background:#eaf0ff}
.fde-page .fde-hero-foot{font-size:10px;color:#64748b;margin-top:16px}
.fde-page .fde-visual{background:#fff;border:1px solid #dde4f0;border-radius:12px;box-shadow:0 24px 60px #243a6c18;transform:none;overflow:hidden}
.fde-page .fde-visual-top{padding:16px 18px;border-bottom:1px solid #e5eaf3;font-size:9px;letter-spacing:0.28px;font-weight:700;display:flex;align-items:center;gap:8px;color:#526482}
.fde-page .fde-status-dot{width:7px;height:7px;border-radius:50%;background:var(--fde-blue)}
.fde-page .fde-visual-label{margin-left:auto;font-size:9px;color:#65748a}
.fde-page .fde-visual-body{padding:24px 28px 20px;text-align:center;background-image:radial-gradient(#d9e1ef .8px,transparent .8px);background-size:15px 15px}
.fde-page .fde-workspace-title span{display:block;font-size:19px;font-weight:700}
.fde-page .fde-workspace-title small{font-size:10px;color:#64748b}
.fde-page .fde-inputs{display:flex;gap:8px;justify-content:center;margin-top:15px}
.fde-page .fde-inputs span{padding:5px 13px;border:1px solid #dfe5ee;border-radius:4px;background:#fff;font-size:11px}
.fde-page .fde-connector{font-size:20px;color:#7290c8;line-height:1.5}
.fde-page .fde-engine{background:linear-gradient(115deg,var(--fde-blue),#426cca);border-radius:7px;padding:14px;color:#fff;box-shadow:0 7px 15px var(--fde-blue)20}
.fde-page .fde-engine-label{font-size:10px;letter-spacing:0.28px;display:block;opacity:.8}
.fde-page .fde-engine strong{font-size:27px;letter-spacing:0.28px;line-height:1.4}
.fde-page .fde-engine p{font-size:10px;margin-top:5px}
.fde-page .fde-outputs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.fde-page .fde-outputs div{background:#fff;border:1px solid #cfdaf0;border-radius:5px;padding:10px 4px}
.fde-page .fde-outputs span{display:block;color:#8098ca;font-size:9px}
.fde-page .fde-outputs strong{display:block;font-size:15px;color:var(--fde-blue)}
.fde-page .fde-outputs small{font-size:9px;color:#64748b}
.fde-page .fde-loop{margin-top:15px;font-size:11px;font-weight:700;color:#526482}
.fde-page .fde-loop span{color:var(--fde-blue);font-size:19px;vertical-align:middle;margin-right:8px}
.fde-page .fde-visual-bottom{padding:13px 18px;background:#edf2fc;color:var(--fde-blue);font-size:11px;font-weight:700;display:flex;justify-content:space-between}
.fde-page .fde-promise{border-bottom:1px solid var(--fde-line);padding:24px 0;background:#fff}
.fde-page .fde-promise .fde-wrap{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-size:14px;font-weight:700}
.fde-page .fde-promise span+span{border-left:1px solid var(--fde-line)}
.fde-page .fde-promise span:before{content:'✓';color:var(--fde-blue);margin-right:12px}
.fde-page .fde-section{padding:96px 0;scroll-margin-top:110px}
.fde-page .fde-muted{background:var(--fde-muted)}
.fde-page .fde-section-head{text-align:center;margin-bottom:42px}
.fde-page .fde-section-head .fde-eyebrow{margin-bottom:13px}
.fde-page .fde-section h2{font-size:40px;line-height:140%}
.fde-page .fde-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.fde-page .fde-card{padding:32px;border:1px solid var(--fde-line);border-radius:8px;background:#fff;min-width:0}
.fde-page .fde-card h3{font-size:19px;line-height:1.6;margin-bottom:20px;color:var(--fde-blue)}
.fde-page .fde-card h4{font-size:18px;line-height:1.7;margin-bottom:20px}
.fde-page .fde-card p{font-size:16px;color:#526175;margin-top:14px}
.fde-page .fde-card ul{padding-left:1.25em;font-size:16px;color:#526175;margin:15px 0 0}
.fde-page .fde-card li{padding:5px 0}
.fde-page .fde-note{background:#edf2fc;border-left:3px solid var(--fde-blue);padding:20px 24px;margin-top:24px;font-size:14px;line-height:1.9;color:var(--fde-blue)}
.fde-page .fde-intro{text-align:center;font-size:25px;line-height:1.8}
.fde-page .fde-intro strong{color:var(--fde-blue)}
.fde-page .fde-definition{max-width:780px;margin:24px auto 40px;color:#526175;font-size:15px}
.fde-page .fde-disciplines{display:flex;align-items:center;gap:20px;margin:45px 0}
.fde-page .fde-disciplines div{flex:1;text-align:center;padding:30px 10px;background:#f3f6fc;border-radius:8px;border-bottom:3px solid var(--fde-blue)}
.fde-page .fde-disciplines div>span{color:#7d94bf;font-size:12px}
.fde-page .fde-disciplines h3{font-size:26px;color:var(--fde-blue);margin:6px 0}
.fde-page .fde-disciplines p{font-size:12px}
.fde-page .fde-disciplines b{font-size:23px;color:#91a3c7}
.fde-page .fde-centered{text-align:center;font-size:16px;line-height:2;margin-top:30px}
.fde-page .fde-table-scroll{overflow-x:auto}
.fde-page .fde-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;font-size:15px;min-width:620px}
.fde-page .fde-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.fde-page .fde-table th,.fde-page .fde-table td{text-align:left;padding:21px 25px;border-bottom:1px solid var(--fde-line)}
.fde-page .fde-table thead th{background:#e3e8f0;font-size:14px}
.fde-page .fde-table thead th:last-child{background:var(--fde-blue);color:#fff}
.fde-page .fde-table tbody td:last-child{background:#eef3ff;color:var(--fde-blue);font-weight:700}
.fde-page .fde-table tbody th{font-size:13px;width:18%}
.fde-page .fde-small{font-size:11px;color:#64748b;margin-top:12px}
.fde-page .fde-solutions .fde-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fde-page .fde-solutions .fde-card{padding:25px 22px;border-top:3px solid #4168bf}
.fde-page .fde-solutions .fde-card h3{font-size:17px}
.fde-page .fde-solutions .fde-card p{font-size:13px}
.fde-page .fde-section-desc{text-align:center;margin:-15px auto 38px;font-size:15px;color:#526175;line-height:2}
.fde-page .fde-examples .fde-card{padding:32px 35px;background:linear-gradient(135deg,#fff 65%,#f3f6fc)}
.fde-page .fde-process .fde-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;counter-reset:process}
.fde-page .fde-process .fde-card{padding:24px 17px;border:none;border-top:2px solid #d5e0f5;border-radius:0;background:#f6f8fc}
.fde-page .fde-process .fde-card:before{counter-increment:process;content:'0' counter(process);display:block;color:var(--fde-blue);font-size:32px;font-weight:700;margin-bottom:12px}
.fde-page .fde-process .fde-card h3{font-size:16px}
.fde-page .fde-process .fde-card p{font-size:13px}
.fde-page .fde-reasons .fde-grid,.fde-page .fde-cases .fde-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.fde-page .fde-reasons .fde-card{border:0;border-top:3px solid var(--fde-blue);border-radius:0;padding:30px}
.fde-page .fde-cases .fde-card{padding:0 26px 28px;overflow:hidden}
.fde-page .fde-cases .fde-card h3{font-size:14px;background:#edf2fb;margin:0 -26px 25px;padding:18px 26px}
.fde-page .fde-cases .fde-card h4{font-size:19px;min-height:95px}
.fde-page .fde-contract{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr;background:#fff;border:1px solid var(--fde-line);border-radius:8px;padding:36px 0}
.fde-page .fde-contract>div{padding:10px 28px;text-align:center}
.fde-page .fde-contract>div+div{border-left:1px solid var(--fde-line)}
.fde-page .fde-contract>div>span{display:block;font-size:12px;color:#64748b;margin-bottom:14px}
.fde-page .fde-contract strong{display:block;color:var(--fde-blue);font-size:21px;line-height:1.8}
.fde-page .fde-contract>div:first-child strong{font-size:40px;line-height:1.1}
.fde-page .fde-contract strong span{font-size:20px;margin-left:5px}
.fde-page .fde-contract p{font-size:11px;color:#64748b;margin-top:9px}
.fde-page .fde-faq-list{max-width:880px;margin:auto}
.fde-page .fde-faq{border-bottom:1px solid var(--fde-line)}
.fde-page .fde-faq summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:20px;padding:25px 8px;font-size:16px;font-weight:700}
.fde-page .fde-faq summary::-webkit-details-marker{display:none}
.fde-page .fde-faq summary>span{color:var(--fde-blue);font-size:20px}
.fde-page .fde-faq summary:after{content:'+';margin-left:auto;color:var(--fde-blue);font-size:22px;flex-shrink:0}
.fde-page .fde-faq[open] summary:after{content:'−'}
.fde-page .fde-faq>div{padding:0 48px 25px;color:#526175;font-size:14px}
.fde-page .fde-closing{background:linear-gradient(48deg,var(--fde-navy),#0d1b2a);color:#fff;text-align:center;padding:80px 0}
.fde-page .fde-closing .fde-eyebrow{color:#b8ccff;font-size:11px}
.fde-page .fde-closing h2{font-size:34px;line-height:1.65;margin-bottom:20px}
.fde-page .fde-closing p{font-size:15px;opacity:.9}
.fde-page .fde-closing .fde-actions{justify-content:center}
.fde-page .fde-closing .fde-button{min-width:240px}
.fde-page .fde-footer{padding:48px 0 24px;background:#fff;color:#172435}
.fde-page .fde-footer .fde-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}
.fde-page .fde-footer-brand{font-size:27px;font-weight:600;letter-spacing:0.28px;line-height:140%}
.fde-page .fde-footer p{font-size:12px;color:#64748b;margin-top:12px}
.fde-page .fde-footer nav{display:flex;gap:28px;font-size:12px;align-items:flex-start;padding-top:12px}
.fde-page .fde-footer small{width:100%;font-size:10px;color:#64748b;border-top:1px solid var(--fde-line);padding-top:20px}
@media(max-width:1100px){.fde-page .fde-desktop-nav{gap:15px;font-size:11px}.fde-page .fde-header{padding:18px 25px;gap:20px}.fde-page .fde-hero-grid{gap:32px}.fde-page .fde-hero h1{font-size:34px}.fde-page .fde-hero h2{font-size:23px}.fde-page .fde-hero .fde-button{font-size:12px;padding:15px}.fde-page .fde-process .fde-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fde-page .fde-solutions .fde-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.fde-page .fde-wrap{width:calc(100% - 40px)}.fde-page .fde-header{padding:12px 20px;min-height:70px;gap:15px}.fde-page .fde-logo img{width:135px;height:32px}.fde-page .fde-desktop-nav{display:none}.fde-page .fde-header-contact{font-size:11px;padding:10px 12px}.fde-page .fde-header-contact span{display:none}.fde-page .fde-mobile-menu{display:block;font-size:11px}.fde-page .fde-mobile-menu summary{cursor:pointer}.fde-page .fde-mobile-menu nav{position:absolute;right:15px;top:100%;background:#fff;border:1px solid var(--fde-line);padding:20px;box-shadow:0 10px 20px #17243515;display:grid;gap:20px;min-width:220px}.fde-page .fde-hero{padding:45px 0}.fde-page .fde-hero-grid{grid-template-columns:1fr;gap:35px}.fde-page .fde-hero-copy{max-width:600px;margin:auto;width:100%}.fde-page .fde-hero h1{font-size:clamp(30px,6vw,44px);white-space:normal}.fde-page .fde-hero h2{font-size:25px}.fde-page .fde-hero-lead{font-size:17px}.fde-page .fde-visual{max-width:540px;width:100%;margin:auto;transform:none}.fde-page .fde-promise .fde-wrap{font-size:11px;gap:12px}.fde-page .fde-promise span:before{display:block;margin:0}.fde-page .fde-section{padding:60px 0;scroll-margin-top:90px}.fde-page .fde-section h2{font-size:25px}.fde-page .fde-section-head{margin-bottom:30px}.fde-page .fde-grid{gap:16px}.fde-page .fde-card{padding:25px}.fde-page .fde-intro{font-size:20px}.fde-page .fde-disciplines{gap:10px}.fde-page .fde-disciplines h3{font-size:20px}.fde-page .fde-disciplines p{font-size:10px}.fde-page .fde-reasons .fde-grid,.fde-page .fde-cases .fde-grid{grid-template-columns:1fr}.fde-page .fde-cases .fde-card h4{min-height:0}.fde-page .fde-contract{grid-template-columns:1fr;padding:10px 25px}.fde-page .fde-contract>div{padding:25px 0}.fde-page .fde-contract>div+div{border-left:0;border-top:1px solid var(--fde-line)}.fde-page .fde-footer nav{flex-wrap:wrap;gap:18px}.fde-page .fde-closing h2{font-size:27px}}
@media(max-width:540px){.fde-page .fde-grid,.fde-page .fde-solutions .fde-grid,.fde-page .fde-process .fde-grid{grid-template-columns:1fr}.fde-page .fde-hero h1{font-size:31px}.fde-page .fde-hero h2{font-size:23px}.fde-page .fde-hero .fde-eyebrow{font-size:10px}.fde-page .fde-hero-description{font-size:13px}.fde-page .fde-desktop-break{display:none}.fde-page .fde-actions{flex-direction:column}.fde-page .fde-button{width:100%;justify-content:center}.fde-page .fde-hero-foot{font-size:10px}.fde-page .fde-visual-body{padding:20px 16px}.fde-page .fde-visual-top{font-size:8px;padding:13px 12px}.fde-page .fde-visual-bottom{font-size:10px;padding:13px}.fde-page .fde-disciplines{flex-direction:column;gap:7px;margin:30px 0}.fde-page .fde-disciplines div{width:100%;padding:20px}.fde-page .fde-disciplines h3{font-size:25px}.fde-page .fde-disciplines p{font-size:12px}.fde-page .fde-disciplines b{line-height:1}.fde-page .fde-centered{font-size:14px;text-align:left}.fde-page .fde-section h2{font-size:23px}.fde-page .fde-faq summary{font-size:14px;gap:12px}.fde-page .fde-faq>div{padding-left:30px;padding-right:10px}.fde-page .fde-closing{padding:55px 0}.fde-page .fde-closing h2{font-size:24px}.fde-page .fde-process .fde-card{padding:22px}.fde-page .fde-breadcrumb{font-size:9px}.fde-page .fde-breadcrumb .fde-wrap{gap:6px}}
@media(prefers-reduced-motion:reduce){.fde-page *{scroll-behavior:auto!important;transition:none!important}}

/* Reference design adapted to Stratopics: Figtree, navy and restrained blue. */
.fde-page{--fde-blue:#2b5292;--fde-blue-hover:#203f73;--fde-navy:#1a2f4c;--fde-muted:#f1f1f5;--fde-line:#d5d5dc;--fde-ink:#1a2f4c;--fde-shadow-card:0 10px 30px -20px rgba(26,47,76,.2),0 16px 30px -30px rgba(26,47,76,.2);font-size:14px;line-height:160%;letter-spacing:0.28px;font-feature-settings:normal}
.fde-page h1,.fde-page h2,.fde-page h3,.fde-page h4{font-weight:600;line-height:140%!important;word-break:normal;overflow-wrap:break-word}
.fde-page .fde-logo{font-family:inherit;font-size:30px;font-weight:500;letter-spacing:0.28px;line-height:1.2;color:var(--fde-navy)}
.fde-page .fde-hero h1 span{white-space:nowrap}
.fde-page .fde-card{border-radius:12px;box-shadow:var(--fde-shadow-card)}
.fde-page .fde-visual{box-shadow:0 10px 80px -12px rgba(43,82,146,.18)}
.fde-page .fde-hero-description,.fde-page .fde-card p,.fde-page .fde-definition,.fde-page .fde-faq>div{font-size:16px;line-height:170%}
.fde-page .fde-visual-label{border-radius:9999px;background:var(--fde-muted);padding:2px 10px;letter-spacing:normal}
.fde-page .fde-promise{border-bottom:0}
.fde-page .fde-button{font-size:14px;letter-spacing:0.28px}
.fde-page .fde-small,.fde-page .fde-hero-foot{line-break:strict;line-height:170%;font-size:12px}
.fde-page .fde-contract strong{font-variant-numeric:tabular-nums}
@media(hover:hover){.fde-page .fde-header-contact:hover{background:var(--fde-blue-hover)}}
@media(max-width:800px){.fde-page .fde-logo{font-size:26px}.fde-page .fde-header-contact,.fde-page .fde-mobile-menu summary{min-height:44px;display:flex;align-items:center}.fde-page .fde-hero-description,.fde-page .fde-card p{font-size:16px}.fde-page .fde-section h2{font-size:28px}}
@media(max-width:540px){.fde-page .fde-hero h1{font-size:29px}.fde-page .fde-section h2{font-size:24px}.fde-page .fde-header{gap:12px}.fde-page .fde-hero-foot{font-size:11px}}
