/* Four functional areas, shared with the navigation on every page. */
.opero-site .functions-nav{position:relative;align-self:stretch;display:flex;align-items:center}
.opero-site .functions-nav summary{list-style:none;display:flex;align-items:center;gap:7px;position:relative;padding:28px 0;cursor:pointer;color:#666;min-height:44px}
.opero-site .functions-nav summary::-webkit-details-marker{display:none}
.opero-site .functions-nav summary.active{color:#111;font-weight:750}
.opero-site .functions-nav summary:after{content:"";position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--accent-strong);transition:right .2s}
.opero-site .functions-nav summary.active:after,.opero-site .functions-nav[open] summary:after{right:0}
.opero-site .functions-nav[open] summary svg{transform:rotate(180deg)}
.opero-site .functions-menu{position:absolute;top:calc(100% - 4px);left:-24px;width:408px;max-height:calc(100dvh - 95px);overflow:auto;padding:10px;background:#fff;border:1px solid #dce6ec;border-radius:18px;box-shadow:0 18px 50px #13334726;color:#142a36}
.opero-site .functions-nav:not([open]) .functions-menu{display:none}
.opero-site .functions-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.opero-site .functions-menu a{white-space:normal;padding:12px 10px;display:flex;align-items:center;gap:12px;border-radius:10px;transition:background .18s}
.opero-site .functions-menu a:after{display:none}
.opero-site .functions-menu a:hover,.opero-site .functions-menu a:focus-visible,.opero-site .functions-menu a[aria-current="page"]{background:#eaf7fc;color:#006d98}
.opero-site .functions-menu .functions-overview{padding:12px 12px 15px;margin-bottom:5px;border-bottom:1px solid #e7edf1;border-radius:8px 8px 0 0;justify-content:space-between;color:#00749f;font-weight:700}
.opero-site .functions-menu strong{display:block;font-size:15px;line-height:1.35;font-weight:700}
.opero-site .functions-menu small{display:block;font-size:13px;line-height:1.4;margin-top:3px;color:#5d6a72}
.opero-site .fn-menu-icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;background:#f0f6f9;border-radius:10px;color:#007ca8}
.opero-site .fn-menu-icon svg{width:23px;height:23px}
.opero-site .functions-page{color:#17303e}
.opero-site .fn-hub-intro{padding-top:65px;padding-bottom:38px}
.opero-site .fn-hub-intro h1{font-size:clamp(40px,4.5vw,62px);letter-spacing:-.045em;line-height:1.05;margin:18px 0 20px;font-weight:780}
.opero-site .fn-hub-intro h1 span{color:#007ca8}
.opero-site .fn-hub-intro>p{font-size:18px;line-height:1.65;color:#5b6a73;max-width:680px;margin:0}
.opero-site .fn-hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-bottom:64px}
.opero-site .fn-card{display:flex;flex-direction:column;padding:26px;border:1px solid #dce6ec;border-radius:21px;background:linear-gradient(140deg,#fff 40%,#f4fafd);transition:border-color .2s,box-shadow .2s,transform .2s}
.opero-site .fn-card:hover{border-color:#70bad6;box-shadow:0 12px 35px #1333470d;transform:translateY(-3px)}
.opero-site .fn-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}
.opero-site .fn-icon{display:grid;place-items:center;width:50px;height:50px;background:#ddf3fc;color:#007aa5;border-radius:14px;flex-shrink:0}
.opero-site .fn-index{font-size:13px;color:#667d89;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.opero-site .fn-card h2{font-size:22px;line-height:1.25;letter-spacing:-.025em;margin:0 0 10px;font-weight:750}
.opero-site .fn-subtitle{font-size:16px;line-height:1.5;font-weight:600;color:#254b5e;margin:0 0 12px}
.opero-site .fn-summary{font-size:16px;line-height:1.6;color:#60717b;margin:0 0 26px}
.opero-site .fn-card-link{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e2ebef;padding-top:18px;margin-top:auto;font-size:14px;font-weight:700;color:#00749f}
.opero-site .fn-card-link>span{font-size:21px;line-height:1}
.opero-site .fn-journey-intro{padding-top:20px;padding-bottom:10px;border-top:1px solid #e4edf2}
.opero-site .fn-journey-intro p{font-size:clamp(23px,3vw,35px);font-weight:700;line-height:1.2;letter-spacing:-.025em;margin:18px 0 0}
.opero-site .fn-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:28px;font-size:14px;color:#657783}
.opero-site .fn-breadcrumb a{color:#00749f;text-decoration:underline;text-underline-offset:4px}
.opero-site .fn-detail-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center;padding-top:50px;padding-bottom:68px}
.opero-site .fn-detail-copy h1{font-size:clamp(37px,4.2vw,59px);letter-spacing:-.04em;line-height:1.08;margin:20px 0;font-weight:780}
.opero-site .fn-detail-subtitle{font-size:clamp(22px,2.2vw,29px);line-height:1.3;font-weight:650;letter-spacing:-.02em;color:#007aa5;margin:0 0 20px}
.opero-site .fn-detail-intro{font-size:17px;line-height:1.75;color:#5b6a73;margin:0;max-width:640px}
.opero-site .fn-flow{border:1px solid #d7e7ef;border-radius:26px;padding:28px;background:#f2f9fc;box-shadow:0 18px 45px #164b690a}
.opero-site .fn-flow-head{display:flex;align-items:center;gap:14px;font-size:15px;font-weight:650;color:#456474}
.opero-site .fn-flow ol{list-style:none;margin:30px 0 26px;padding:0;display:grid;gap:20px}
.opero-site .fn-flow li{display:flex;align-items:center;gap:14px;position:relative;isolation:isolate}
.opero-site .fn-flow li:not(:last-child):after{content:"";position:absolute;left:21px;top:42px;width:1px;height:20px;background:#aacddb;z-index:-1}
.opero-site .fn-flow li>span{background:#fff;border:1px solid #bfdde9;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;color:#00749f;flex-shrink:0;font-size:13px;font-weight:700}
.opero-site .fn-flow li:last-child>span{background:#007fae;color:white;border-color:#007fae}
.opero-site .fn-flow strong{font-size:17px;line-height:1.35;font-weight:650}
.opero-site .fn-flow>p{padding-top:22px;margin:0;border-top:1px solid #d6e6ed;color:#5b707b;font-size:15px;line-height:1.6}
.opero-site .fn-detail-section{padding:58px 0 66px;background:#f6f9fb;border-block:1px solid #e7edf1}
.opero-site .fn-section-heading h2{font-size:32px;line-height:1.2;letter-spacing:-.03em;margin:16px 0 32px}
.opero-site .fn-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.opero-site .fn-points article{border-top:2px solid #a0d8ed;padding-top:24px}
.opero-site .fn-point-number{font-size:13px;font-weight:700;color:#00749f;letter-spacing:.05em}
.opero-site .fn-points h3{font-size:21px;letter-spacing:-.02em;line-height:1.3;margin:14px 0 10px}
.opero-site .fn-points p{font-size:16px;line-height:1.7;color:#5b6a73;margin:0}
.opero-site .fn-related{padding-top:52px;padding-bottom:65px}
.opero-site .fn-related h2{font-size:26px;line-height:1.25;letter-spacing:-.02em;margin:0 0 22px}
.opero-site .fn-related nav{display:flex;flex-wrap:wrap;gap:10px}
.opero-site .fn-related a{display:flex;align-items:center;gap:22px;padding:13px 17px;border:1px solid #dce6ec;border-radius:10px;font-size:15px;line-height:1.4}
.opero-site .fn-related a:hover{border-color:#007ca8;color:#00749f;background:#f2faff}
@media(max-width:1100px){
  .opero-site .functions-nav{display:block;grid-column:1 / -1;align-self:auto}
  .opero-site .functions-nav summary{padding:12px 0;justify-content:space-between}
  .opero-site .functions-nav summary:after{bottom:6px}
  .opero-site .functions-menu{position:static;width:100%;max-height:none;box-shadow:none;border-radius:12px;padding:6px;margin:3px 0 8px;background:#f7fafc}
  .opero-site.menu-enhanced .nav-links.open{max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain}
  .opero-site .fn-hub{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opero-site .fn-detail-hero{gap:32px}
  .opero-site .fn-flow{padding:24px}
}
@media(max-width:700px){
  .opero-site .fn-hub-intro{padding-top:40px;padding-bottom:28px}
  .opero-site .fn-hub-intro>p{font-size:17px}
  .opero-site .fn-hub{grid-template-columns:1fr;gap:14px;padding-bottom:42px}
  .opero-site .fn-card{padding:24px}
  .opero-site .fn-card-top{margin-bottom:20px}
  .opero-site .fn-card h2{font-size:23px}
  .opero-site .fn-summary{margin-bottom:20px}
  .opero-site .fn-detail-hero{grid-template-columns:1fr;gap:32px;padding-top:34px;padding-bottom:42px}
  .opero-site .fn-detail-copy h1{font-size:42px;overflow-wrap:break-word}
  .opero-site .fn-detail-intro{font-size:16px}
  .opero-site .fn-flow{padding:24px}
  .opero-site .fn-detail-section{padding:42px 0}
  .opero-site .fn-section-heading h2{font-size:29px}
  .opero-site .fn-points{grid-template-columns:1fr;gap:30px}
  .opero-site .fn-points h3{margin-top:10px}
  .opero-site .fn-related{padding-top:38px;padding-bottom:44px}
  .opero-site .fn-related nav{display:grid}
  .opero-site .fn-related a{justify-content:space-between}
}
@media(max-width:380px){.opero-site .fn-detail-copy h1{font-size:36px}.opero-site .functions-menu a{padding:11px 7px;gap:9px}.opero-site .functions-menu strong{font-size:14px}}
