/* ═══════════════════════════════════════════
   PAGES.CSS — Supplemental styles for new BCS pages
   ═══════════════════════════════════════════ */

/* ─── Values Section ─── */
.values-section{background:var(--navy);color:#fff;padding:155px 0 170px}
.values-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:80px;align-items:start}
.values-head-side{padding-top:12px}
.values-head-side p{margin-top:22px;max-width:240px;font-size:12px;line-height:1.67;color:rgba(255,255,255,.52)}
.values-head-copy h2{font:500 clamp(58px,8vw,130px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.values-head-copy h2 span{color:rgba(255,255,255,.32)}
.values-head-copy>p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.62);max-width:680px;margin-top:34px}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.value-card{border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:36px 30px 34px;display:flex;flex-direction:column;transition:border-color .4s ease,background .4s ease,transform .55s var(--ease)}
.value-card:hover{border-color:rgba(79,120,200,.48);background:rgba(79,120,200,.07);transform:translateY(-6px)}
.value-icon{width:52px;height:52px;border:1px solid rgba(255,255,255,.18);border-radius:14px;display:grid;place-items:center;margin-bottom:36px;flex:0 0 52px}
.value-icon svg{width:24px;height:24px;fill:none;stroke:var(--acid);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.value-card h3{font:500 clamp(20px,1.8vw,28px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.042em;margin-bottom:14px}
.value-card p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.55)}

/* ─── At a Glance / Stats Section ─── */
.glance-section{background:var(--paper);color:var(--ink);padding:155px 0 170px}
.glance-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:85px;align-items:start}
.glance-head-side{padding-top:12px}
.glance-head-side p{margin-top:22px;max-width:240px;font-size:12px;line-height:1.67;color:#687482}
.glance-head-copy h2{font:500 clamp(58px,6.3vw,102px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.075em;max-width:1200px}
.glance-head-copy h2 span{color:#8996a4}
.glance-head-copy>p{font-size:16px;line-height:1.72;color:#586572;max-width:760px;margin-top:38px}
.glance-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(6,26,51,.15)}
.glance-stat{padding:42px 32px;border-right:1px solid rgba(6,26,51,.12);transition:background .3s ease}
.glance-stat:hover{background:rgba(6,26,51,.025)}
.glance-stat:last-child{border-right:0}
.glance-stat strong{font:500 clamp(48px,5vw,82px)/1 "Space Grotesk",sans-serif;letter-spacing:-.065em;color:var(--blue);display:block}
.glance-stat span{display:block;margin-top:14px;font:600 9px/1.3 Outfit,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8696a8}
.glance-copy-row{margin-top:80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:60px;border-top:1px solid rgba(6,26,51,.12)}
.glance-copy-row p{font-size:15px;line-height:1.72;color:#5f6b78}
.glance-offices{display:flex;flex-direction:column;gap:12px}
.glance-office{border:1px solid rgba(6,26,51,.13);border-radius:16px;padding:22px 24px;background:#f8fafc;transition:border-color .35s ease,box-shadow .45s var(--ease)}
.glance-office:hover{border-color:rgba(31,94,168,.3);box-shadow:0 14px 40px rgba(6,26,51,.08)}
.glance-office .mono{color:#8090a0;margin-bottom:8px;display:block}
.glance-office strong{font:500 20px "Space Grotesk",sans-serif;letter-spacing:-.038em;display:block;margin-bottom:4px}
.glance-office span{font-size:13px;color:#657181}

/* ─── Management Team Section ─── */
.team-section{background:#fff;color:var(--ink);padding:155px 0 170px}
.team-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:85px;align-items:start}
.team-head-side{padding-top:12px}
.team-head-side p{margin-top:22px;max-width:240px;font-size:12px;line-height:1.67;color:#687482}
.team-head-copy h2{font:500 clamp(58px,6.3vw,102px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.team-head-copy h2 span{color:#8996a4}
.team-head-copy>p{font-size:16px;line-height:1.72;color:#586572;max-width:760px;margin-top:38px}
.team-head-copy .team-heading-single{white-space:nowrap;max-width:100%;font:500 clamp(44px,5.25vw,84px)/.96 "Space Grotesk",sans-serif;letter-spacing:-.06em}
.team-card .team-body{display:flex;flex-direction:column;justify-content:flex-start;min-height:116px}

.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.team-card{border:1px solid rgba(6,26,51,.13);border-radius:22px;overflow:hidden;background:#f8fafc;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .4s ease}
.team-card:hover{transform:translateY(-7px);box-shadow:0 26px 70px rgba(6,26,51,.1);border-color:rgba(31,94,168,.28)}
.team-photo{height:300px;background:var(--navy);position:relative;overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(.8) contrast(1.05);transition:transform .9s var(--ease)}
.team-card:hover .team-photo img{transform:scale(1.05)}
.team-photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 60% 40%,rgba(31,94,168,.35),transparent 68%),linear-gradient(145deg,#061a33,#092848)}
.team-initials{font:500 64px/1 "Space Grotesk",sans-serif;letter-spacing:-.06em;color:rgba(255,255,255,.28)}
.team-body{padding:28px 28px 26px}
.team-name{font:500 clamp(22px,2vw,28px)/1.08 "Space Grotesk",sans-serif;letter-spacing:-.042em;margin-bottom:6px}
.team-role{font:600 9px/1 Outfit,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin-bottom:18px;display:block}
.team-bio{font-size:13px;line-height:1.65;color:#657181}

/* ─── Careers Benefits ─── */
.careers-benefits{background:var(--navy);color:#fff;padding:155px 0 170px}
.benefits-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:80px;align-items:start}
.benefits-head-side{padding-top:12px}
.benefits-head-side p{margin-top:22px;max-width:240px;font-size:12px;line-height:1.67;color:rgba(255,255,255,.5)}
.benefits-head-copy h2{font:500 clamp(58px,6.3vw,102px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.benefits-head-copy h2 span{color:rgba(255,255,255,.32)}
.benefits-head-copy>p{font-size:16px;line-height:1.72;color:rgba(255,255,255,.62);max-width:680px;margin-top:34px}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.14)}
.benefit-item{padding:38px 32px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);transition:background .35s ease}
.benefit-item:hover{background:rgba(255,255,255,.04)}
.benefit-item:nth-child(3n){border-right:0}
.benefit-num{font:600 9px/1 Outfit,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:28px;display:block}
.benefit-item h3{font:500 clamp(20px,1.8vw,26px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.042em;margin-bottom:12px}
.benefit-item p{font-size:13px;line-height:1.65;color:rgba(255,255,255,.52)}

/* ─── Open Positions ─── */
.positions-section{background:var(--paper);color:var(--ink);padding:155px 0 170px}
.positions-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:60px;align-items:start}
.positions-head-side{padding-top:12px}
.positions-head-side p{margin-top:22px;max-width:240px;font-size:12px;line-height:1.67;color:#687482}
.positions-head-copy h2{font:500 clamp(58px,6.3vw,102px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.positions-filter{display:flex;gap:8px;margin-bottom:40px;flex-wrap:wrap}
.filter-btn{border:1px solid rgba(6,26,51,.2);border-radius:100px;padding:10px 18px;font:600 9px/1 Outfit,sans-serif;letter-spacing:.14em;text-transform:uppercase;background:none;color:var(--ink);cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease}
.filter-btn:hover,.filter-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.job-list{border-top:1px solid rgba(6,26,51,.14)}
.job-row{display:grid;grid-template-columns:1fr .5fr .5fr 48px;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid rgba(6,26,51,.1);transition:padding-left .4s var(--ease),background .3s ease;text-decoration:none;color:var(--ink)}
.job-row:hover{padding-left:16px;background:rgba(6,26,51,.025)}
.job-title{font:500 clamp(18px,1.8vw,26px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.042em}
.job-dept,.job-location{font:600 9px/1 Outfit,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8090a0}
.job-arrow{width:42px;height:42px;border:1px solid rgba(6,26,51,.2);border-radius:50%;display:grid;place-items:center;transition:transform .45s var(--ease),background .3s ease,border-color .3s ease;flex:0 0 42px}
.job-row:hover .job-arrow{transform:translate(3px,-3px);background:var(--navy);border-color:var(--navy)}
.job-row:hover .job-arrow svg{stroke:#fff}
.job-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jobs-cta-band{margin-top:70px;padding:48px 44px;background:#f8fafc;border:1px solid rgba(6,26,51,.12);border-radius:22px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.jobs-cta-band h3{font:500 clamp(24px,2.5vw,38px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.052em;margin-bottom:10px}
.jobs-cta-band p{font-size:14px;line-height:1.65;color:#657181;max-width:540px}
.btn-outline{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(6,26,51,.24);border-radius:100px;padding:16px 28px;font:600 10px Outfit,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);text-decoration:none;transition:background .3s ease,color .3s ease,border-color .3s ease;white-space:nowrap}
.btn-outline:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-outline svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.btn-outline:hover svg{transform:translateX(3px)}

/* ─── Contact Page ─── */
.contact-page-section{background:var(--paper);color:var(--ink);padding:130px 0 160px}
.contact-page-grid{display:grid;grid-template-columns:.52fr .48fr;gap:80px;align-items:start}
.contact-page-intro h2{font:500 clamp(42px,5.5vw,88px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.072em;margin-bottom:28px}
.contact-page-intro h2 span{color:rgba(6,26,51,.35)}
.contact-page-intro>p{font-size:16px;line-height:1.72;color:#5f6b78;max-width:520px;margin-bottom:48px}
.contact-channels{display:flex;flex-direction:column;gap:12px}
.contact-channel{display:flex;align-items:center;gap:18px;border:1px solid rgba(6,26,51,.13);border-radius:16px;padding:20px 22px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .35s ease,box-shadow .45s var(--ease),transform .45s var(--ease)}
.contact-channel:hover{border-color:rgba(31,94,168,.3);box-shadow:0 16px 50px rgba(6,26,51,.08);transform:translateY(-3px)}
.contact-channel-icon{width:46px;height:46px;border-radius:12px;background:var(--navy);display:grid;place-items:center;flex:0 0 46px}
.contact-channel-icon svg{width:20px;height:20px;fill:none;stroke:rgba(255,255,255,.82);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.contact-channel-body{flex:1}
.contact-channel-label{font:600 9px/1 Outfit,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#8090a0;display:block;margin-bottom:5px}
.contact-channel-value{font:500 clamp(14px,1.3vw,18px)/1.2 "Space Grotesk",sans-serif;letter-spacing:-.028em;color:var(--ink)}
.contact-form-panel{background:#fff;border:1px solid rgba(6,26,51,.12);border-radius:24px;padding:42px 38px 38px}
.contact-form-panel h3{font:500 clamp(26px,2.5vw,38px)/1.05 "Space Grotesk",sans-serif;letter-spacing:-.052em;margin-bottom:8px}
.contact-form-panel>.form-intro{font-size:13px;line-height:1.62;color:#657181;margin-bottom:34px}
.contact-form{display:flex;flex-direction:column;gap:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field{display:flex;flex-direction:column;gap:7px}
.form-field label{font:600 9px/1 Outfit,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#8090a0}
.form-field input,.form-field select,.form-field textarea{border:1px solid rgba(6,26,51,.15);border-radius:10px;padding:13px 15px;font:400 14px/1.5 Outfit,sans-serif;color:var(--ink);background:#f8fafc;outline:none;transition:border-color .25s ease,background .25s ease;width:100%;-webkit-appearance:none;appearance:none}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);background:#fff}
.form-field textarea{min-height:130px;resize:vertical}
.form-submit{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:18px;flex-wrap:wrap}
.form-submit-note{font-size:11px;line-height:1.6;color:#9aabb8;max-width:240px}
.btn-send{background:var(--navy);color:#fff;border:0;border-radius:100px;padding:16px 32px;font:600 10px Outfit,sans-serif;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:background .3s ease,transform .4s var(--ease);white-space:nowrap}
.btn-send:hover{background:var(--blue);transform:translateY(-2px)}
.btn-send svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ─── Offices Section ─── */
.offices-section{background:var(--navy);color:#fff;padding:130px 0 150px}
.offices-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:70px;align-items:start}
.offices-head-side{padding-top:12px}
.offices-head-side p{margin-top:22px;max-width:240px;font-size:12px;line-height:1.67;color:rgba(255,255,255,.5)}
.offices-head-copy h2{font:500 clamp(52px,6.5vw,104px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.073em}
.offices-head-copy h2 span{color:rgba(255,255,255,.32)}
.offices-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.office-card{border:1px solid rgba(255,255,255,.1);border-radius:22px;padding:42px 38px 38px;transition:border-color .4s ease,background .4s ease}
.office-card:hover{border-color:rgba(79,120,200,.42);background:rgba(79,120,200,.06)}
.office-card .mono{color:rgba(255,255,255,.48);margin-bottom:22px;display:block}
.office-city{font:500 clamp(32px,3.5vw,56px)/1 "Space Grotesk",sans-serif;letter-spacing:-.06em;margin-bottom:22px}
.office-detail{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}
.office-detail-row{display:flex;gap:16px;align-items:flex-start;font-size:13px;line-height:1.55;color:rgba(255,255,255,.6)}
.office-detail-row strong{font:600 9px/1 Outfit,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.38);flex:0 0 72px;padding-top:2px}
.office-contact-link{display:inline-flex;align-items:center;gap:8px;font:600 9px/1 Outfit,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.58);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:5px;transition:color .3s ease,border-color .3s ease}
.office-contact-link:hover{color:#fff;border-color:rgba(255,255,255,.58)}

/* ─── Departments Contact ─── */
.dept-section{background:var(--paper);color:var(--ink);padding:130px 0 150px}
.dept-head{margin-bottom:55px}
.dept-head .mono{color:#8090a0;margin-bottom:22px;display:block}
.dept-head h2{font:500 clamp(52px,6.5vw,104px)/.92 "Space Grotesk",sans-serif;letter-spacing:-.073em}
.dept-head h2 span{color:rgba(6,26,51,.36)}
.dept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dept-card{border:1px solid rgba(6,26,51,.13);border-radius:20px;padding:30px 28px;background:#f8fafc;transition:border-color .4s ease,box-shadow .55s var(--ease),transform .5s var(--ease)}
.dept-card:hover{border-color:rgba(31,94,168,.28);box-shadow:0 20px 55px rgba(6,26,51,.09);transform:translateY(-5px)}
.dept-card .mono{color:#8090a0;margin-bottom:24px;display:block}
.dept-card h3{font:500 clamp(20px,2vw,28px)/1.1 "Space Grotesk",sans-serif;letter-spacing:-.042em;margin-bottom:10px}
.dept-card p{font-size:13px;line-height:1.62;color:#657181;margin-bottom:22px}
.dept-card a{font:600 9px/1 Outfit,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.dept-card a svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease)}
.dept-card:hover a svg{transform:translateX(3px)}

/* ─── Programs / Students ─── */
.programs-section{background:#fff;color:var(--ink);padding:155px 0 170px}
.programs-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:85px;align-items:start}
.programs-head-side{padding-top:12px}
.programs-head-side p{margin-top:22px;max-width:240px;font-size:12px;line-height:1.67;color:#687482}
.programs-head-copy h2{font:500 clamp(58px,6.3vw,102px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.programs-head-copy h2 span{color:#8996a4}
.programs-head-copy>p{font-size:16px;line-height:1.72;color:#586572;max-width:680px;margin-top:34px}
.programs-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.program-card{border:1px solid rgba(6,26,51,.13);border-radius:22px;padding:38px 34px 34px;background:#f8fafc;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .4s ease}
.program-card:hover{transform:translateY(-7px);box-shadow:0 26px 70px rgba(6,26,51,.1);border-color:rgba(31,94,168,.3)}
.program-card .mono{color:#8090a0;margin-bottom:28px;display:block}
.program-card h3{font:500 clamp(26px,2.8vw,44px)/1.06 "Space Grotesk",sans-serif;letter-spacing:-.055em;margin-bottom:18px}
.program-card p{font-size:14px;line-height:1.68;color:#657181}

/* ─── Working at BCS Culture section ─── */
.culture-section{background:var(--paper);color:var(--ink);padding:155px 0 170px}
.culture-head{display:grid;grid-template-columns:.34fr 1.66fr;gap:70px;margin-bottom:85px;align-items:start}
.culture-head-side{padding-top:12px}
.culture-head-side p{margin-top:22px;max-width:240px;font-size:12px;line-height:1.67;color:#687482}
.culture-head-copy h2{font:500 clamp(58px,6.3vw,102px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.075em}
.culture-head-copy h2 span{color:#8996a4}
.culture-head-copy>p{font-size:16px;line-height:1.72;color:#586572;max-width:680px;margin-top:34px}
.culture-pillars{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.culture-pillar{position:relative;border:1px solid rgba(6,26,51,.13);border-radius:22px;padding:34px 30px 30px;display:flex;flex-direction:column;min-height:360px;overflow:hidden;transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .4s ease}
.culture-pillar:hover{transform:translateY(-6px);box-shadow:0 24px 70px rgba(6,26,51,.1);border-color:rgba(31,94,168,.28)}
.culture-pillar:nth-child(1){grid-column:1/6;background:radial-gradient(circle at 85% 10%,rgba(31,94,168,.22),transparent 38%),linear-gradient(145deg,#061a33,#0a2b4f);color:#fff;border-color:transparent}
.culture-pillar:nth-child(2){grid-column:6/13;background:#f8fafc}
.culture-pillar:nth-child(3){grid-column:1/7;background:linear-gradient(135deg,#dde8f2,#cbdbea)}
.culture-pillar:nth-child(4){grid-column:7/13;background:#f8fafc}
.culture-pillar>.mono{color:#687482;margin-bottom:auto}
.culture-pillar:nth-child(1)>.mono{color:rgba(255,255,255,.52)}
.culture-pillar h3{font:500 clamp(28px,3vw,50px)/1.02 "Space Grotesk",sans-serif;letter-spacing:-.06em;margin:50px 0 20px}
.culture-pillar p{font-size:13px;line-height:1.65;color:#657181}
.culture-pillar:nth-child(1) p{color:rgba(255,255,255,.62)}

/* ─── Apply Banner ─── */
.apply-banner{background:var(--blue);color:#fff;padding:100px 0}
.apply-banner-in{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}
.apply-banner h2{font:500 clamp(44px,5.5vw,88px)/.9 "Space Grotesk",sans-serif;letter-spacing:-.072em}
.apply-banner h2 span{color:rgba(255,255,255,.42)}
.apply-banner p{font-size:15px;line-height:1.68;color:rgba(255,255,255,.75);max-width:520px;margin-top:20px}
.btn-apply{display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--navy);border-radius:100px;padding:18px 34px;font:600 10px Outfit,sans-serif;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;transition:background .3s ease,transform .4s var(--ease);white-space:nowrap;flex:0 0 auto}
.btn-apply:hover{background:var(--ice);transform:scale(1.04)}
.btn-apply svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ─── Responsive ─── */
@media(max-width:950px){
  .team-head-copy .team-heading-single{font-size:clamp(32px,7.2vw,58px);letter-spacing:-.055em;white-space:nowrap;max-width:100%}
  .values-head,.glance-head,.team-head,.benefits-head,.positions-head,.offices-head,
  .programs-head,.culture-head{grid-template-columns:1fr;gap:28px;margin-bottom:50px}
  .values-grid{grid-template-columns:1fr 1fr;gap:11px}
  .glance-stats{grid-template-columns:1fr 1fr}
  .glance-stat{border-bottom:1px solid rgba(6,26,51,.1)}
  .glance-stat:nth-child(2n){border-right:0}
  .glance-copy-row{grid-template-columns:1fr;gap:35px;margin-top:50px;padding-top:40px}
  .team-grid{grid-template-columns:1fr 1fr;gap:11px}
  .benefits-grid{grid-template-columns:1fr 1fr}
  .benefit-item:nth-child(3n){border-right:inherit}
  .benefit-item:nth-child(2n){border-right:0}
  .contact-page-grid{grid-template-columns:1fr;gap:42px}
  .offices-grid{grid-template-columns:1fr}
  .dept-grid{grid-template-columns:1fr 1fr;gap:11px}
  .programs-grid{grid-template-columns:1fr}
  .culture-pillars{grid-template-columns:1fr}
  .culture-pillar,.culture-pillar:nth-child(n){grid-column:1;min-height:280px}
  .job-row{grid-template-columns:1fr 1fr 46px}
  .job-location{display:none}
  .form-row{grid-template-columns:1fr}
  .apply-banner-in{grid-template-columns:1fr;gap:36px}
  .jobs-cta-band{grid-template-columns:1fr;gap:24px}
  .values-section,.glance-section,.team-section,.careers-benefits,.positions-section,
  .contact-page-section,.offices-section,.dept-section,.programs-section,.culture-section{padding:104px 0 112px}
  .apply-banner{padding:80px 0}
}
@media(max-width:580px){
  .team-head-copy .team-heading-single{font-size:clamp(27px,8.2vw,40px);line-height:1;letter-spacing:-.052em;white-space:nowrap;max-width:100%}
  .values-grid,.team-grid,.dept-grid{grid-template-columns:1fr}
  .glance-stats{grid-template-columns:1fr}
  .glance-stat{border-right:0}
  .benefits-grid{grid-template-columns:1fr}
  .benefit-item:nth-child(n){border-right:0}
  .contact-form-panel{padding:28px 20px}
  .form-submit{flex-direction:column;align-items:flex-start}
  .btn-send{width:100%;justify-content:center}
  .job-row{grid-template-columns:1fr 44px}
  .job-dept{display:none}
}

/* ═══════════════════════════════════════════
   MOBILE IMPROVEMENTS — v3
   ═══════════════════════════════════════════ */

/* Force inline manifesto-bottom grids to stack on mobile */
@media(max-width:950px){
  .manifesto-bottom-resp,
  .manifesto-bottom[style]{
    grid-template-columns:1fr!important;
    gap:35px!important;
    margin-top:40px!important;
  }
  /* Inline manifesto grids inside manifesto section */
  .manifesto [style*="grid-template-columns:1.2fr"]{
    grid-template-columns:1fr!important;
    gap:35px!important;
    margin-top:40px!important;
  }
}

/* Tighter section padding on mobile for new page sections */
@media(max-width:950px){
  .navigate-section + .navigate-section{padding-top:0!important}
  /* Downloads internal sub-sections */
  [style*="margin-top:90px;padding-top:70px"]{margin-top:55px!important;padding-top:45px!important}
}

/* News cards — better hover + cursor on anchor elements */
a.news-card{cursor:pointer}

/* Improve mobile type sizing for page heroes */
@media(max-width:580px){
  .page-hero{padding:140px 0 60px!important}
  .values-section,.glance-section,.team-section,.careers-benefits,
  .positions-section,.programs-section,.culture-section{padding:80px 0 88px!important}
  .offices-section,.dept-section,.contact-page-section{padding:80px 0 88px!important}
  .navigate-section{padding:80px 0 88px!important}
  .apply-banner{padding:64px 0!important}
}

/* Better navigate-grid--four on small screens */
@media(max-width:580px){
  .navigate-grid--four{grid-template-columns:1fr!important}
}

/* Tighter glance stats on mobile */
@media(max-width:580px){
  .glance-stat strong{font-size:clamp(42px,11vw,64px)!important}
}

/* Culture pillars — fix mobile heights */
@media(max-width:950px){
  .culture-pillar{min-height:260px!important}
}

/* Team photo — responsive height */
@media(max-width:580px){
  .team-photo{height:240px!important}
}

/* Job row on smallest screens */
@media(max-width:420px){
  .job-row{padding:20px 0}
  .job-title{font-size:18px!important}
}

/* Contact form panel on mobile */
@media(max-width:580px){
  .contact-page-section{padding:80px 0 80px!important}
}

/* Programs grid — ensure good spacing on mobile */
@media(max-width:580px){
  .programs-section{padding:80px 0 80px!important}
}

/* Benefits grid — bottom border on last mobile row */
@media(max-width:580px){
  .benefit-item:last-child{border-bottom:0!important}
}

/* Offices section mobile — card padding */
@media(max-width:580px){
  .office-card{padding:28px 24px 26px!important}
  .office-city{font-size:clamp(28px,8vw,42px)!important}
}

/* Downloads page — internal headings on mobile */
@media(max-width:950px){
  .navigate-section .navigate-head + .navigate-head,
  [style*="margin-top:90px"] .navigate-head{margin-bottom:36px!important}
}

/* Apply banner responsive text */
@media(max-width:580px){
  .apply-banner h2{font-size:clamp(36px,10vw,56px)!important}
  .btn-apply{width:100%;justify-content:center}
  .apply-banner-in{gap:28px!important}
}

/* Dept cards on mobile */
@media(max-width:580px){
  .dept-grid{grid-template-columns:1fr!important}
}

/* Contact channels mobile */
@media(max-width:580px){
  .contact-channel{padding:16px 18px}
  .contact-channel-icon{width:40px;height:40px;flex-basis:40px}
}

/* Values card — less padding mobile */
@media(max-width:580px){
  .value-card{padding:26px 22px 24px}
  .value-icon{margin-bottom:24px}
}

/* ═══════════════════════════════════════════
   SLIDER FIXES & VARIANTS
   ═══════════════════════════════════════════ */

/* 2-column slider variant (competencies page) */
[data-cols="2"] .location-card {
  flex: 0 0 calc((100% - 16px) / 2);
}

/* Compact image area for content cards (no photo) */
.loc-banner {
  height: 200px !important;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 26px 28px 24px;
  position: relative;
  overflow: hidden;
}
.loc-banner::after { display: none !important; } /* no gradient overlay */
.loc-banner img { display: none; }
.loc-banner-num {
  font: 600 10px/1 Outfit, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.45);
  display: block;
}
.loc-banner-num.dark { color: rgba(6,26,51,.38); }
.loc-banner-icon {
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  display: grid;
  place-items: center;
}
.loc-banner-icon.dark {
  border-color: rgba(6,26,51,.14);
}
.loc-banner-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: rgba(255,255,255,.82);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.loc-banner-icon.dark svg { stroke: var(--blue); }

/* Coloured banner backgrounds */
.loc-banner--navy {
  background: radial-gradient(circle at 80% 15%, rgba(31,94,168,.35), transparent 50%),
              linear-gradient(145deg, #061a33, #0d2e52);
}
.loc-banner--blue {
  background: radial-gradient(circle at 20% 80%, rgba(6,26,51,.25), transparent 55%),
              linear-gradient(140deg, #1355a0, #0e429c);
}
.loc-banner--ice {
  background: linear-gradient(135deg, #dde8f2, #c8d9ea);
}
.loc-banner--paper {
  background: linear-gradient(145deg, #f0f4f8, #e4ecf4);
}



@media(max-width:950px){
  [data-cols="2"] .location-card {
    flex-basis: 78vw;
  }
}
@media(max-width:520px){
  [data-cols="2"] .location-card {
    flex-basis: 86vw;
  }
  .loc-banner { height: 170px !important; }
}

/* ── Competencies support section responsive ── */
@media(max-width:950px){
  .support-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .support-cols { grid-template-columns: 1fr !important; gap: 36px !important; padding-top: 36px !important; }
  #always-there { padding: 104px 0 !important; }
}
@media(max-width:580px){
  #always-there { padding: 80px 0 !important; }
}

/* Dark slider section — arrow hover (white bg → navy text) */
[style*="background:var(--navy)"] .locations-arrow:hover:not(:disabled) {
  background: #fff;
  color: var(--navy);
  border-color: #fff;
}

/* ═══════════════════════════════════════════
   SLIDER: DOT & ARROW VISIBILITY FIXES
   ═══════════════════════════════════════════ */

/* Light sections — make inactive dots darker/more visible */
.locations-dot {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  flex: 0 0 8px;
  margin: 0;
  background: rgba(6,26,51,.32);
}
.locations-dot.active {
  background: var(--navy);
  width: 28px;
}

/* Keep the first competencies slider's indicators as clean, fixed circles. */
#competencies-slider .locations-dot,
#competencies-slider .locations-dot.active {
  width: 8px;
  min-width: 8px;
  height: 8px;
  flex-basis: 8px;
  border-radius: 50%;
  box-shadow: none;
}

/* Dark-theme slider — white dots & arrows */
[data-theme="dark"] .locations-dot {
  background: rgba(255,255,255,.35);
  display: block !important; /* override the 520px display:none */
}
[data-theme="dark"] .locations-dot.active {
  background: #fff;
  width: 28px;
  height: 7px;
  border-radius: 999px;
}
[data-theme="dark"] .locations-arrow {
  border-color: rgba(255,255,255,.28);
  color: #fff;
}
[data-theme="dark"] .locations-arrow:hover:not(:disabled) {
  background: #fff;
  color: var(--navy);
  border-color: #fff;
}

/* ═══════════════════════════════════════════
   SLIDER CARD WIDTH VARIANTS
   ═══════════════════════════════════════════ */

/* 2-col desktop */
[data-cols="2"] .location-card {
  flex: 0 0 calc((100% - 16px) / 2);
}
/* 3-col desktop (competencies) */
[data-cols="3"] .location-card {
  flex: 0 0 calc((100% - 32px) / 3);
}

@media(max-width:950px){
  [data-cols="2"] .location-card,
  [data-cols="3"] .location-card {
    flex-basis: 78vw;
  }
}
@media(max-width:520px){
  [data-cols="2"] .location-card,
  [data-cols="3"] .location-card {
    flex-basis: 86vw;
  }
}

/* ═══════════════════════════════════════════
   TEXT-ONLY CARD (no image at top)
   ═══════════════════════════════════════════ */
.location-card.text-card {
  min-height: 360px;
}
.location-card.text-card .location-body {
  padding: 34px 30px 28px;
  flex: 1;
}
/* On mobile, text cards don't need as much height */
@media(max-width:950px){
  .location-card.text-card {
    min-height: 300px;
  }
}

/* Text-only slider cards carry the client's exact copy: never truncate it.
   The card grows to fit the full paragraph instead of clamping to 3 lines. */
.location-card.text-card p {
  display: block !important;
  -webkit-line-clamp: none !important;
  overflow: visible !important;
}
.location-card.text-card .location-body {
  display: flex;
  flex-direction: column;
}
.location-card.text-card .location-link {
  margin-top: auto;
}
/* Height now follows the copy — the flex track still equalises the row, so the
   cards no longer keep a fixed 360px of empty space under short paragraphs. */
.location-card.text-card { min-height: 0; }
.location-card.text-card p {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 34px;
}
/* Client headings are full service names, so they need a calmer size than the
   short made-up ones they replace. */
.location-card.text-card h3 {
  font-size: clamp(26px, 2.1vw, 36px);
  line-height: 1.06;
  text-wrap: balance;
}
@media(max-width:950px){
  .location-card.text-card h3 { font-size: clamp(25px, 5.6vw, 32px); }
  .location-card.text-card p { font-size: 14px; line-height: 1.62; }
}
@media(max-width:520px){
  .location-card.text-card { min-height: 0; }
  .location-card.text-card h3 { font-size: clamp(24px, 6.6vw, 30px); margin-bottom: 14px; }
  .location-card.text-card p { font-size: 13.5px; line-height: 1.65; margin-bottom: 22px; }
  .location-card.text-card .location-body { padding: 28px 24px 24px; }
}

/* ── CONTACT FORM — submit block (2026-09-29) ─────────────────────── */
.form-submit{flex-direction:column;align-items:stretch;gap:14px;margin-top:14px}
.form-submit .btn-send{width:100%;justify-content:center}
.form-submit-note{max-width:none;margin:0}
.form-status{font-size:13px;line-height:1.6;color:#0d2a47;background:#eef3f8;
  border:1px solid #d5e1ec;border-radius:10px;padding:12px 14px;margin:0}
.form-status[hidden]{display:none}
