/*
Theme Name: Kastel Technologies
Theme URI: https://kastel.com.au/
Author: Kastel Technologies
Description: Custom corporate WordPress theme for Kastel Technologies Australia.
Version: 0.5.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: kastel
*/

:root {
  --kastel-orange: #f47c20;
  --kastel-orange-dark: #d85f09;
  --kastel-blue: #277eb8;
  --kastel-blue-dark: #15577f;
  --kastel-navy: #102a3c;
  --kastel-charcoal: #17232d;
  --kastel-grey-700: #455560;
  --kastel-grey-500: #6d7b84;
  --kastel-grey-300: #cbd5db;
  --kastel-grey-200: #e7edf0;
  --kastel-grey-100: #f4f7f8;
  --kastel-white: #fff;
  --kastel-radius-sm: .55rem;
  --kastel-radius: 1rem;
  --kastel-radius-lg: 1.5rem;
  --kastel-shadow: 0 18px 50px rgba(16,42,60,.10);
  --kastel-content: 1240px;
  --kastel-reading: 760px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--kastel-charcoal); background: var(--kastel-white); font-family: "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif; line-height: 1.65; }
img { max-width: 100%; height: auto; }
a { color: var(--kastel-blue-dark); text-decoration-thickness: .09em; text-underline-offset: .18em; }
a:hover { color: var(--kastel-orange-dark); }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid rgba(244,124,32,.55); outline-offset: 3px; }

h1,h2,h3,h4,h5,h6 { margin: 0 0 .65em; color: var(--kastel-navy); font-family: "Segoe UI", Inter, system-ui, sans-serif; line-height: 1.12; letter-spacing: -.025em; }
h1 { font-size: clamp(2.55rem, 6vw, 5.25rem); }
h2 { font-size: clamp(2rem, 4vw, 3.35rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); }
p { margin: 0 0 1rem; }

.container { width: min(calc(100% - 2rem), var(--kastel-content)); margin-inline: auto; }
.reading-width { max-width: var(--kastel-reading); }
.section { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.section--soft { background: var(--kastel-grey-100); }
.section--navy { color: var(--kastel-white); background: var(--kastel-navy); }
.section--navy h2,.section--navy h3 { color: var(--kastel-white); }
.eyebrow { margin-bottom: 1rem; color: var(--kastel-orange-dark); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.lead { color: var(--kastel-grey-700); font-size: clamp(1.06rem, 1.7vw, 1.25rem); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.section-heading > div { max-width: 780px; }

.skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 9999; padding: .7rem 1rem; transform: translateY(-180%); background: var(--kastel-white); box-shadow: var(--kastel-shadow); }
.skip-link:focus { transform: none; }

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(203,213,219,.8); backdrop-filter: blur(12px); }
.admin-bar .site-header { top: 32px; }
.header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.site-branding img { display: block; width: auto; max-height: 43px; }
.site-branding .custom-logo-link { display: block; line-height: 0; }
.primary-nav { display: flex; align-items: center; gap: 1.8rem; }
.primary-nav ul { display: flex; align-items: center; gap: 1.55rem; padding: 0; margin: 0; list-style: none; }
.primary-nav a { color: var(--kastel-charcoal); font-weight: 700; text-decoration: none; }
.primary-nav a:hover,.primary-nav .current-menu-item > a { color: var(--kastel-orange-dark); }
.header-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .7rem 1.15rem; border-radius: 999px; color: var(--kastel-white)!important; background: var(--kastel-orange); }
.menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--kastel-grey-300); border-radius: 50%; background: var(--kastel-white); }
.menu-toggle span,.menu-toggle::before,.menu-toggle::after { content: ""; display: block; width: 20px; height: 2px; margin: 4px auto; background: var(--kastel-navy); }

.hero { position: relative; overflow: hidden; padding: clamp(5rem, 10vw, 9rem) 0 6rem; background: linear-gradient(125deg,#f7fafb 0%,#fff 55%,#eaf5fb 100%); }
.hero::before { content:""; position:absolute; width:420px; height:420px; right:-110px; top:-140px; border: 70px solid rgba(39,126,184,.08); border-radius:50%; }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); align-items: center; gap: clamp(2.5rem,6vw,6rem); }
.hero h1 { max-width: 900px; }
.hero-copy { max-width: 720px; margin-bottom: 2rem; color: var(--kastel-grey-700); font-size: clamp(1.12rem, 2vw, 1.35rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .85rem; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: .55rem; padding: .75rem 1.25rem; border: 2px solid var(--kastel-orange); border-radius: 999px; color: var(--kastel-white); background: var(--kastel-orange); font-weight: 800; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.button:hover { color: var(--kastel-white); background: var(--kastel-orange-dark); transform: translateY(-2px); }
.button--secondary { border-color: var(--kastel-navy); color: var(--kastel-navy); background: transparent; }
.button--secondary:hover { color: var(--kastel-white); background: var(--kastel-navy); }
.button--light { border-color: var(--kastel-white); color: var(--kastel-navy); background: var(--kastel-white); }
.hero-panel { padding: 2rem; border: 1px solid rgba(39,126,184,.18); border-radius: var(--kastel-radius-lg); background: rgba(255,255,255,.84); box-shadow: var(--kastel-shadow); }
.hero-panel ul { padding: 0; margin: 0; list-style: none; }
.hero-panel li { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--kastel-grey-200); }
.hero-panel li:last-child { border-bottom: 0; }
.hero-icon { display:grid; place-items:center; width:42px; height:42px; border-radius: 12px; color: var(--kastel-blue-dark); background:#e8f4fa; font-weight:900; }
.hero-panel strong { display:block; color:var(--kastel-navy); }
.hero-panel span { color:var(--kastel-grey-700); font-size:.92rem; }

.trust-bar { border-block: 1px solid var(--kastel-grey-200); background: var(--kastel-white); }
.trust-inner { min-height: 94px; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.trust-inner p { margin:0; color:var(--kastel-grey-700); font-weight:700; }
.trust-names { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:1rem 1.8rem; color:var(--kastel-grey-500); font-family:Manrope,sans-serif; font-weight:800; }

.card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; }
.card { position:relative; padding:2rem; border:1px solid var(--kastel-grey-200); border-radius:var(--kastel-radius); background:var(--kastel-white); box-shadow:0 8px 28px rgba(16,42,60,.04); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.card:hover { transform:translateY(-5px); border-color:rgba(39,126,184,.45); box-shadow:var(--kastel-shadow); }
.card-number { display:inline-grid; place-items:center; width:46px; height:46px; margin-bottom:1.3rem; border-radius:13px; color:var(--kastel-white); background:linear-gradient(145deg,var(--kastel-blue),var(--kastel-blue-dark)); font-weight:900; }
.card p { color:var(--kastel-grey-700); }
.card-link { font-weight:800; text-decoration:none; }

.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(3rem,8vw,7rem); }
.ecosystem { position:relative; min-height:470px; display:grid; place-items:center; }
.ecosystem-core { z-index:2; display:grid; place-items:center; width:180px; height:180px; padding:1rem; border-radius:50%; color:#fff; background:linear-gradient(145deg,var(--kastel-blue),var(--kastel-navy)); text-align:center; font-family:Manrope,sans-serif; font-weight:800; box-shadow:var(--kastel-shadow); }
.ecosystem-ring { position:absolute; width:380px; height:380px; border:1px dashed rgba(39,126,184,.45); border-radius:50%; }
.ecosystem-item { position:absolute; z-index:3; width:145px; padding:.75rem; border:1px solid var(--kastel-grey-200); border-radius:999px; background:#fff; box-shadow:0 8px 25px rgba(16,42,60,.08); text-align:center; font-size:.86rem; font-weight:800; }
.ecosystem-item:nth-of-type(2){top:18px}.ecosystem-item:nth-of-type(3){right:0;top:135px}.ecosystem-item:nth-of-type(4){right:20px;bottom:75px}.ecosystem-item:nth-of-type(5){bottom:0}.ecosystem-item:nth-of-type(6){left:20px;bottom:75px}.ecosystem-item:nth-of-type(7){left:0;top:135px}
.check-list { padding:0; margin:1.8rem 0 0; list-style:none; }
.check-list li { position:relative; padding:.75rem 0 .75rem 2rem; border-bottom:1px solid var(--kastel-grey-200); }
.check-list li::before { content:"✓"; position:absolute; left:0; color:var(--kastel-orange-dark); font-weight:900; }

.industry-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; }
.industry { min-height:180px; display:flex; flex-direction:column; justify-content:flex-end; padding:1.4rem; border-radius:var(--kastel-radius); color:#fff; background:linear-gradient(155deg,var(--kastel-blue),var(--kastel-navy)); }
.industry:nth-child(even){background:linear-gradient(155deg,var(--kastel-orange),#a84608)}
.industry h3 { color:#fff; font-size:1.1rem; }
.industry p { margin:0; opacity:.86; font-size:.9rem; }

.office-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; }
.office { padding:1.8rem; border:1px solid var(--kastel-grey-200); border-radius:var(--kastel-radius); background:#fff; }
.office-label { display:inline-block; margin-bottom:1rem; color:var(--kastel-orange-dark); font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.office address { color:var(--kastel-grey-700); font-style:normal; }

.cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:clamp(2rem,5vw,4rem); border-radius:var(--kastel-radius-lg); color:#fff; background:linear-gradient(125deg,var(--kastel-navy),var(--kastel-blue-dark)); }
.cta h2 { color:#fff; }
.cta p { margin:0; opacity:.88; }

.entry-header { padding:4.5rem 0 2rem; background:var(--kastel-grey-100); }
.entry-content { width:min(calc(100% - 2rem),var(--kastel-reading)); margin:0 auto; padding:4rem 0 6rem; }
.entry-content > * { max-width:100%; }
.entry-content h2,.entry-content h3 { margin-top:1.8em; }

.site-footer { padding:4.5rem 0 1.5rem; color:rgba(255,255,255,.78); background:#0d202d; }
.footer-grid { display:grid; grid-template-columns:1.4fr .8fr .8fr 1fr; gap:2rem; }
.footer-logo { width:auto; max-height:40px; filter:brightness(0) invert(1); opacity:.94; }
.footer-title { color:#fff; font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; }
.footer-links { padding:0; margin:0; list-style:none; }
.footer-links li { margin:.45rem 0; }
.footer-links a { color:rgba(255,255,255,.8); text-decoration:none; }
.footer-links a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:3rem; padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.12); font-size:.86rem; }

@media (max-width: 980px) {
  .admin-bar .site-header { top:46px; }
  .menu-toggle { display:block; }
  .primary-nav { position:absolute; top:100%; left:0; right:0; display:none; padding:1rem; border-bottom:1px solid var(--kastel-grey-200); background:#fff; box-shadow:var(--kastel-shadow); }
  .primary-nav.is-open { display:block; }
  .primary-nav ul { display:block; }
  .primary-nav li { margin:.3rem 0; }
  .primary-nav a { display:block; padding:.75rem; }
  .header-cta { margin-top:.5rem; }
  .hero-grid,.split { grid-template-columns:1fr; }
  .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 680px) {
  .header-inner { min-height:72px; }
  .site-branding img { max-height:34px; }
  .hero { padding-top:4rem; }
  .section-heading,.trust-inner,.cta,.footer-bottom { align-items:flex-start; flex-direction:column; }
  .trust-names { justify-content:flex-start; }
  .card-grid,.industry-grid,.office-grid,.footer-grid { grid-template-columns:1fr; }
  .ecosystem { min-height:390px; transform:scale(.82); margin:-35px; }
}


/* v0.3 launch homepage */
.header-inner{min-height:74px}.site-branding img{max-height:38px}.primary-nav{gap:1.35rem}.primary-nav ul{gap:1.3rem}.primary-nav a{font-size:.93rem}.header-cta{min-height:42px;padding:.6rem 1rem}
.hero{padding:clamp(5rem,9vw,8.2rem) 0 clamp(4.5rem,7vw,6.5rem);background:linear-gradient(118deg,#f7fafb 0%,#fff 56%,#edf7fc 100%)}.hero::after{content:"";position:absolute;width:650px;height:650px;right:-310px;bottom:-390px;border:1px solid rgba(39,126,184,.15);border-radius:50%}.hero h1{font-size:clamp(3rem,6.4vw,5.7rem);letter-spacing:-.055em}.hero h1 span{color:var(--kastel-blue-dark)}.hero-copy{max-width:760px}.hero-proof{display:flex;align-items:center;gap:.75rem;margin-top:2.2rem;color:var(--kastel-grey-500);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-proof i{width:4px;height:4px;border-radius:50%;background:var(--kastel-orange)}
.hero-panel{padding:0;overflow:hidden;background:#fff}.panel-kicker{padding:1.15rem 1.5rem;color:#fff;background:var(--kastel-navy);font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.lifecycle{padding:1.65rem}.life-step{display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:start}.life-step b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--kastel-blue-dark);background:#e8f4fa;font-size:.8rem}.life-step strong{display:block;margin-bottom:.2rem;color:var(--kastel-navy);font-family:"Segoe UI",sans-serif;font-size:1.1rem}.life-step span{display:block;color:var(--kastel-grey-700);font-size:.9rem}.life-line{width:1px;height:30px;margin:.35rem 0 .35rem 22px;background:var(--kastel-grey-200)}
.trust-bar{padding:1.5rem 0}.trust-label{margin:0 0 1rem;text-align:center;color:var(--kastel-grey-500);font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.trust-names{justify-content:center;gap:1rem 2.2rem;color:#52636d;font-size:.92rem}.text-link{white-space:nowrap;font-weight:800;text-decoration:none}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card:nth-child(7){grid-column:span 2}.card-top{display:flex;align-items:center;justify-content:space-between}.card-arrow{color:var(--kastel-grey-300);font-size:1.35rem}.card h3 a{color:inherit;text-decoration:none}.card-link{display:inline-flex;gap:.35rem;margin-top:.4rem}.card-link span{transition:transform .2s ease}.card:hover .card-link span{transform:translateX(4px)}
.approach{background:linear-gradient(125deg,#0d2433,#123b54)}.eyebrow--light{color:#ffad6d}.lead--light{color:rgba(255,255,255,.7)}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16)}.approach-grid article{padding:2.4rem;background:#102d40}.approach-grid span{display:block;margin-bottom:2rem;color:#ffad6d;font-size:.78rem;font-weight:900}.approach-grid p{margin:0;color:rgba(255,255,255,.68)}
.why-grid{align-items:start}.why-list{border-top:1px solid var(--kastel-grey-200)}.why-list>div{display:grid;grid-template-columns:48px 1fr;gap:1.1rem;padding:1.35rem 0;border-bottom:1px solid var(--kastel-grey-200)}.why-list b{color:var(--kastel-orange-dark);font-size:.78rem}.why-list strong,.why-list small{display:block}.why-list strong{margin-bottom:.2rem;color:var(--kastel-navy);font-size:1.05rem}.why-list small{color:var(--kastel-grey-700);font-size:.9rem}
.industry-grid{grid-template-columns:repeat(5,1fr)}.industry{position:relative;min-height:235px;overflow:hidden;background:linear-gradient(155deg,#1d6d9d,#102a3c)!important}.industry:nth-child(even){background:linear-gradient(155deg,#235b7a,#102a3c)!important}.industry::before{content:"";position:absolute;width:160px;height:160px;right:-80px;top:-80px;border:28px solid rgba(255,255,255,.07);border-radius:50%}.industry>span{position:absolute;top:1.3rem;left:1.4rem;color:rgba(255,255,255,.5);font-size:.75rem;font-weight:800}.industry h3,.industry p{position:relative}.office{position:relative;overflow:hidden;padding:2rem}.office::after{content:"";position:absolute;right:-35px;bottom:-35px;width:100px;height:100px;border:18px solid rgba(39,126,184,.07);border-radius:50%}.office h3{font-size:1.5rem}.office a{text-decoration:none;font-weight:800}.cta-section{padding-top:2rem}.cta{background:linear-gradient(120deg,#102a3c,#15577f 70%,#277eb8)}.cta-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.8rem}.cta-contact{color:#fff;font-weight:800;text-decoration:none}.footer-bottom a{color:rgba(255,255,255,.75);text-decoration:none}
@media(max-width:1100px){.card-grid{grid-template-columns:repeat(2,1fr)}.card:nth-child(7){grid-column:auto}.industry-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.header-inner{min-height:70px}.approach-grid{grid-template-columns:1fr}.industry-grid{grid-template-columns:repeat(2,1fr)}.primary-nav{padding:1.2rem}.primary-nav .header-cta{display:inline-flex;margin:.7rem}}
@media(max-width:680px){.hero h1{font-size:clamp(2.8rem,14vw,4.2rem)}.card-grid,.industry-grid{grid-template-columns:1fr}.hero-proof{flex-wrap:wrap}.cta-actions{align-items:flex-start}.approach-grid article{padding:1.7rem}}

/* v0.4 — solution experience */
.solution-hero{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(135deg,#f7fafb 0%,#fff 62%,#eef7fc 100%);border-bottom:1px solid var(--kastel-grey-200)}
.solution-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:5rem;align-items:center}.solution-hero h1{font-size:clamp(3.2rem,6vw,5.8rem);line-height:.96;letter-spacing:-.055em;margin:.55rem 0 1.5rem;max-width:900px}.solution-hero .lead{max-width:760px}.solution-side{background:var(--kastel-navy);color:#fff;border-radius:var(--kastel-radius-lg);padding:2rem;box-shadow:var(--kastel-shadow);display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;font-weight:800}.solution-side i{font-style:normal;color:var(--kastel-orange)}.solution-side p{width:100%;margin:1.25rem 0 0;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.16);font-weight:400;color:#d9e4ea;line-height:1.65}.solution-main{padding:5.5rem 0 6.5rem}.solution-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:6rem;align-items:start}.solution-content{max-width:790px}.solution-content .solution-intro{font-size:clamp(1.55rem,2.6vw,2.15rem);line-height:1.35;color:var(--kastel-navy);font-weight:700;margin:0 0 3rem}.solution-content h2{font-size:clamp(1.8rem,3vw,2.55rem);letter-spacing:-.035em;margin:4rem 0 1.25rem;color:var(--kastel-navy)}.solution-content p{font-size:1.08rem;line-height:1.8;color:var(--kastel-grey-700)}.solution-bullets{list-style:none;padding:0;margin:1.5rem 0 3rem;display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.solution-bullets li{position:relative;padding:1.05rem 1rem 1.05rem 2.9rem;border:1px solid var(--kastel-grey-200);border-radius:.8rem;background:#fff;color:var(--kastel-charcoal);font-weight:650}.solution-bullets li:before{content:'✓';position:absolute;left:1rem;color:var(--kastel-orange);font-weight:900}.solution-bullets--benefits li:before{color:var(--kastel-blue)}.solution-faq details{border-top:1px solid var(--kastel-grey-200);padding:1.25rem 0}.solution-faq details:last-child{border-bottom:1px solid var(--kastel-grey-200)}.solution-faq summary{cursor:pointer;font-weight:800;color:var(--kastel-navy);font-size:1.08rem}.solution-faq details p{margin:.8rem 0 0}.solution-nav{position:sticky;top:110px;border-left:1px solid var(--kastel-grey-200);padding-left:2rem}.solution-nav nav{display:flex;flex-direction:column;margin-top:1rem}.solution-nav nav a{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--kastel-grey-200);color:var(--kastel-grey-700);font-weight:700;text-decoration:none}.solution-nav nav a:hover,.solution-nav nav a.is-current{color:var(--kastel-orange)}.solution-help{margin-top:2rem;padding:1.5rem;background:var(--kastel-grey-100);border-radius:var(--kastel-radius)}.solution-help strong{color:var(--kastel-navy);font-size:1.05rem}.solution-help p{color:var(--kastel-grey-700);font-size:.94rem;line-height:1.55}.solution-help a{color:var(--kastel-orange-dark);font-weight:800;text-decoration:none}
@media (max-width:900px){.solution-hero-grid,.solution-layout{grid-template-columns:1fr;gap:2.5rem}.solution-side{max-width:520px}.solution-nav{position:static;border-left:0;border-top:1px solid var(--kastel-grey-200);padding:2rem 0 0}.solution-bullets{grid-template-columns:1fr}}
@media (min-width:901px) and (max-width:1300px){.hero h1{font-size:clamp(4.4rem,6.2vw,5.8rem)}.hero-grid{gap:3.5rem}.hero-panel{transform:scale(.94);transform-origin:center right}}


/* v0.5 — corporate, industries, partners and conversion */
.page-hero{padding:clamp(4.5rem,8vw,7.2rem) 0 4rem;background:linear-gradient(135deg,#f7fafb 0%,#fff 62%,#edf7fc 100%);border-bottom:1px solid var(--kastel-grey-200)}
.page-hero h1{max-width:980px;margin:.55rem 0 1.2rem;font-size:clamp(3.1rem,6vw,5.8rem);line-height:.98;letter-spacing:-.055em;color:var(--kastel-navy)}
.page-hero .lead{max-width:820px}.page-body{padding:5.5rem 0}.prose-wide{max-width:920px}.prose-wide h2{margin:3.5rem 0 1rem;font-size:clamp(2rem,3.4vw,3rem);letter-spacing:-.04em;color:var(--kastel-navy)}.prose-wide p{font-size:1.08rem;line-height:1.8;color:var(--kastel-grey-700)}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.value-card{padding:2rem;border:1px solid var(--kastel-grey-200);border-radius:var(--kastel-radius);background:#fff}.value-card span{display:block;margin-bottom:1.5rem;color:var(--kastel-orange);font-size:.75rem;font-weight:900}.value-card h3{margin:0 0 .65rem;color:var(--kastel-navy);font-size:1.35rem}.value-card p{margin:0;color:var(--kastel-grey-700);line-height:1.65}
.industry-listing{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}.industry-card{position:relative;min-height:300px;padding:2.2rem;overflow:hidden;border-radius:var(--kastel-radius-lg);background:linear-gradient(145deg,#0f2b3d,#1e709f);color:#fff;text-decoration:none}.industry-card:nth-child(3n+2){background:linear-gradient(145deg,#15394f,#245f7f)}.industry-card::after{content:"";position:absolute;width:240px;height:240px;right:-125px;top:-125px;border:38px solid rgba(255,255,255,.07);border-radius:50%}.industry-card small{display:block;margin-bottom:5rem;color:#ffad6d;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.industry-card h2{position:relative;margin:0 0 .75rem;color:#fff;font-size:clamp(1.8rem,3vw,2.6rem)}.industry-card p{position:relative;max-width:540px;margin:0;color:rgba(255,255,255,.74);line-height:1.65}.industry-card b{position:absolute;right:2rem;bottom:1.8rem;font-size:1.5rem}
.industry-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:5rem;align-items:start}.industry-aside{position:sticky;top:110px;padding:1.7rem;border-radius:var(--kastel-radius);background:var(--kastel-grey-100)}.industry-aside h3{margin-top:0;color:var(--kastel-navy)}.industry-aside ul{list-style:none;padding:0;margin:0}.industry-aside li{padding:.7rem 0;border-bottom:1px solid var(--kastel-grey-200);color:var(--kastel-grey-700);font-weight:650}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.partner-card{min-height:190px;padding:1.8rem;border:1px solid var(--kastel-grey-200);border-radius:var(--kastel-radius);background:#fff;display:flex;flex-direction:column;justify-content:space-between}.partner-wordmark{font-size:1.5rem;font-weight:900;letter-spacing:-.03em;color:var(--kastel-navy)}.partner-card p{margin:.7rem 0 0;color:var(--kastel-grey-700);font-size:.92rem;line-height:1.55}.partner-card small{color:var(--kastel-orange-dark);font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.office-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0 4rem}.office-contact{padding:2rem;border:1px solid var(--kastel-grey-200);border-radius:var(--kastel-radius);background:#fff}.office-contact h2{margin:.3rem 0 1rem;font-size:1.6rem;color:var(--kastel-navy)}.office-contact address{font-style:normal;line-height:1.7;color:var(--kastel-grey-700)}.office-contact a{color:var(--kastel-orange-dark);font-weight:800;text-decoration:none}
.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:5rem;align-items:start}.contact-panel{padding:2rem;border-radius:var(--kastel-radius-lg);background:var(--kastel-navy);color:#fff}.contact-panel h2{margin-top:0;color:#fff}.contact-panel p{color:rgba(255,255,255,.72)}.contact-panel a{color:#fff;font-weight:800}.kastel-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.kastel-form .field--full{grid-column:1/-1}.kastel-form label{display:block;margin-bottom:.45rem;color:var(--kastel-navy);font-weight:800}.kastel-form input,.kastel-form select,.kastel-form textarea{width:100%;padding:.9rem 1rem;border:1px solid #cfdbe2;border-radius:.65rem;background:#fff;color:var(--kastel-charcoal);font:inherit}.kastel-form textarea{min-height:150px;resize:vertical}.kastel-form input:focus,.kastel-form select:focus,.kastel-form textarea:focus{outline:3px solid rgba(39,126,184,.15);border-color:var(--kastel-blue)}.form-note{font-size:.85rem;color:var(--kastel-grey-500)}.form-status{padding:1rem 1.2rem;margin-bottom:1.3rem;border-radius:.7rem;font-weight:700}.form-status--success{background:#eaf7ef;color:#17653a}.form-status--error{background:#fff0ed;color:#9a321e}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.legal-links{display:flex;gap:1rem;flex-wrap:wrap}.footer-locations{display:grid;gap:.75rem}.footer-locations strong{display:block;color:#fff}.footer-locations span{display:block;color:rgba(255,255,255,.65);font-size:.88rem;line-height:1.45}.industry-grid a.industry{display:block;text-decoration:none}
@media(max-width:1050px){.partner-grid{grid-template-columns:repeat(2,1fr)}.value-grid,.office-contact-grid{grid-template-columns:1fr 1fr}.contact-layout,.industry-detail-grid{grid-template-columns:1fr}.industry-aside{position:static}}
@media(max-width:680px){.industry-listing,.partner-grid,.value-grid,.office-contact-grid,.kastel-form{grid-template-columns:1fr}.kastel-form .field--full{grid-column:auto}.industry-card{min-height:260px}.page-body{padding:4rem 0}}
