/* Offering and supporting pages share the landing-page identity. Accent
   colours identify each offering; the midnight base remains consistent. */
.offering-page{--accent:#43858c;--accent-text:#316f76;--accent-soft:#edf3f3;--accent-line:#c8dfe1;--copper:var(--accent-text)}
.offering-ic{--accent:#c87949;--accent-text:#9a552c;--accent-soft:#f6eee8;--accent-line:#e6d3c4}
.offering-ai{--accent:#756397;--accent-text:#6b568a;--accent-soft:#f0edf5;--accent-line:#d9cfe5}
.offering-page h3{font-family:Poppins,"Helvetica Neue",Arial,sans-serif;font-weight:600;letter-spacing:-.035em;line-height:1.2}
.offering-page h2{font-size:clamp(30px,3.2vw,45px);line-height:1.15;letter-spacing:-.045em}
.offering-page em,.offering-page .eyebrow,.offering-page .small-label{color:var(--accent-text)}
.offering-page .eyebrow{font-size:9px;letter-spacing:.13em}
.offering-page .page-hero.offering-hero{text-align:center;padding-block:53px 60px}
.offering-logo{height:65px;width:auto;max-width:100%;margin:0 auto 25px}
.offering-hero .eyebrow{margin-bottom:23px}
.offering-page .offering-hero h1{font-size:clamp(44px,4.7vw,68px);line-height:1.09;letter-spacing:-.055em}
.offering-page .offering-hero .lede{max-width:770px;margin:26px auto 0;font-size:17px;line-height:1.8}
.offering-hero-action{margin-top:24px}
.offering-hero-action .text-link{max-width:100%;text-align:left}
.offering-page .section{padding-block:76px}
.offering-page .tinted{background:var(--accent-soft);border-block:1px solid var(--accent-line)}
.offering-page .button{background:var(--ink);border-color:var(--ink);border-radius:5px}
.offering-page .button:hover{background:var(--accent-text);border-color:var(--accent-text)}
.offering-page .button-secondary{background:transparent;color:var(--ink);border-color:#bac7d1}
.offering-page .button-secondary:hover{background:var(--accent-soft);border-color:var(--accent-text)}
.offering-page .text-link{color:var(--accent-text);border-color:var(--accent-line)}
.offering-page .text-link:hover{border-color:var(--accent-text)}
.offering-page #main-nav>a[aria-current]{color:var(--accent-text)}
.offering-page #main-nav>.nav-contact[aria-current]{color:#fff}
.offering-page #main-nav>a:not(.nav-contact)::after{background:var(--accent)}
.offering-page #main-nav .nav-contact:hover{background:var(--accent-text)}
.offering-page .detail-grid{gap:19px;padding-bottom:65px}
.offering-page .detail-block,.offering-page .detail-block:first-child{padding:29px 27px 25px;border:1px solid var(--line);border-top:3px solid var(--accent);background:#fff;border-radius:7px}
.offering-page .detail-block h2{font-size:25px;line-height:1.2}
.offering-page .detail-block svg{color:var(--accent-text);width:32px;height:32px;margin-bottom:23px}
.offering-page .check-list li::before{color:var(--accent-text)}
.offering-page .check-list{margin-bottom:0}
.offering-page .delivery-list>div{border-color:var(--accent-line)}
.offering-page .delivery-list>div>span{color:var(--accent-text)}
.offering-page .delivery-list h3{font-size:22px}
.offering-page .three-columns{gap:35px}
.offering-page .three-columns h3{font-size:23px}
.offering-page .step-number{border-color:var(--accent-line);color:var(--accent-text);background:var(--accent-soft)}
.offering-page .case-copy h3{font-size:27px}
.offering-page .evidence-note{color:#667386}
.offering-page .cta{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:7px;padding:43px 44px;margin-block:35px 65px}
.offering-page .cta h2{font-size:36px}
.offering-page .cta p{line-height:1.75}
.offering-page .architecture{background:#fff;border-top:3px solid var(--accent)}
.offering-page .architecture-head,.offering-page .architecture-caption{border-color:var(--line)}
.offering-page .architecture-roles h2{font-size:27px}
.offering-page .connector{color:var(--accent)}
.offering-page .status-dot{background:var(--accent)}
.offering-page .method-section{background:var(--ink);color:#fff}
.offering-page .method-section h2{font-size:45px}
.offering-page .method-section p{color:#ccd6e2}
.offering-page .method-section :is(.eyebrow,.small-label){color:#cdbfe1}
.offering-page .method-section .body-large{color:#f3f0f8}
.offering-page .environment-tabs{background:#293e5b;border-color:#52607a}
.offering-page .tab-list{border-color:#52607a}
.offering-page .tab-list button{color:#d2dbe6;min-height:55px;min-width:0;padding-inline:10px;line-height:1.4}
.offering-page .tab-list button[aria-selected=true]{background:#3a4666;color:#fff}
.offering-page .tab-list button[aria-selected=true]::after{background:#bcabd6}
.offering-page .tab-list button:focus-visible{outline-color:#d7c8ed;outline-offset:-5px}
.offering-page .tags span{border-color:#62708c;color:#e3e9f1}
.offering-page .flow li>span{color:var(--accent-text)}
.offering-page .flow h3{font-size:22px}
.offering-page .faq summary{font-weight:500}
.offering-page .faq summary::after{color:var(--accent-text)}
.offering-page .software-intro{grid-template-columns:.65fr 1.6fr auto;gap:33px;padding:27px 30px;background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:7px}
.development-label{display:flex;align-items:center;gap:10px;font-size:9px;font-weight:650;letter-spacing:.1em;color:var(--accent-text)}
.offering-page .filter-bar button{border-color:#c7d3de;border-radius:5px;min-height:42px}
.offering-page .filter-bar button[aria-pressed=true]{background:var(--accent-text);border-color:var(--accent-text);color:#fff}
.offering-page .filter-bar button:hover{border-color:var(--accent-text)}
.offering-page .tool-card{background:#fff;min-height:218px}
.offering-page .tool-card h3{font-size:25px}
.offering-page .tool-glyph{color:#65778a}
.offering-page .badge{background:#f0f3f6;border-color:#d9e0e7;color:#56677b}
.offering-page .badge-green{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}
.offering-page .fisic-diagram{background:linear-gradient(90deg,#e3e9ee 1px,transparent 1px),linear-gradient(#e3e9ee 1px,transparent 1px);background-size:22px 22px}
.offering-page .fisic-diagram>div{border-color:#c4d3dd;background:#fff}
.offering-page .fisic-diagram>div.highlight{background:var(--ink);color:#fff;border-color:var(--ink)}
.offering-page .fisic-diagram>span:not(.small-label){color:var(--accent-text)}
.deployment-section{padding-bottom:65px}
.deployment-heading{text-align:center;margin-bottom:32px}
.deployment-heading h2{font-size:32px}
.deployment-heading>p{max-width:650px;margin:17px auto 0;font-size:15px}
.deployment-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.deployment-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:7px;padding:30px;display:flex;flex-direction:column}
.deployment-card--managed{background:var(--accent-soft);border-color:var(--accent-line);border-top-color:var(--accent)}
.deployment-card .eyebrow{margin-bottom:17px}
.deployment-card h3{font-size:26px;margin-bottom:18px}
.deployment-card>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:510px}
.deployment-card ul{list-style:none;padding:0;margin:23px 0 27px;font-size:13px;line-height:1.8;color:var(--muted)}
.deployment-card li{position:relative;padding-left:20px;margin-bottom:8px}
.deployment-card li::before{content:"↗";position:absolute;left:0;color:var(--accent-text)}
.deployment-card .text-link{margin-top:auto;align-self:flex-start;font-size:13px}
.deployment-note{font-size:12px;line-height:1.8;margin-top:19px;max-width:900px}
.support-page .offering-logo{height:57px}
.support-page .offering-hero .lede{max-width:730px}
.support-about .prose{max-width:570px}
.team-heading{max-width:740px;margin-bottom:32px}
.team-heading>p{margin-top:20px;font-size:16px;line-height:1.8}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.team-card{display:flex;flex-direction:column;align-items:flex-start;background:#fff;border:1px solid var(--accent-line);border-top:3px solid var(--accent);border-radius:7px;padding:32px}
.team-card .team-role{color:var(--accent-text);font-size:12px;font-weight:600;margin-bottom:14px}
.team-card h3{font-size:29px;margin-bottom:18px}
.team-card>p:not(.team-role){font-size:15px;line-height:1.8;max-width:410px;margin-bottom:25px}
.team-card .text-link{margin-top:auto;font-size:13px;max-width:100%;text-align:left}
@media(max-width:640px){.team-grid{grid-template-columns:1fr;gap:18px}.team-card{padding:26px}.team-card h3{font-size:27px}.team-heading>p{font-size:15px}}
.support-about .three-columns>div{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:7px;padding:28px}
.support-work .case-card{border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.support-work .case-image{border:0;border-radius:0;border-bottom:1px solid var(--line)}
.support-work .case-copy{padding:25px 27px 28px}
.support-work .case-copy h3{font-size:26px}
.support-work .portfolio-note{color:var(--muted);line-height:1.8}
.support-work .editorial-link{margin-block:22px 50px;padding-block:40px}
.support-work .editorial-link h2{font-size:36px}
.support-contact .contact-grid{gap:75px;padding-bottom:65px}
.support-contact .contact-grid aside{border-top:3px solid var(--accent);padding-top:25px}
.support-contact .contact-grid aside h2{font-size:29px}
.support-contact .contact-route a{border-color:var(--accent-line);overflow-wrap:anywhere}
.support-contact .contact-route a:hover{border-color:var(--accent-text)}
.support-contact .enquiry-form{background:#fff;border-color:var(--line);border-top:3px solid var(--accent);border-radius:7px;padding:32px}
.support-contact .enquiry-form label{font-size:13px;font-weight:500}
.support-contact .enquiry-form :is(input,textarea,select){border-color:#c6d1dc;border-radius:5px;background:#fbfcfd;line-height:1.5}
.support-contact .enquiry-form :is(input,textarea)::placeholder{color:#697a8e}
.support-contact .enquiry-form :is(input,textarea,select):focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.support-contact .optional{color:#657487}
.support-contact .copy-button{color:var(--accent-text)}
.support-contact .form-status{color:var(--accent-text)}
.support-contact .form-actions{gap:18px}
@media(max-width:900px){.support-page .offering-logo{height:51px}.support-about .three-columns{gap:17px}.support-about .three-columns>div{padding:23px}.support-about .three-columns h3{font-size:21px}.support-contact .contact-grid{gap:35px}.support-contact .enquiry-form{padding:25px}.support-work .case-copy{padding:23px}.support-work .case-copy h3{font-size:24px}}
@media(max-width:640px){.support-page .offering-logo{height:46px}.support-about .three-columns>div{padding:26px}.support-about .three-columns h3{font-size:24px}.support-work .editorial-link{margin-block:12px 35px}.support-work .editorial-link h2{font-size:32px}.support-work .case-copy h3{font-size:25px}.support-contact .contact-grid{padding-bottom:45px}.support-contact .enquiry-form{padding:25px 20px}.support-contact .enquiry-form :is(input,textarea,select){font-size:16px}.offering-page .tab-list button{font-size:12px;padding-inline:7px}}
@media(max-width:1100px){.offering-page .detail-block,.offering-page .detail-block:first-child{padding-inline:22px}.offering-page .detail-block h2{font-size:23px}.offering-page .software-intro{grid-template-columns:1fr 2fr}.offering-page .software-intro>.button{grid-column:2;justify-self:start}.offering-page .architecture-roles h2{font-size:24px}}
@media(max-width:900px){.offering-page .page-hero.offering-hero{padding-block:43px 45px}.offering-logo{height:55px}.offering-page .offering-hero h1{font-size:clamp(40px,6vw,56px)}.offering-page .offering-hero .lede{font-size:16px}.offering-page .section{padding-block:58px}.offering-page .detail-grid{gap:13px}.offering-page .detail-block,.offering-page .detail-block:first-child{padding:24px 19px}.offering-page .detail-block h2{font-size:22px}.offering-page .detail-block p{font-size:13px}.offering-page .detail-block .check-list{font-size:11px}.offering-page .cta{padding:32px}.offering-page .cta h2{font-size:30px}.offering-page .method-section h2{font-size:36px}.offering-page .architecture-roles{gap:20px}.offering-page .architecture-roles h2{font-size:21px}.deployment-card{padding:25px}.deployment-card h3{font-size:23px}}
@media(max-width:700px){.offering-page .detail-grid{grid-template-columns:1fr}.offering-page .detail-block,.offering-page .detail-block:first-child{padding:26px}.offering-page .detail-block h2{font-size:25px}.offering-page .detail-block p{font-size:14px}.offering-page .detail-block .check-list{font-size:13px}.deployment-grid{grid-template-columns:1fr}.offering-page .architecture-roles{grid-template-columns:1fr;text-align:center;gap:17px}.offering-page .connector{transform:rotate(90deg)}.offering-page .architecture-roles h2{font-size:25px}}
@media(max-width:640px){.offering-page .page-hero.offering-hero{padding-block:35px 40px}.offering-logo{height:50px;margin-bottom:22px}.offering-page .offering-hero h1{font-size:clamp(33px,8.9vw,49px);line-height:1.13;letter-spacing:-.05em}.offering-page .offering-hero .lede{font-size:15px;line-height:1.8;margin-top:22px}.offering-page .section{padding-block:48px}.offering-page .detail-grid{padding-bottom:40px}.offering-page .section-heading h2,.offering-page .split h2,.offering-page .fisic-feature h2{font-size:32px}.offering-page .three-columns>div{border-color:var(--line)}.offering-page .three-columns h3{font-size:24px}.offering-page .cta{padding:27px 24px;margin-block:25px 45px}.offering-page .cta h2{font-size:29px}.offering-page .cta .button{margin-top:25px}.offering-page .method-section h2{font-size:35px}.offering-page .environment-tabs h3{font-size:23px}.offering-page .flow h3{font-size:24px}.offering-page .software-intro{grid-template-columns:1fr;padding:24px;gap:20px}.offering-page .software-intro>.button{grid-column:auto}.offering-page .tool-card{min-height:0}.offering-page .tool-card h3{font-size:26px}.deployment-section{padding-bottom:40px}.deployment-heading h2{font-size:28px}.deployment-heading>p{font-size:14px}.deployment-card h3{font-size:24px}.deployment-note{font-size:11px}}
.form-trap { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.enquiry-form button:disabled { opacity: .65; cursor: wait; }
