
:root{--navy:#162c74;--blue:#283b94;--green:#00a956;--mint:#e0f5d9;--ice:#e3effb;--ink:#25314d;--muted:#5c6880;--line:#d9e1eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Inter','Segoe UI','Segoe UI',Arial,sans-serif;color:var(--ink);background:#fff}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.skip{position:absolute;top:-90px;left:8px;background:white;padding:14px;z-index:30}.skip:focus{top:8px}.site-header{position:absolute;z-index:50;top:0;left:0;right:0;background:linear-gradient(#ffffffec,#ffffffad);border-bottom:1px solid #ffffff70}.header-inner{max-width:1440px;margin:auto;display:flex;align-items:center;gap:34px;min-height:76px;padding:0 34px}.logo{display:inline-flex;align-items:center;flex:0 0 auto;white-space:nowrap}.logo img{display:block;height:97.44px;width:auto;filter:drop-shadow(0 0 5px rgba(255,226,183,.16))}.logo .two{color:#00a857}.logo small{display:block;font-size:9px;letter-spacing:2.1px;color:#283b94;font-weight:700;margin-top:-3px}.desktop-nav{display:flex;align-items:center;gap:5px;margin-left:auto}.nav-item{position:relative}.nav-button,.nav-link{display:inline-flex;align-items:center;gap:7px;padding:15px 12px;background:none;border:0;color:#182c67;font-size:14px;font-weight:700;border-radius:5px}.nav-button:hover,.nav-link:hover,.nav-button[aria-expanded=true]{background:#fff8}.chevron{font-size:12px}.header-cta,.button{background:var(--green);border:1px solid var(--green);border-radius:5px;color:#fff;font-weight:700;padding:12px 21px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:.2s}.button:hover,.header-cta:hover{background:#008944}.header-cta{font-size:13px;white-space:nowrap}.mobile-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px;color:var(--navy)}.mega{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;box-shadow:0 22px 40px #142e6040;border-bottom:3px solid var(--green);z-index:60}.mega.open{display:block}.mega-wrap{max-width:1380px;margin:auto;padding:30px 35px 34px;display:grid;grid-template-columns:280px 1fr;gap:32px}.mega-intro{border-right:1px solid var(--line);padding:9px 29px 8px 0}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--green);font-weight:800}.mega-intro h2{font-size:25px;color:var(--navy);margin:12px 0}.mega-intro p{line-height:1.5;color:var(--muted);font-size:14px}.mega-intro a{color:var(--navy);font-weight:800;font-size:14px}.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mega-card{display:block;padding:17px;border:1px solid #e2e9f0;border-radius:9px;background:#fbfdff;transition:.2s}.mega-card:hover,.mega-card:focus{border-color:#8dcbab;background:#effaf2;transform:translateY(-2px)}.mega-card strong{display:block;color:var(--navy);font-size:15px;margin-bottom:7px}.mega-card span{font-size:13px;line-height:1.45;color:var(--muted)}.hero{height:min(58vw,600px);min-height:470px;position:relative;background-position:center;background-size:cover;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f5f9fff2 0%,#ecf3ffc9 34%,#edf4ff2e 72%)}.hero-inner{position:relative;width:min(1280px,calc(100% - 70px));margin:65px auto 0}.hero h1{font-size:clamp(43px,5vw,76px);font-style:normal;color:var(--navy);line-height:.98;margin:12px 0 8px;max-width:800px;font-weight:850;letter-spacing:.2px}.hero .sub{letter-spacing:5px;font-size:clamp(12px,1.25vw,18px);font-weight:800;color:var(--navy);margin:0 0 18px}.hero p{font-weight:600;font-size:clamp(15px,1.45vw,20px);max-width:600px;line-height:1.55;color:#203764}.hero-actions{margin-top:25px;display:flex;gap:12px;flex-wrap:wrap}.outline{background:white;border-color:#a6b4c9;color:var(--navy)}.outline:hover{background:#f0f7ff}.content{max-width:1270px;margin:auto;padding:65px 32px}.section-heading{text-align:center;margin:0 auto 35px;max-width:920px}.section-heading h2{font-size:clamp(27px,3vw,39px);font-weight:800;color:var(--navy);margin:5px 0 12px}.section-heading p{font-size:18px;line-height:1.55;margin:0;color:#485978}.panel{border-radius:24px;background:var(--mint);padding:40px;margin:26px 0}.panel.blue{background:var(--ice)}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.two{grid-template-columns:repeat(2,1fr)}.feature{background:#fff;border:1px solid #e0e4e8;box-shadow:1px 5px 9px #1734651a;border-radius:17px;padding:23px;min-height:134px;display:block}.feature h3{font-size:19px;color:var(--navy);margin:0 0 11px}.feature p{font-size:15px;line-height:1.52;margin:0;color:#41506b}.feature.linked:hover{border-color:#7abc99;transform:translateY(-2px)}.center{text-align:center;margin-top:30px}.text-section{padding:55px 10px}.intro{max-width:950px;text-align:center;margin:auto;font-size:19px;line-height:1.6}.backdrop{background:#f7f9fc}.pill{color:var(--navy);font-weight:800;font-style:normal;border:1px solid #91acc9;border-radius:4px;padding:4px 24px;display:inline-block}.footer{background:#10245c;color:#e8eefe;padding:45px max(6vw,26px);display:flex;gap:40px;justify-content:space-between;flex-wrap:wrap}.footer a{color:#e8eefe}.footer-links{display:flex;gap:23px;flex-wrap:wrap;font-size:13px}.mobile-menu{display:none}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:730px;margin:26px auto}.contact-form label{font-size:13px;font-weight:700;color:#233c6c}.contact-form input,.contact-form textarea{display:block;width:100%;padding:13px;margin-top:7px;border-radius:5px;border:1px solid #b9c7d7;font:inherit}.contact-form .full{grid-column:1/-1}.notice{font-size:13px;color:#54647c}.breadcrumb{font-size:13px;color:#536d91;margin-bottom:20px}.breadcrumb a{text-decoration:underline}#page-content{min-height:70vh}#top{position:absolute;top:0}@media(max-width:1060px){.desktop-nav,.header-cta{display:none}.mobile-toggle{display:block;margin-left:auto}.mega{display:none!important}.mobile-menu.open{display:block;background:#fff;padding:12px 26px 26px;max-height:80vh;overflow:auto;box-shadow:0 18px 30px #1225473b}.mobile-menu a,.mobile-menu summary{display:block;padding:12px;border-bottom:1px solid #edf0f5;color:var(--navy);font-weight:700}.mobile-menu details a{padding-left:30px;font-size:14px;font-weight:500}.mobile-menu details details a{padding-left:43px}.header-inner{min-height:69px}.hero{min-height:470px}.card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.logo img{height:80.64px}.header-inner{padding:0 20px}.hero{height:560px;min-height:0;background-position:62% center}.hero:before{background:linear-gradient(90deg,#f8fbfff2,#f8fbffba 80%)}.hero-inner{width:calc(100% - 44px)}.hero h1{font-size:43px}.hero .sub{letter-spacing:2px}.content{padding:40px 20px}.panel{padding:22px 16px;border-radius:17px}.card-grid,.card-grid.two,.card-grid.three{grid-template-columns:1fr}.section-heading p{font-size:16px}.feature{min-height:0}.contact-form{grid-template-columns:1fr}.footer{display:block}.footer-links{margin-top:25px}}

/* 27 Oct 2026: PowerPoint-aligned presentation system */
:root{--navy:#202b79;--blue:#273b91;--green:#00ae58;--mint:#dbf3d4;--ice:#dceaf7}
body{font-family:'Inter','Segoe UI','Segoe UI',Arial,sans-serif}
.site-header{background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.25));border-bottom-color:rgba(255,255,255,.22);backdrop-filter:blur(5px)}
.hero{height:clamp(420px,29vw,545px);min-height:420px;background-position:center center;isolation:isolate}
.hero:before{background:linear-gradient(90deg,rgba(245,249,255,.70) 0%,rgba(245,249,255,.38) 37%,rgba(245,249,255,0) 75%);z-index:-1}
.hero-inner{width:min(1300px,calc(100% - 72px));margin-top:70px}
.hero h1{font-family:'Inter','Segoe UI',sans-serif;font-size:clamp(43px,4.1vw,67px);font-weight:850;font-style:normal;line-height:1.02;letter-spacing:.4px;max-width:780px;text-shadow:0 1px 12px rgba(255,255,255,.3)}
.hero .sub{letter-spacing:.29em;line-height:1.48;font-weight:800;font-size:clamp(11px,1.05vw,16px);max-width:760px}
.hero p{font-style:normal;font-weight:650;max-width:650px;line-height:1.4;font-size:clamp(15px,1.17vw,19px)}
.content{max-width:1360px;padding:43px 42px 65px}
.section-heading{margin-bottom:25px}.section-heading h2{font-style:normal;font-size:clamp(25px,2.5vw,36px)}
.section-heading h2:not(:empty){text-wrap:balance}
.panel{border-radius:23px;padding:35px 30px;margin:26px 0 32px}
.feature{border-radius:17px;box-shadow:2px 4px 7px #19345b24;min-height:135px;padding:22px}
.feature h3{font-style:normal;font-weight:800;font-size:18px}
.section-heading p{color:#294477;font-size:17px}
.source-intro{max-width:1050px;margin:28px auto 32px;text-align:center;color:#233b75;font-size:19px;line-height:1.55;font-weight:550}
.slide-figure{text-align:center;padding:18px 0 14px}.slide-figure img{max-width:100%;max-height:580px;width:auto;object-fit:contain}
.source-divider{height:1px;background:linear-gradient(90deg,transparent,#9ab4cc,transparent);margin:36px 0}
@media(max-width:620px){.hero{height:490px;min-height:490px;background-position:64% center}.hero:before{background:linear-gradient(90deg,rgba(247,250,255,.90),rgba(247,250,255,.74) 70%,rgba(247,250,255,.34))}.hero-inner{width:calc(100% - 38px);margin-top:80px}.hero h1{font-size:clamp(34px,9vw,48px)}.hero .sub{letter-spacing:.16em;font-size:11px}.hero p{font-size:15px}.content{padding:30px 19px}.panel{padding:25px 18px}}

/* Audit & Supplier Quality follows the same K2C panels, headings and card language. */
.audit-source-note{font-size:12px;color:var(--muted);text-align:center;max-width:850px;margin:18px auto 8px;line-height:1.6}

/* PowerPoint-aligned Resources and Contact page layout; scoped to these pages only. */
.rc-resource-grid{margin:12px auto 70px;max-width:1140px}.rc-resource-grid .feature{min-height:160px;border-radius:22px;box-shadow:none;padding:28px 31px}.rc-resource-grid .card-grid{gap:24px}.rc-resource-grid .feature h3{font-size:21px}.rc-contact-intro{padding:8px 0 34px}.rc-contact-intro .card-grid{max-width:1110px;margin:auto;gap:20px}.rc-contact-intro .feature{min-height:155px;border-radius:23px;box-shadow:none;padding:25px}.rc-contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin:26px auto 45px;align-items:stretch}.rc-contact-form,.rc-contact-what{border-radius:22px;padding:32px;background:#f5f7fb}.rc-contact-what{background:var(--mint)}.rc-contact-bottom h2,.rc-validation-form h2{color:var(--navy);font-size:26px;font-style:normal;text-align:center;margin:0 0 25px}.rc-contact-form .contact-form{grid-template-columns:1fr;margin:0;gap:11px}.rc-contact-form .contact-form label{font-size:13px}.rc-contact-form .contact-form input,.rc-contact-form .contact-form textarea{padding:10px;margin-top:5px}.rc-contact-form .contact-form textarea{min-height:90px}.rc-contact-form .contact-form .button{width:100%}.rc-what-card{padding:19px 21px;background:white;border-radius:15px;margin-bottom:16px;min-height:110px}.rc-what-card h3,.rc-step h3{color:var(--navy);font-size:18px;margin:0 0 7px}.rc-what-card p,.rc-step p{margin:0;font-size:15px;line-height:1.55;color:#435372}.rc-validation{max-width:1100px;margin:0 auto}.rc-validation-title h2{color:var(--navy);font-size:30px;letter-spacing:.3px;margin:0 0 4px}.rc-validation-title p{color:#536480;font-size:15px;margin:0 0 22px}.rc-validation-columns{display:grid;grid-template-columns:1.8fr .8fr;gap:28px;align-items:start}.rc-steps{display:grid;gap:12px}.rc-step{border-radius:17px;background:#eff5fc;padding:22px;min-height:105px}.rc-step.soft-green{background:#eff9ef}.rc-related{background:var(--ice);padding:28px;border-radius:21px;display:grid;gap:22px;text-align:center;position:sticky;top:92px}.rc-related h3{font-style:normal;color:var(--navy);font-size:20px;margin:0}.rc-related a{color:var(--navy);font-weight:700}.rc-validation-form{margin:35px auto 30px;background:#f5f7fb;padding:32px;border-radius:20px}.rc-validation-form .contact-form{max-width:780px}.rc-validation-form .section-heading{margin-bottom:12px}@media(max-width:800px){.rc-contact-bottom,.rc-validation-columns{grid-template-columns:1fr}.rc-related{position:static}.rc-contact-form,.rc-contact-what{padding:22px}.rc-resource-grid .card-grid{grid-template-columns:1fr}}

/* About page: slide 16 photographic hero without text, and the slide's two-column content. */
.about-slide16-hero{background-position:center center;}
.about-slide16-hero:before{background:linear-gradient(90deg,rgba(245,249,255,.10),rgba(245,249,255,0) 70%);}
.about-slide16-body{max-width:1150px;margin:0 auto;}
.about-slide16-body>.section-heading{margin:10px auto 35px;max-width:1000px;}
.about-slide16-body>.section-heading h2{font-style:normal;font-size:clamp(29px,3vw,40px);}
.about-slide16-benefits{margin-bottom:34px;}
.about-slide16-benefits .card-grid{gap:22px;}
.about-slide16-benefits .feature{box-shadow:none;border-radius:20px;min-height:142px;padding:25px;}
.about-slide16-benefits .feature h3{font-style:normal;}
@media(max-width:620px){.about-slide16-hero{height:330px;min-height:330px;background-position:55% center}.about-slide16-benefits .card-grid{grid-template-columns:1fr}}

/* Home hero only: single-line desktop subtitle; responsive wrapping on narrow screens. */
.home-hero .sub{white-space:nowrap;max-width:none;font-size:clamp(10px,1.05vw,15px);letter-spacing:.13em}
@media(max-width:900px){.home-hero .sub{white-space:normal;letter-spacing:.12em}}

/* Contact hero only: preserve slide 16 image colours and desktop heading on one line. */
.contact-slide16-hero:before{background:linear-gradient(90deg,rgba(245,249,255,.13) 0%,rgba(245,249,255,.055) 48%,rgba(245,249,255,0) 78%)}
.contact-slide16-hero h1{white-space:nowrap;max-width:none;font-size:clamp(32px,4.3vw,64px)}
@media(max-width:900px){.contact-slide16-hero h1{white-space:normal}}

/* Single-line desktop headings for the three specified service pages only. */
.hero.service-single-line h1{white-space:nowrap;max-width:none;font-size:clamp(34px,4.25vw,64px)}
@media(max-width:980px){.hero.service-single-line h1{white-space:normal}}
.hero.laboratory-single-line h1{white-space:nowrap;max-width:none;font-size:clamp(30px,3.45vw,49px)}@media(max-width:980px){.hero.laboratory-single-line h1{white-space:normal}}
.hero.medical-single-line h1{white-space:nowrap;max-width:none;font-size:clamp(28px,3.25vw,56px)}@media(max-width:980px){.hero.medical-single-line h1{white-space:normal}}
.hero.safety-single-line h1{white-space:nowrap;max-width:none;font-size:clamp(28px,3.35vw,58px)}@media(max-width:980px){.hero.safety-single-line h1{white-space:normal}}
.hero.clinical-subtitle-one-line .sub{white-space:nowrap;max-width:none;letter-spacing:clamp(1px,.18vw,2.4px);font-size:clamp(11px,1.05vw,16px)}
@media(max-width:980px){.hero.clinical-subtitle-one-line .sub{white-space:normal}}
.hero.solutions-slide4-hero::before{background:linear-gradient(90deg,rgba(245,249,255,.14) 0%,rgba(245,249,255,.06) 44%,rgba(245,249,255,0) 80%)}
/* Solutions landing hero only: show the whole original slide 4 photograph without cropping or distortion. */
.hero.solutions-slide4-hero{background-size:contain;background-repeat:no-repeat;background-position:center center;background-color:#d4d4d5}
.hero.audit-single-line h1{white-space:nowrap;max-width:none;font-size:clamp(30px,3.6vw,60px)}@media(max-width:980px){.hero.audit-single-line h1{white-space:normal}}
#a-connected-approach-to-medical-and-regulatory-work .section-heading h2{white-space:nowrap;max-width:none;font-size:clamp(24px,2.25vw,34px)}
@media(max-width:980px){#a-connected-approach-to-medical-and-regulatory-work .section-heading h2{white-space:normal}}
/* Pharmaceutical industry hero title: keep one line on desktop, wrap responsively on smaller screens. */
.hero.pharmaceutical-single-line h1{white-space:nowrap;max-width:none;font-size:clamp(46px,5.25vw,82px)}
@media(max-width:980px){.hero.pharmaceutical-single-line h1{white-space:normal}}
@media(max-width:720px){.hero.pharmaceutical-single-line h1{font-size:46px}}
/* Match Home page section title colours across all pages. */
#page-content .section-heading h2{color:var(--navy)}
/* Match Home page section title sizing across all pages. */
#page-content .section-heading h2{font-size:clamp(24.3px,2.7vw,35.1px)}
/* Match Home page section subtitles, card titles and descriptions across all pages. */
#page-content .section-heading p{font-size:13.6px}
#page-content .feature h3{font-size:14.4px}
#page-content .feature p{font-size:12px}
/* Consistent page text colour across all website pages, preserving existing page-specific sizing. */
#page-content,
#page-content *{color:#162C74 !important}
/* CTA button text remains white on every page. */
#page-content .button,
#page-content .button *{color:#fff !important}
/* Clinical Quality & GCP: keep this specific panel heading on a single desktop line. */
@media (min-width:1100px){
  #page-content #clinical-quality-processes-in-one-governance-approach .section-heading{max-width:none}
  #page-content #clinical-quality-processes-in-one-governance-approach .section-heading h2{white-space:nowrap;text-wrap:nowrap}
}

/* Why K2C hero subtitle: one line on desktop, normal responsive wrapping on smaller screens. */
@media(min-width:981px){.hero.why-subtitle-single-line .sub{max-width:none;white-space:nowrap}}

/* About and Contact heroes: scale the supplied image to the full hero height while preserving proportions. */
.hero.about-slide16-hero,.hero.contact-slide16-hero{background-size:100% auto;background-repeat:no-repeat;background-position:center center;background-color:#e5e9ed}


/* 31 Oct 2026: Sparta-inspired premium section redesign */
:root{--navy:#102c73;--blue:#214ea7;--green:#00af5b;--mint:#f3f8ff;--ice:#f6fbf8;--soft:#6a7794;--surface:#ffffff;--line:#dfe7f4;--shadow:0 22px 54px rgba(16,44,115,.08)}
body{font-family:'Manrope','Segoe UI',Arial,sans-serif;background:linear-gradient(180deg,#fff 0%,#f8fbff 100%);color:#243455}
.site-header{background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,44,115,.08)}
.header-inner{max-width:1380px;min-height:84px;padding:0 34px}
.logo img{height:80px}
.nav-button,.nav-link{font-size:15px;font-weight:800;color:#18346f}
.nav-button:hover,.nav-link:hover,.nav-button[aria-expanded=true]{background:#f2f6fd}
.header-cta,.button{border-radius:999px;padding:14px 24px;font-weight:800;letter-spacing:.01em;box-shadow:none}
.header-cta{font-size:15px}
.hero{min-height:520px;height:min(60vw,660px)}
.hero:before{background:linear-gradient(90deg,rgba(247,250,255,.96) 0%,rgba(247,250,255,.90) 28%,rgba(247,250,255,.26) 65%,rgba(247,250,255,0) 85%)}
.hero-inner{width:min(1320px,calc(100% - 68px));margin-top:88px}
.hero h1{font-size:clamp(46px,5.25vw,82px);line-height:.95;font-weight:800;letter-spacing:-.03em;color:var(--navy);max-width:760px;margin:0 0 18px}
.hero .sub{order:-1;display:inline-block;font-size:13px;letter-spacing:.16em;line-height:1.5;text-transform:uppercase;color:var(--blue);font-weight:800;margin-bottom:18px}
.hero p{font-size:20px;line-height:1.65;font-weight:600;max-width:650px;color:#304972}
.content{max-width:1320px;padding:56px 34px 80px}
.text-section{padding:16px 0 24px}
.text-section .section-heading{max-width:860px;text-align:left;margin:0}
.section-heading.left{text-align:left;max-width:none;margin:0}
.section-heading h2{font-size:clamp(34px,3.3vw,52px);line-height:1.05;letter-spacing:-.03em;font-weight:800;color:var(--navy);margin:0 0 16px}
.section-heading p{font-size:19px;line-height:1.72;color:#475a7d;margin:0}
.section-eyebrow{font-size:12px;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--green);font-weight:800;margin-bottom:16px}
.panel.ref-section{background:transparent;padding:0;margin:42px 0 58px;border-radius:0}
.section-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,520px);gap:38px;align-items:center;margin-bottom:28px}
.section-top.no-visual{grid-template-columns:1fr}
.section-copy{max-width:780px}
.section-visual{display:flex;justify-content:flex-end}
.visual-frame{background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:18px;overflow:hidden;width:100%}
.visual-frame img{display:block;width:100%;height:auto;border-radius:18px}
.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.feature{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px;min-height:190px;box-shadow:0 12px 32px rgba(16,44,115,.06);display:flex;flex-direction:column;gap:16px;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease}
.feature:hover{transform:translateY(-3px);box-shadow:0 20px 40px rgba(16,44,115,.1);border-color:#c6d8f7}
.feature-kicker{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#edf4ff;color:var(--blue);font-size:13px;font-weight:800;flex:0 0 auto}
.feature h3{font-size:24px;line-height:1.15;letter-spacing:-.02em;margin:0;color:var(--navy);font-weight:800}
.feature p{font-size:16px;line-height:1.65;color:#546683;margin:0}
.feature.linked{position:relative}
.feature.linked:after{content:'→';position:absolute;right:24px;bottom:22px;color:var(--blue);font-weight:800;font-size:18px}
.center{text-align:left;margin-top:26px}
.center .button{background:#fff;color:var(--navy);border:1px solid #c8d6ec}
.center .button:hover{background:#f4f8ff}
.cta-button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.intro-band{background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%);border:1px solid var(--line);border-radius:30px;padding:38px 40px;box-shadow:var(--shadow)}
.cta-section .section-top{grid-template-columns:1fr minmax(320px,420px);align-items:start}
.footer{background:#0f2663}
.footer-links{font-size:14px}
.breadcrumb{font-size:14px;color:#58709a}
.contact-form input,.contact-form textarea{border-radius:14px;border:1px solid #cfd9ea;padding:15px 16px}
.contact-form label{font-size:13px;font-weight:800;color:#274277}
.mega{border-bottom:0;box-shadow:0 22px 44px rgba(16,44,115,.12)}
.mega-wrap{max-width:1320px;padding:28px 34px 34px}
.mega-card{border-radius:18px;padding:20px;background:#fff}
.mega-card strong{font-size:16px}
.mega-card span{font-size:14px}
@media (max-width:1100px){
  .section-top,.cta-section .section-top{grid-template-columns:1fr}
  .section-visual{justify-content:flex-start}
  .visual-frame{max-width:760px}
  .card-grid,.card-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .hero{min-height:530px;height:auto;padding-bottom:24px}
  .hero-inner{width:calc(100% - 36px);margin-top:84px}
  .hero h1{font-size:46px}
  .hero p{font-size:17px}
  .content{padding:42px 18px 62px}
  .intro-band{padding:26px 20px;border-radius:24px}
  .card-grid,.card-grid.three,.card-grid.two{grid-template-columns:1fr}
  .feature{min-height:0;padding:20px}
  .feature h3{font-size:21px}
  .section-heading h2{font-size:36px}
  .section-heading p{font-size:17px}
}


/* Modularity: AI-enabled Quality reference-inspired editorial layout. Other routes unchanged. */
.mod-ai-page{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#122e66;background:#fff}.mod-ai-page h2{font-size:clamp(34px,3.2vw,55px);line-height:1.1;letter-spacing:-.025em;margin:12px 0 22px;color:#152c70;font-weight:800}.mod-ai-page p{font-size:18px;line-height:1.75;color:#465e82}.mod-ai-eyebrow{font-size:12px;font-weight:850;letter-spacing:.19em;color:#008e8c}.mod-ai-intro{max-width:1370px;margin:auto;padding:90px 44px;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:46px}.mod-ai-copy p{max-width:590px;margin-bottom:27px}.mod-ai-visual img{width:100%;display:block;border-radius:22px;box-shadow:0 16px 45px #18336b14}.mod-ai-benefits{background:#f4f8fc;padding:85px max(44px,calc((100% - 1290px)/2)) 95px}.mod-ai-heading{max-width:720px;margin-bottom:35px}.mod-ai-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.mod-ai-benefit-grid article{border-top:3px solid #18a4a1;padding:26px 0 0}.mod-ai-index{font-size:14px;font-weight:800;color:#008d90;margin-bottom:18px}.mod-ai-benefit-grid h3{font-size:22px;line-height:1.2;margin:0;color:#172e69}.mod-ai-benefit-grid p{font-size:15px;line-height:1.65}.mod-ai-feature{display:grid;grid-template-columns:1.16fr .84fr;align-items:center;gap:55px;padding:90px 44px;max-width:1370px;margin:auto}.mod-ai-feature-visual img{width:100%;display:block;border-radius:20px}.mod-ai-feature-copy p{margin-bottom:28px}.mod-ai-family{padding:85px max(44px,calc((100% - 1290px)/2));background:#fff}.mod-ai-family-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.mod-ai-family-grid a{border:1px solid #dbe5ef;padding:25px;border-radius:7px;background:#fff;transition:box-shadow .2s,transform .2s}.mod-ai-family-grid a:hover{box-shadow:0 14px 30px #142d5c17;transform:translateY(-3px)}.mod-ai-family-grid span{color:#008d90;font-size:13px;font-weight:800}.mod-ai-family-grid h3{font-size:20px;margin:14px 0 8px}.mod-ai-family-grid p{font-size:15px;line-height:1.6;margin:0 0 20px}.mod-ai-family-grid b{font-size:13px;color:#027575}.mod-ai-last{padding:75px 32px 85px;text-align:center;background:#eaf6f7}.mod-ai-last h2{max-width:900px;margin:12px auto}.mod-ai-last p{margin:0 auto 25px;max-width:650px}.mod-ai-last .button{margin:auto}
@media(max-width:1000px){.mod-ai-intro,.mod-ai-feature{grid-template-columns:1fr}.mod-ai-benefit-grid{grid-template-columns:repeat(2,1fr)}.mod-ai-feature-visual{order:2}.mod-ai-feature-copy{order:1}}@media(max-width:650px){.mod-ai-intro,.mod-ai-feature{padding:48px 20px;gap:20px}.mod-ai-benefits,.mod-ai-family{padding:52px 20px}.mod-ai-benefit-grid,.mod-ai-family-grid{grid-template-columns:1fr}.mod-ai-page p{font-size:16px}.mod-ai-benefit-grid article{padding-top:18px}}

/* Modularity hero: keep complete title on a single line on desktop. */
@media(min-width:981px){.hero.modularity-full-title h1{max-width:none;white-space:nowrap;font-size:clamp(42px,4.25vw,66px)}}
@media(max-width:980px){.hero.modularity-full-title h1{white-space:normal}}

/* Audit & Supplier Quality — editorial page inspired by reference structural hierarchy */
.audit-story{padding:62px 8px 70px;margin:0;position:relative;border-bottom:1px solid #e0e9f2}
.audit-story.audit-tint{background:linear-gradient(100deg,#f6faff,#fff 65%);padding-left:26px;padding-right:26px;border-radius:6px}
.audit-story-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.85fr);align-items:center;gap:60px;margin-bottom:38px}
.audit-reverse .audit-story-main{direction:rtl}
.audit-reverse .audit-story-main>*{direction:ltr}
.audit-story-text{max-width:740px}
.audit-eyebrow{font-weight:800;font-size:12px;letter-spacing:.2em;color:#0c9477;margin-bottom:18px}
.audit-story-text h2{font-size:clamp(32px,3.35vw,49px);letter-spacing:-.035em;font-weight:800;color:#152d73;line-height:1.1;margin:0 0 20px}
.audit-story-text p{font-size:18px;line-height:1.75;color:#36517b;margin:0}
.audit-illustration{margin:0;border-radius:22px;overflow:hidden;background:#eef6fc;box-shadow:0 22px 45px #0a296721;min-width:0}
.audit-illustration img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.audit-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 34px}
.audit-detail{display:flex;gap:15px;padding:15px 0 18px;border-top:2px solid #e4eaf1;color:inherit;position:relative}
.audit-detail h3{font-size:19px;color:#142e73;line-height:1.28;margin:0 0 8px}
.audit-detail p{margin:0;font-size:15px;line-height:1.67;color:#53637d}
.audit-badge{flex:0 0 38px;height:38px;border-radius:50%;background:#e0f3ee;display:flex;align-items:center;justify-content:center;color:#007e74;font-weight:900;font-size:12px}
.audit-arrow{font-size:18px;align-self:start;color:#007f76}
.audit-action{margin-top:25px}
.audit-lifecycle-visual{min-height:340px;border-radius:22px;padding:32px;background:radial-gradient(circle at center,#e8fff4 0%,#e9f2ff 64%,#f7faff 100%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,1fr);gap:12px;align-items:center;box-shadow:0 20px 40px #10307019;position:relative}
.audit-lifecycle-core{grid-row:2;grid-column:2;border-radius:50%;width:116px;height:116px;background:#0d3779;color:#fff;font-size:15px;font-weight:900;text-align:center;display:flex;align-items:center;justify-content:center;justify-self:center;line-height:1.4;box-shadow:0 10px 26px #0b337947;z-index:1}
.audit-stage{background:#fff;min-height:75px;border-radius:13px;padding:12px 8px;box-shadow:0 8px 20px #0c2c701a;display:flex;align-items:center;gap:10px;font-size:12px;color:#172f70}
.audit-stage span{font-weight:900;border-radius:50%;background:#c9f5e8;color:#078e79;min-width:25px;height:25px;display:grid;place-items:center}
.audit-stage:nth-of-type(2){grid-row:1;grid-column:1}.audit-stage:nth-of-type(3){grid-row:1;grid-column:2}.audit-stage:nth-of-type(4){grid-row:1;grid-column:3}.audit-stage:nth-of-type(5){grid-row:3;grid-column:3}.audit-stage:nth-of-type(6){grid-row:3;grid-column:2}.audit-stage:nth-of-type(7){grid-row:3;grid-column:1}
@media(max-width:980px){.audit-story-main{grid-template-columns:1fr;gap:30px}.audit-reverse .audit-story-main{direction:ltr}.audit-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.audit-story,.audit-story.audit-tint{padding:42px 6px}.audit-story-text h2{font-size:33px}.audit-story-text p{font-size:16px}.audit-detail-grid{grid-template-columns:1fr;gap:5px}.audit-lifecycle-visual{padding:10px;gap:6px;min-height:280px}.audit-stage{font-size:10px;padding:6px 5px;gap:4px}.audit-lifecycle-core{width:75px;height:75px;font-size:10px}.audit-stage span{min-width:19px;height:19px}}


/* QMS page editorial layout — scoped to core quality */
.core-quality-page .audit-story{padding-top:66px;padding-bottom:70px}
.core-quality-page .audit-eyebrow{letter-spacing:.17em}
.core-quality-page .audit-illustration img{width:100%;height:auto;max-height:460px;object-fit:contain}
.core-quality-page .quality-card-fit{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;}
.core-quality-page .quality-card-fit img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center center;}
.core-quality-page .audit-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.core-quality-page .core-lifecycle-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.core-quality-page .core-lifecycle-step{background:white;border:1px solid #dce7f2;border-radius:17px;padding:18px;display:flex;gap:12px;align-items:center}
.core-quality-page .core-lifecycle-step b{display:grid;place-items:center;border-radius:50%;height:40px;min-width:40px;background:#e3f5ef;color:#067d72;font-size:16px}
.core-quality-page .core-lifecycle-step span{color:#162f71;font-weight:800;font-size:15px}
@media(max-width:900px){.core-quality-page .core-lifecycle-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.core-quality-page .core-lifecycle-steps{grid-template-columns:1fr}.core-quality-page .audit-detail-grid{grid-template-columns:1fr}}

/* Global CTA contrast repair: prevent white lettering on white button backgrounds. */
#page-content .button:not(.outline),
#page-content .center .button:not(.outline),
#page-content button.button:not(.outline){
  background:#00ae58 !important;
  border-color:#00ae58 !important;
  color:#ffffff !important;
}
#page-content .button:not(.outline):hover,
#page-content .center .button:not(.outline):hover,
#page-content button.button:not(.outline):hover{
  background:#008b49 !important;
  border-color:#008b49 !important;
}
#page-content .button.outline,
#page-content .button.outline *{
  background:#ffffff !important;
  border-color:#a6b4c9 !important;
  color:#162c74 !important;
}
#page-content .button.outline:hover{background:#eef5ff !important}
/* Clinical hero title only: single line on desktop, existing mobile wrapping retained. */
@media (min-width:1100px){
  #page-content .hero.clinical-subtitle-one-line h1{white-space:nowrap;text-wrap:nowrap;max-width:none;font-size:clamp(42px,4vw,62px)}
}

/* Clinical solution: reuse the Audit & Supplier editorial structure and typographic system. */
.clinical-quality-page .clinical-story{padding-top:68px;padding-bottom:76px}
.clinical-quality-page .clinical-illustration img{aspect-ratio:16/10;object-fit:contain;background:#f3f8fd}
.clinical-quality-page .audit-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){.clinical-quality-page .audit-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.clinical-quality-page .audit-detail-grid{grid-template-columns:1fr}}

/* Services landing page: retain title on one desktop line without affecting other heroes. */
@media (min-width:981px){.hero.services-index-single-line h1{white-space:nowrap;max-width:none}}

/* Core Quality: desktop hero single-line and legible six-step quality lifecycle. */
@media (min-width:981px){
 .hero.core-quality-single-line h1{white-space:nowrap;max-width:none;font-size:clamp(45px,5vw,76px)}
}
.core-quality-page .core-lifecycle-flow{background:linear-gradient(145deg,#f4f9ff,#eaf4ff);border:1px solid #dae8f6;border-radius:24px;padding:26px;box-shadow:0 17px 36px #16366a16}
.core-quality-page .core-lifecycle-heading{font-weight:850;color:#153979;font-size:18px;letter-spacing:.06em;text-align:center;margin:0 0 22px}
.core-quality-page .core-lifecycle-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.core-quality-page .core-lifecycle-flow-step{background:#fff;border:1px solid #cbddec;border-radius:16px;min-height:109px;padding:17px 13px;display:flex;align-items:center;gap:10px;position:relative;box-shadow:0 5px 14px #102c5410}
.core-quality-page .core-lifecycle-flow-step .stage-num{flex:0 0 39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#d6f5e8;color:#075f58;font-weight:850;font-size:16px}
.core-quality-page .core-lifecycle-flow-step .stage-name{font-weight:800;font-size:15px;line-height:1.35;color:#162c74}
.core-quality-page .core-lifecycle-flow-step:nth-child(-n+5)::after{content:'›';position:absolute;right:-13px;top:50%;transform:translateY(-50%);color:#069d84;font-size:28px;font-weight:900;z-index:2}
.core-quality-page .core-lifecycle-flow-step:nth-child(3)::after{content:'↓';top:auto;bottom:-23px;right:50%;transform:translateX(50%);font-size:22px}
.core-quality-page .core-lifecycle-flow-step:nth-child(4)::after,.core-quality-page .core-lifecycle-flow-step:nth-child(5)::after{content:'‹';left:-13px;right:auto}
.core-quality-page .core-lifecycle-flow-step:nth-child(4){grid-column:3;grid-row:2}
.core-quality-page .core-lifecycle-flow-step:nth-child(5){grid-column:2;grid-row:2}
.core-quality-page .core-lifecycle-flow-step:nth-child(6){grid-column:1;grid-row:2}
@media(max-width:680px){
 .core-quality-page .core-lifecycle-flow-grid{grid-template-columns:1fr}
 .core-quality-page .core-lifecycle-flow-step{min-height:72px}
 .core-quality-page .core-lifecycle-flow-step:nth-child(n){grid-column:auto;grid-row:auto}
 .core-quality-page .core-lifecycle-flow-step:nth-child(-n+5)::after{content:'↓';top:auto;right:50%;left:auto;bottom:-22px;transform:translateX(50%);font-size:22px}
}

/* Blend the Clinical Evidence illustration seamlessly into its existing card. */
.clinical-quality-page .clinical-evidence-blended{background:transparent;box-shadow:none;border:0;overflow:visible}
.clinical-quality-page .clinical-evidence-blended img{background:transparent;object-fit:contain}

/* Clinical lifecycle only: let the illustration dissolve into its image card. */
#a-practical-clinical-quality-lifecycle .visual-frame{background:#eaf7fd;border:0;box-shadow:none;padding:0;border-radius:28px;overflow:hidden}
#a-practical-clinical-quality-lifecycle .visual-frame img{width:100%;height:auto;display:block;border-radius:0;mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none}

/* Related K2C capabilities: show the complete image, including all white boxes. */
.core-quality-page .related-capabilities-full-fit {aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.core-quality-page .related-capabilities-full-fit img {display:block;width:100%;height:100%;max-width:100%;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center center;}

/* Home paragraph sizes aligned to Quality Management; Home only. */
#page-content .home-paragraphs .section-heading p{font-size:18px}
#page-content .home-paragraphs .feature p{font-size:15px}
/* Home card heading size matches Quality Management card headings. */
#page-content .home-paragraphs .feature h3{font-size:19px}
/* Home section heading sizes match Quality Management editorial section headings. */
#page-content .home-paragraphs .section-heading h2{font-size:clamp(32px,3.35vw,49px)}
@media(max-width:620px){#page-content .home-paragraphs .section-heading h2{font-size:33px}}
@media(max-width:620px){#page-content .home-paragraphs .section-heading p{font-size:16px}}
/* Platform and Modularity: typography sizes matched to Quality Management only. */
#page-content .platform-modularity-type-match .section-heading p{font-size:18px}
#page-content .platform-modularity-type-match .feature p{font-size:15px}
#page-content .platform-modularity-type-match .feature h3{font-size:19px}
@media(max-width:620px){#page-content .platform-modularity-type-match .section-heading p{font-size:16px}}
/* Platform and Modularity section heading sizes matched to Quality Management. */
#page-content .platform-modularity-type-match .section-heading h2{font-size:clamp(32px,3.35vw,49px)}
@media(max-width:620px){#page-content .platform-modularity-type-match .section-heading h2{font-size:33px}}
/* Typography matching Quality Management, limited to the 12 requested routes. */
#page-content.k2c-extended-typography .section-heading h2{font-size:clamp(32px,3.35vw,49px)}
#page-content.k2c-extended-typography .section-heading p{font-size:18px}
#page-content.k2c-extended-typography .feature h3{font-size:19px}
#page-content.k2c-extended-typography .feature p{font-size:15px}
@media(max-width:620px){
  #page-content.k2c-extended-typography .section-heading h2{font-size:33px}
  #page-content.k2c-extended-typography .section-heading p{font-size:16px}
}
/* Solutions overview hero: match Quality Management hero font sizes and photo presentation. */
@media (min-width:981px){
  .hero.solutions-overview-core-hero h1{white-space:nowrap;max-width:none;font-size:clamp(45px,5vw,76px)}
}
/* Mobile keeps the Quality Management title and paragraph sizing. */
/* Solutions overview only: match Quality Management typography sizes. */
#page-content.k2c-solutions-type-match .section-heading h2{font-size:clamp(32px,3.35vw,49px)}
#page-content.k2c-solutions-type-match .section-heading p{font-size:18px}
#page-content.k2c-solutions-type-match .feature h3{font-size:19px}
#page-content.k2c-solutions-type-match .feature p{font-size:15px}
@media(max-width:620px){
  #page-content.k2c-solutions-type-match .section-heading h2{font-size:33px}
  #page-content.k2c-solutions-type-match .section-heading p{font-size:16px}
}
/* Security & Auditability only: match Quality Management typography sizes. */
#page-content.k2c-security-type-match .section-heading h2{font-size:clamp(32px,3.35vw,49px)}
#page-content.k2c-security-type-match .section-heading p{font-size:18px}
#page-content.k2c-security-type-match .feature h3{font-size:19px}
#page-content.k2c-security-type-match .feature p{font-size:15px}
@media(max-width:620px){
  #page-content.k2c-security-type-match .section-heading h2{font-size:33px}
  #page-content.k2c-security-type-match .section-heading p{font-size:16px}
}
 /* About hero title: match Contact hero title sizing and responsive behavior. */ .about-slide16-hero h1{white-space:nowrap;max-width:none;font-size:clamp(46px,5.25vw,82px)} @media(max-width:900px){.about-slide16-hero h1{white-space:normal}} 