/* TechChange — derived build. Tokens + clean components authored from the measured spec. Deploy trigger 2. */

:root{
  --navy:#223440;            /* primary / ink / heading */
  --teal:rgb(1,122,141);     /* accent */
  --teal-dark:#056271;       /* stat numbers, work labels */
  --yellow:rgb(255,200,6);   /* primary CTA */
  --cream:rgb(246,240,237);  /* hero + logo-grid wash */
  --gray-nav:rgb(99,102,106);
  --tan:rgb(212,206,203);    /* card outline */
  --orange:rgb(242,158,0);
  --purple:rgb(128,0,128);
  --white:#fff;
  --container:1440px;
  --gutter:40px;
  --radius:5px;
  --font-body:"Poppins",system-ui,-apple-system,sans-serif;
  --font-head:"Barlow","Poppins",sans-serif;
  --font-lcd:"JD LCD Rounded","Barlow",monospace;
}

/* ── self-hosted fonts (harvested by the migration) ── */
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url("/_migration_assets/asset_12872b2034aa0933.woff2?v=6eecf884-254c-4152-8571-478270d8b989") format("woff2");}
@font-face{font-family:"Barlow";font-weight:700;font-style:normal;font-display:swap;src:url("/_migration_assets/asset_70cd435f5bec9db2.woff2?v=6eecf884-254c-4152-8571-478270d8b989") format("woff2");}
@font-face{font-family:"Poppins";font-weight:400;font-style:normal;font-display:swap;src:url("/_migration_assets/asset_f1e3dfba752e2548.woff2?v=6eecf884-254c-4152-8571-478270d8b989") format("woff2");}
@font-face{font-family:"Poppins";font-weight:500;font-style:normal;font-display:swap;src:url("/_migration_assets/asset_375b7bf34421c229.woff2?v=6eecf884-254c-4152-8571-478270d8b989") format("woff2");}
@font-face{font-family:"Poppins";font-weight:600;font-style:normal;font-display:swap;src:url("/_migration_assets/asset_0d949dc2faafc3fa.woff2?v=6eecf884-254c-4152-8571-478270d8b989") format("woff2");}
@font-face{font-family:"Poppins";font-weight:700;font-style:normal;font-display:swap;src:url("/_migration_assets/asset_f1e10b442553cc1d.woff2?v=6eecf884-254c-4152-8571-478270d8b989") format("woff2");}
@font-face{font-family:"JD LCD Rounded";font-weight:400;font-style:normal;font-display:swap;src:url("/_migration_assets/asset_89b8891691dfb46b.woff2?v=6eecf884-254c-4152-8571-478270d8b989") format("woff2");}

/* ── reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;}
img,svg{max-width:100%;height:auto;}
body{font-family:var(--font-body);font-size:16px;line-height:24px;color:var(--navy);background:var(--white);-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;padding:0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy);font-weight:600;line-height:1.15;}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:1px;border-radius:var(--radius);border:3px solid transparent;cursor:pointer;text-align:center;}
.btn--yellow{background:var(--yellow);border-color:var(--yellow);color:var(--navy);padding:14px 25px;font-size:18px;}
.btn--teal{background:var(--teal);border-color:var(--teal);color:#fff;padding:13px 35px;}
.btn--outline{background:transparent;border-color:var(--tan);color:var(--navy);padding:10px 23px;}
.btn--text{background:transparent;border:none;color:var(--navy);padding:0;}

/* ── header ── */
.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid rgba(0,0,0,.1);}
.site-header .container{display:flex;align-items:center;min-height:62px;gap:20px;}
.site-logo img{width:230px;max-width:80%;display:block;}
.nav-toggle-cb{display:none;}
.nav-toggle{display:none;}
.primary-nav{margin-left:auto;}
.primary-nav ul{display:flex;align-items:center;flex-wrap:wrap;}
.primary-nav li+li{margin-left:5px;}
.primary-nav a{position:relative;display:inline-block;font-size:15px;font-weight:500;color:var(--gray-nav);text-transform:uppercase;padding:19px 9px;}
.primary-nav a::after{content:"";position:absolute;bottom:56px;left:9px;right:9px;height:5px;background:var(--yellow);transform:scaleX(0);transition:transform .15s;transform-origin:left center;}
.primary-nav a:hover::after{transform:scaleX(1);}
.nav-cta a{padding:19px 10px;}

/* ── hero ── */
.hero{position:relative;background:linear-gradient(to right,var(--cream) 0,var(--cream) 60%,var(--white) 60%,var(--white) 100%);overflow:hidden;}
.hero::after{content:"";position:absolute;bottom:0;left:0;width:60%;height:70px;border-top:70px solid var(--cream);border-right:768px solid var(--white);pointer-events:none;}
.hero .container{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;padding-bottom:126px;}
.hero__text{flex-basis:50%;max-width:50%;padding-right:50px;}
.hero h1{font-size:52px;line-height:52px;font-weight:700;max-width:542px;}
.hero__sub{font-size:18px;line-height:27px;margin-top:40px;max-width:542px;}
.hero__actions{display:flex;align-items:center;gap:24px;margin-top:40px;flex-wrap:wrap;}
.hero__img{flex-basis:50%;max-width:50%;}
.hero__img img{width:100%;border-radius:8px 0 0 8px;display:block;}

/* ── partners ── */
.partners{padding:70px 0;margin-bottom:100px;position:relative;}
.partners{background:linear-gradient(to right,var(--white) 0,var(--white) 40%,var(--cream) 40%,var(--cream) 100%);}
.partners::before{content:"";position:absolute;top:0;left:40%;width:60%;height:70px;border-bottom:70px solid var(--cream);border-left:768px solid var(--white);pointer-events:none;}
.partners::after{content:"";position:absolute;bottom:0;left:40%;width:60%;height:70px;border-top:70px solid var(--cream);border-left:768px solid var(--white);pointer-events:none;}
.partners .container{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;}
.partners h3{font-size:29px;font-weight:600;flex-basis:41.6667%;}
.logo-grid{flex-basis:58.3333%;display:grid;grid-template-columns:repeat(3,1fr);gap:40px 20px;padding-top:50px;align-items:center;justify-items:center;}
.logo-grid img{width:100%;max-width:218px;max-height:92px;object-fit:contain;}

/* ── services ── */
.services{margin-bottom:100px;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 45px;max-width:1200px;margin:0 auto;}
.service-card{text-align:center;display:flex;flex-direction:column;align-items:center;}
.service-card h3{font-size:29px;font-weight:600;}
.service-card__img{width:100%;height:255px;object-fit:contain;margin-top:25px;}
.service-card p{margin:25px 0 20px;}
.service-card .btn{margin-top:auto;}

/* ── philosophy ── */
.philosophy{margin-bottom:100px;position:relative;background:#fff;padding:60px 0;}
.philosophy .container{display:flex;flex-wrap:wrap;align-items:center;position:relative;z-index:1;}
.philosophy__text{flex-basis:50%;max-width:50%;padding-right:40px;}
.philosophy h3{font-size:29px;font-weight:600;}
.philosophy h4{font-size:22px;font-weight:600;margin-top:20px;}
.philosophy ul{margin:20px 0 25px;padding-left:18px;max-width:450px;list-style:disc;}
.philosophy li{line-height:24px;margin-bottom:14px;}
.philosophy li b{font-weight:700;}
.philosophy li a{color:var(--teal);}
.philosophy__img{flex-basis:50%;max-width:50%;}
.philosophy__img img{width:100%;border-radius:8px;}

/* ── community ── */
.community{margin-bottom:100px;}
.community .container{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;}
.community__left{flex-basis:41.6667%;max-width:41.6667%;padding-right:30px;}
.community h3{font-size:29px;font-weight:600;margin-top:20px;}
.community__left p{font-size:18px;line-height:27px;margin:20px 0 30px;max-width:440px;}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px;}
.stat{text-align:center;}
.stat__label{font-size:22px;font-weight:700;text-transform:uppercase;letter-spacing:3.3px;border-bottom:3px solid;padding-bottom:5px;display:inline-block;}
.stat__num{font-family:var(--font-lcd);font-size:94px;line-height:1.1;color:var(--teal-dark);}
.stat__label{border-bottom-color:var(--orange);}
.community__img{flex-basis:58.3333%;max-width:58.3333%;}
.community__img img{width:100%;}

/* ── enterprise ── */
.enterprise{padding:50px 0;margin-bottom:100px;overflow:hidden;position:relative;background:linear-gradient(to right,var(--white) 0,var(--white) 40%,var(--cream) 40%,var(--cream) 100%);}
.enterprise::before{content:"";position:absolute;top:0;left:40%;width:60%;height:70px;border-bottom:70px solid var(--cream);border-left:768px solid var(--white);pointer-events:none;}
.enterprise .container{display:flex;flex-wrap:wrap;align-items:center;position:relative;z-index:1;flex-direction:row-reverse;}
.enterprise__text{flex-basis:45%;max-width:45%;position:relative;z-index:2;padding-right:30px;}
.enterprise h3{font-size:29px;font-weight:600;max-width:430px;}
.enterprise__text p{font-size:18px;line-height:27px;margin-bottom:20px;}
.enterprise__img{flex-basis:55%;max-width:55%;margin-top:50px;}
.enterprise__img img{width:100%;border-radius:0 8px 8px 0;}
.enterprise__text .btn{font-weight:400;}

/* ── works ── */
.works{margin-bottom:100px;}
.works h3{font-size:29px;font-weight:600;margin-bottom:30px;}
.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.work-card{background:#fff;border-radius:10px;box-shadow:rgba(0,0,0,.07) 0 16px 32px 0;padding:15px 15px 35px;}
.work-card__img{border-radius:8px;overflow:hidden;}
.work-card__img img{width:100%;display:block;}
.work-card__label{display:inline-block;font-size:14px;font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:2px;border-bottom:2px solid;padding-bottom:2px;margin:20px 0 15px;}
.work-card p{color:var(--navy);}
.work-card__link{display:flex;width:fit-content;align-items:center;gap:6px;font-size:15px;font-weight:700;color:var(--teal-dark);margin-top:15px;}
.work-card__link svg path{fill:currentColor;}
.work-card__label{border-bottom-color:var(--yellow);}
.works__more{display:flex;justify-content:center;margin-top:40px;}

/* ── footer ── */
.site-footer{background:var(--navy);color:#fff;padding:50px 0;position:relative;overflow:hidden;}
.site-footer::before{content:"TechChange";position:absolute;left:-8px;bottom:-46px;z-index:0;font-family:var(--font-head);font-weight:700;font-size:170px;line-height:1;color:rgba(255,255,255,.04);white-space:nowrap;pointer-events:none;}
.site-footer .container{display:flex;flex-wrap:wrap;position:relative;z-index:1;}
.site-footer .container>div{padding:0 8px;}
.footer-col--brand{flex-basis:41.6667%;max-width:41.6667%;}
.footer-logo img{height:50px;width:auto;}
.footer-address{font-size:12px;line-height:18px;color:#fff;margin:15px 0 20px;}
.footer-nav li{display:inline-block;margin-right:15px;}
.footer-nav li:not(:first-child)::before{content:"|";margin:0 12px 0 -4px;color:rgba(255,255,255,.35);}
.footer-nav a{font-size:12px;line-height:18px;color:#fff;}
.footer-col--social{flex-basis:25%;max-width:25%;}
.footer-col--social .follow{font-size:15px;font-weight:700;color:#fff;}
.social-list{display:flex;gap:14px;margin-top:20px;}
.social-list a{color:#fff;display:inline-flex;}
.social-list svg{width:24px;height:24px;}
.footer-col--news{flex-basis:33.3333%;max-width:33.3333%;}
.news-head{font-size:18px;font-weight:700;color:#fff;}
.news-sub{color:#fff;margin:8px 0 20px;}
.news-form label{display:block;font-size:14px;color:#fff;margin-bottom:6px;}
.news-form input[type=email]{width:100%;background:#fff;color:var(--navy);border:2px solid #fff;border-radius:3px;box-shadow:rgba(0,0,0,.12) 0 3px 10px 0 inset;padding:6px 9px;height:41px;font-family:inherit;font-size:15px;}
.news-form button{margin-top:12px;width:100%;background:transparent;color:#fff;border:2px solid #fff;border-radius:5px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:8px 17px;cursor:pointer;}

/* homepage headings/labels: source uses normal line-height (override global 1.15 / stat 1.1) */
.partners h3,.service-card h3,.philosophy h3,.philosophy h4,.community h3,.enterprise h3,.works h3,.stat__num,.work-card__label,.work-card__link{line-height:normal;}

/* ── responsive: single-step stack at 1279 (matches source) ── */
/* ── About page ── */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(to right,var(--cream) 0,var(--cream) 60%,var(--white) 60%,var(--white) 100%);}
.page-hero::after{content:"";position:absolute;bottom:0;left:0;width:60%;height:70px;border-top:70px solid var(--cream);border-right:768px solid var(--white);pointer-events:none;}
.page-hero .container{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding:60px 40px 100px;}
.page-hero__text{flex:1 1 46%;}
.eyebrow{display:inline-block;font-family:var(--font-head);font-size:18px;font-weight:600;color:var(--teal);margin-bottom:18px;border-bottom:3px solid var(--yellow);padding-bottom:4px;}
.page-hero h1{font-family:var(--font-head);font-size:44px;line-height:1.1;font-weight:700;color:var(--navy);max-width:600px;}
.page-hero__lead{font-size:18px;line-height:27px;margin-top:24px;max-width:560px;}
.page-hero__img{flex:1 1 46%;}
.page-hero__img img{width:100%;display:block;}
.believes{padding:50px 0 24px;margin-bottom:50px;}
.believes h2{font-family:var(--font-head);font-size:29px;font-weight:600;color:var(--navy);}
.feature-row{margin-bottom:50px;}
.feature-row .container{display:flex;flex-wrap:wrap;align-items:center;gap:50px;}
.feature-row--reverse .container{flex-direction:row-reverse;}
.feature-row__img{flex:1 1 42%;}
.feature-row__img img{width:100%;display:block;}
.feature-row__text{flex:1 1 48%;}
.feature-row__text h3{font-family:var(--font-head);font-size:24px;font-weight:600;color:var(--navy);margin-bottom:12px;}
.feature-row__text p{font-size:16px;line-height:25px;}
.video-block{text-align:center;padding:50px 0 30px;}
.video-block h2{font-family:var(--font-head);font-size:29px;font-weight:600;color:var(--navy);}
.video-block__sub{font-size:16px;line-height:24px;max-width:560px;margin:14px auto 0;}
.video-block__quote{font-size:18px;font-style:italic;color:var(--navy);max-width:520px;margin:14px auto 0;}
.video-band{position:relative;overflow:hidden;background:linear-gradient(to right,var(--cream) 0,var(--cream) 60%,var(--white) 60%,var(--white) 100%);padding:40px 0 70px;}
.video-band::after{content:"";position:absolute;bottom:0;left:0;width:60%;height:70px;border-top:70px solid var(--cream);border-right:768px solid var(--white);pointer-events:none;}
.video-band .container{position:relative;z-index:1;}
.video-embed{position:relative;display:block;max-width:760px;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:rgba(0,0,0,.12) 0 16px 40px 0;}
.video-embed img{width:100%;display:block;}
.video-embed .play{position:absolute;inset:0;margin:auto;width:74px;height:74px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.video-embed .play::after{content:"";border-style:solid;border-width:13px 0 13px 22px;border-color:transparent transparent transparent var(--teal);margin-left:5px;}
.team{padding:30px 0 70px;}
.team h2{font-family:var(--font-head);font-size:29px;font-weight:600;color:var(--navy);text-align:center;margin-bottom:40px;}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.member{background:#fff;border-radius:10px;box-shadow:rgba(0,0,0,.08) 0 14px 30px 0;overflow:hidden;display:flex;flex-direction:column;}
.member__img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.member__body{padding:16px 16px 22px;}
.member__name{display:inline-block;font-size:14px;font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid var(--yellow);padding-bottom:3px;}
.member__role{font-size:14px;line-height:20px;color:var(--navy);margin:10px 0 12px;}
.member__link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.5px;}
.member__link svg{width:7px;height:11px;}
.member__link svg path{fill:currentColor;}
.single-image{padding:40px 0 70px;text-align:center;}
.single-image img{max-width:560px;width:100%;}
.press{padding:0 0 70px;}
.press .container{display:flex;align-items:center;flex-wrap:wrap;gap:30px 50px;}
.press h2{font-family:var(--font-head);font-size:22px;font-weight:600;color:var(--navy);}
.press-logos{display:flex;align-items:center;flex-wrap:wrap;gap:40px;}
.press-logos a{display:inline-flex;}
.press-logos img{max-height:38px;width:auto;filter:grayscale(1);opacity:.65;transition:opacity .2s;}
.press-logos a:hover img{opacity:1;filter:none;}
.member__link{cursor:pointer;}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px;}
.modal:target{display:flex;}
.modal__overlay{position:absolute;inset:0;background:rgba(34,52,64,.6);}
.modal__card{position:relative;z-index:1;background:#fff;border-radius:10px;max-width:560px;width:100%;max-height:88vh;overflow-y:auto;padding:30px 30px 34px;box-shadow:rgba(0,0,0,.3) 0 20px 60px;}
.modal__close{position:absolute;top:10px;right:18px;font-size:30px;line-height:1;color:var(--navy);text-decoration:none;}
.modal__head{display:flex;gap:20px;align-items:center;margin-bottom:18px;padding-right:24px;}
.modal__img{width:104px;height:104px;border-radius:8px;object-fit:cover;flex:none;}
.modal__name{font-family:var(--font-head);font-size:22px;font-weight:700;color:var(--navy);}
.modal__role{font-size:13px;color:var(--teal-dark);text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-top:5px;}
.modal__bio p{font-size:15px;line-height:24px;color:var(--navy);margin-bottom:12px;}
.modal__links{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap;}
.modal__links a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--teal);border:2px solid var(--teal);border-radius:5px;padding:8px 16px;}
.modal__links a:hover{background:var(--teal);color:#fff;}

/* ── Services page ── */
.offerings{margin-bottom:60px;}
.offerings .container{max-width:1120px;}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 50px;}
.offer-card{text-align:center;display:flex;flex-direction:column;align-items:center;margin-bottom:30px;}
.offer-card h3{font-family:var(--font-head);font-size:24px;font-weight:600;color:var(--navy);margin-bottom:16px;}
.offer-card__img{width:100%;max-width:240px;height:150px;object-fit:contain;margin-bottom:18px;}
.offer-card .btn{margin-top:auto;}
.ideation{position:relative;overflow:hidden;margin-bottom:60px;padding:48px 0;background:linear-gradient(to right,var(--cream) 0,var(--cream) 60%,var(--white) 60%,var(--white) 100%);}
.ideation::after{content:"";position:absolute;bottom:0;left:0;width:60%;height:70px;border-top:70px solid var(--cream);border-right:768px solid var(--white);pointer-events:none;}
.ideation .container{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:50px;}
.ideation__img{flex:1 1 42%;}
.ideation__img img{width:100%;display:block;}
.ideation__text{flex:1 1 46%;}
.ideation__text h3{font-family:var(--font-head);font-size:26px;font-weight:600;color:var(--navy);margin-bottom:16px;}
.ideation__text p{font-size:16px;line-height:25px;margin-bottom:12px;}
.capabilities{margin-bottom:60px;}
.capabilities .container{max-width:1120px;}
.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.cap-card{text-align:center;}
.cap-card__img{width:100%;max-width:260px;height:170px;object-fit:contain;margin:0 auto 16px;display:block;}
.cap-card h3{font-family:var(--font-head);font-size:22px;font-weight:600;color:var(--navy);margin-bottom:10px;}
.cap-card p{font-size:15px;line-height:23px;}
.promo{margin-bottom:60px;}
.promo .container{display:flex;flex-wrap:wrap;align-items:center;gap:50px;}
.promo__text{flex:1 1 52%;}
.promo__text h2{font-family:var(--font-head);font-size:27px;font-weight:600;color:var(--navy);line-height:1.3;}
.promo__text h2 a{color:var(--teal);}
.promo__more{display:inline-block;margin-top:16px;font-family:var(--font-head);font-size:16px;font-weight:600;color:var(--teal);text-transform:uppercase;letter-spacing:1px;}
.promo__img{flex:1 1 38%;}
.promo__img img{width:100%;display:block;}
.cta-form{background:var(--teal-dark);color:#fff;padding:60px 0;}
.cta-form .container{display:flex;flex-wrap:wrap;gap:50px;}
.cta-form__left{flex:1 1 40%;}
.cta-form__left h3{font-family:var(--font-head);font-size:28px;font-weight:600;color:#fff;}
.cta-form__photo{width:100%;border-radius:8px;margin:20px 0;display:block;}
.cta-form__left p{font-size:15px;line-height:23px;margin-bottom:14px;}
.cta-form__left ul{list-style:disc;padding-left:20px;margin-bottom:14px;}
.cta-form__left li{margin-bottom:6px;font-size:15px;}
.cta-form__right{flex:1 1 50%;}
.lead-form label{display:block;font-family:var(--font-head);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#fff;margin:14px 0 6px;}
.lead-form input[type=text],.lead-form input[type=email]{width:100%;background:var(--cream);border:0;border-radius:3px;padding:11px 12px;font-family:inherit;font-size:15px;color:var(--navy);}
.lead-form fieldset{border:0;padding:0;margin:20px 0 0;}
.lead-form legend{font-family:var(--font-head);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#fff;margin-bottom:12px;}
.lead-form .check{display:flex;align-items:flex-start;gap:9px;margin-bottom:9px;font-size:14px;line-height:20px;}
.lead-form .check input{margin-top:3px;flex:none;}
.lead-form textarea{width:100%;min-height:120px;background:#fff;border:0;border-radius:3px;padding:11px 12px;font-family:inherit;font-size:15px;color:var(--navy);margin-top:6px;}
.lead-form button{margin-top:18px;background:#fff;color:var(--teal-dark);border:0;border-radius:5px;font-family:var(--font-body);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:12px 32px;cursor:pointer;}

/* ── form status messages: readable on the teal-dark lead sections, matches cream inputs ── */
[data-plinth-form-success-msg]{background:var(--cream) !important;color:var(--teal-dark) !important;border:0 !important;font-weight:600 !important;}
[data-plinth-form-error-msg]{display:inline-block !important;background:var(--cream) !important;color:#b3261e !important;padding:.55rem .8rem !important;border-radius:8px !important;}

@media(max-width:1279px){
  .container{padding:0 20px;}
  .offer-grid{grid-template-columns:repeat(2,1fr);gap:10px 24px;}
  .cap-grid{grid-template-columns:1fr;gap:30px;}
  .ideation .container,.promo .container,.cta-form .container{flex-direction:column;}
  .ideation__img,.ideation__text,.promo__text,.promo__img,.cta-form__left,.cta-form__right{flex:1 1 100%;max-width:100%;}
  .page-hero .container{padding:40px 20px 70px;}
  .page-hero__text,.page-hero__img{flex:1 1 100%;max-width:100%;}
  .page-hero__img{order:-1;}
  .page-hero h1{font-size:30px;}
  .page-hero{background:linear-gradient(to right,var(--cream) 0,var(--cream) 60%,var(--white) 60%,var(--white) 100%);}
  .feature-row .container,.feature-row--reverse .container{flex-direction:column;gap:20px;}
  .feature-row__img,.feature-row__text{flex:1 1 100%;max-width:100%;}
  .team-grid{grid-template-columns:1fr;gap:18px;max-width:380px;margin:0 auto;}
  .video-band{background:linear-gradient(to right,var(--cream) 0,var(--cream) 60%,var(--white) 60%,var(--white) 100%);}
  .press .container{flex-direction:column;align-items:flex-start;gap:20px;}
  .press-logos{gap:24px;}
  .site-header .container{position:relative;flex-wrap:wrap;padding-top:11px;padding-bottom:11px;}
  .nav-toggle{display:flex;flex-direction:column;align-items:center;position:absolute;right:20px;top:12px;font-size:10px;font-weight:500;color:var(--navy);cursor:pointer;gap:5px;}
  .nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";display:block;width:24px;height:2px;background:var(--navy);}
  .nav-toggle__bars{position:relative;}
  .nav-toggle__bars::before{position:absolute;top:-7px;left:0;}
  .nav-toggle__bars::after{position:absolute;top:7px;left:0;}
  .primary-nav{flex-basis:100%;margin-left:0;display:none;}
  .nav-toggle-cb:checked~.primary-nav{display:block;}
  .primary-nav ul{flex-direction:column;align-items:center;}
  .primary-nav li+li{margin-left:0;}
  .primary-nav a,.nav-cta a{display:block;padding:12px 0;}
  .hero{background:var(--cream);}
  .hero .container{padding-bottom:76px;}
  .hero__text,.hero__img{flex-basis:100%;max-width:100%;padding-right:0;}
  .hero__text{margin-top:30px;order:2;}
  .hero h1{font-size:32px;line-height:32px;max-width:none;}
  .hero__sub{margin-top:30px;max-width:none;}
  .hero__img img{border-radius:8px;}
  .partners{background:#fff;}
  .partners::before,.partners::after{display:none !important;content:none !important;}
  .partners h3{flex-basis:100%;text-align:center;font-size:22px;margin-bottom:30px;max-width:none;}
  .logo-grid{flex-basis:100%;padding:30px 25px;}
  .services-grid{grid-template-columns:1fr;gap:55px;}
  .service-card h3{font-size:22px;}
  .philosophy__text,.philosophy__img{flex-basis:100%;max-width:100%;padding-right:0;}
  .philosophy h3{font-size:22px;}
  .philosophy__img{order:-1;margin-bottom:35px;}
  .community__left,.community__img{flex-basis:100%;max-width:100%;padding-right:0;}
  .community h3{font-size:22px;}
  .community__left p{font-size:16px;line-height:24px;}
  .stats{grid-template-columns:1fr;gap:50px;margin-top:35px;}
  .enterprise{padding:50px 0;margin-bottom:100px;overflow:hidden;position:relative;background:linear-gradient(to right,var(--white) 0,var(--white) 40%,var(--cream) 40%,var(--cream) 100%);}
  .enterprise .container{flex-direction:column;}
  .philosophy{background:#fff;}
  .enterprise__text,.enterprise__img{flex-basis:100%;max-width:100%;margin-left:0;}
  .enterprise h3{font-size:22px;max-width:none;}
  .enterprise__img{margin-top:30px;}
  .enterprise__img img{border-radius:8px;}
  .enterprise__text p{font-size:16px;line-height:24px;}
  .works h3{font-size:22px;}
  .works-grid{grid-template-columns:1fr;}
  .site-footer .container>div{flex-basis:100%;max-width:100%;text-align:center;margin-top:30px;}
  .footer-col--brand{margin-top:0;}
  .footer-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:0 10px;}
  .social-list{justify-content:center;}
}

/* tablet (768–1279): source uses intermediate type sizes; mine had a single 1279 breakpoint that dropped straight to mobile sizes */
@media(min-width:768px) and (max-width:1279px){
  .hero h1{font-size:44px;line-height:44px;}
  .partners h3,.service-card h3,.philosophy h3,.community h3,.enterprise h3,.works h3{font-size:25px;}
}

/* ---- Blog post inline images (overrides per-page inline .post__body img) ---- */
.post .post__body img{display:block;max-width:100%;height:auto;margin:26px auto;border-radius:var(--radius);}
.post .post__body figure{margin:26px 0;}
.post .post__body figure img{margin:0 auto;}
.post .post__body figcaption{font-size:13px;color:var(--gray-nav);text-align:center;margin-top:8px;}
.post .post__body img.alignleft{float:left;margin:6px 26px 16px 0;max-width:min(50%,360px);}
.post .post__body img.alignright{float:right;margin:6px 0 16px 26px;max-width:min(50%,360px);}
.post .post__body img.aligncenter{display:block;margin:26px auto;}
.post .post__body p{overflow:visible;}
.post .post__body::after{content:"";display:block;clear:both;}
@media (max-width:680px){
  .post .post__body img.alignleft,.post .post__body img.alignright{float:none;display:block;margin:20px auto;max-width:100%;}
}
