.site-header{height:100px}
.brand img{width:285px;height:auto;max-height:78px}
.footer-logo{display:inline-grid;min-width:min(285px,100%);min-height:82px;align-items:center;text-decoration:none;color:#fff}
.footer-logo img{grid-area:1/1;width:285px;height:auto;max-height:82px;filter:none!important}
.footer-logo-fallback{grid-area:1/1;display:grid;gap:2px;align-content:center}
.footer-logo-fallback[hidden]{display:none}
.footer-logo-fallback strong{font-size:1.72rem;line-height:1.05;letter-spacing:-.03em;color:#fff}
.footer-logo-fallback small{font-size:.7rem;letter-spacing:.44em;text-transform:uppercase;color:#9fd8ff}
.work-card,.service-card,.principles article,.value-grid article,.form-card,.service-detail{box-shadow:0 18px 46px rgba(6,27,73,.08)}
.work-card:hover,.service-card:hover{box-shadow:0 24px 62px rgba(6,27,73,.14)}
@media(max-width:900px){
  .site-header{height:88px}
  .brand img{width:220px;max-height:64px}
  .nav-menu{inset:88px 0 auto}
}
@media(max-width:600px){
  .brand img{width:190px;max-height:56px}
  .footer-logo{min-width:min(230px,100%);min-height:70px}
  .footer-logo img{width:230px;max-height:70px}
  .footer-logo-fallback strong{font-size:1.45rem}
  .footer-logo-fallback small{font-size:.62rem;letter-spacing:.32em}
}

body{transition:opacity .26s ease,filter .26s ease}

body.page-transitioning{opacity:0;filter:blur(3px)}

.hero-photo{position:relative;margin:0;width:100%;max-width:620px;justify-self:end;align-self:center;aspect-ratio:4/3;max-height:560px;border-radius:30px;overflow:hidden;border:1px solid rgba(18,102,255,.16);box-shadow:0 30px 70px rgba(6,27,73,.18);background:#eaf2ff}
.hero-photo:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,27,73,0) 58%,rgba(6,27,73,.18));pointer-events:none}
.hero-photo:after{content:"";position:absolute;left:24px;right:24px;bottom:22px;z-index:2;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-cyan))}
.hero-photo picture,.hero-photo img{display:block;width:100%;height:100%}
.hero-photo img{object-fit:cover;object-position:center center}
@media(max-width:900px){.hero-photo{justify-self:start;max-width:680px}}
@media(max-width:600px){.hero-photo{aspect-ratio:4/3;border-radius:22px}.hero-photo:after{left:18px;right:18px;bottom:16px}}

.refined-map .map-node{display:grid;grid-template-columns:42px 1fr;column-gap:12px;row-gap:3px;align-items:center}
.refined-map .map-node .icon{grid-row:1 / span 2;background:rgba(0,184,217,.14);color:#7ceaff;border:1px solid rgba(124,234,255,.22)}
.refined-map .map-node b,.refined-map .map-node span{grid-column:2}
.refined-map .map-core .map-core-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:8px}
.refined-map .map-core .map-core-icon .icon{background:#eaf2ff;color:var(--brand-blue)}
.refined-map .map-core img{display:none}
.enhanced-service .icon{width:54px;height:54px;border-radius:16px}
.enhanced-service .icon svg{width:26px;height:26px}
.enhanced-service .service-detail-main{position:relative}
.enhanced-service .service-detail-main>.icon{margin-right:12px;vertical-align:middle}
.enhanced-service .service-detail-side{background:linear-gradient(180deg,#f7faff,#fff);border:1px solid var(--brand-border);border-radius:20px;padding:26px}
.check-grid div i{display:grid;place-items:center;width:28px;height:28px;min-width:28px;border-radius:10px;background:#eaf2ff;color:var(--brand-blue)}
.project-spec-grid .icon{font-size:1rem}

.portfolio-hero{padding:88px 0 82px;background:radial-gradient(circle at 84% 12%,rgba(0,184,217,.16),transparent 34%),linear-gradient(135deg,#f5f9ff 0%,#fff 58%,#eef7ff 100%);border-bottom:1px solid var(--brand-border);overflow:hidden}
.portfolio-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:68px;align-items:center}
.portfolio-hero h1{font-size:clamp(2.7rem,5vw,4.65rem);line-height:1.03;letter-spacing:-.055em;color:var(--brand-navy);margin:0 0 22px}
.portfolio-hero p{font-size:1.14rem;color:var(--brand-muted);max-width:720px;margin:0}
.portfolio-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.portfolio-hero-flyer{position:relative;margin:0;border-radius:30px;overflow:hidden;box-shadow:0 30px 76px rgba(6,27,73,.22);border:1px solid rgba(18,102,255,.14);background:#071b3a;aspect-ratio:1.75/1}
.portfolio-hero-flyer img{display:block;width:100%;height:100%;object-fit:cover}
.portfolio-hero-flyer:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(6,27,73,.62));pointer-events:none}
.portfolio-hero-flyer figcaption{position:absolute;left:20px;right:20px;bottom:18px;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#fff}
.portfolio-hero-flyer figcaption span{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;background:rgba(0,184,217,.88);box-shadow:0 10px 24px rgba(0,184,217,.24);font-size:.84rem;font-weight:900;white-space:nowrap}
.portfolio-hero-flyer figcaption b{max-width:420px;text-align:right;font-size:1rem;line-height:1.25;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.portfolio-brief-card{background:linear-gradient(150deg,#071b3a,#0d3d88);border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 70px rgba(6,27,73,.24);border-radius:30px;padding:28px;color:#fff;position:relative}
.portfolio-brief-card:before{content:"";position:absolute;inset:-45px -25px auto auto;width:210px;height:210px;background:radial-gradient(circle,rgba(0,184,217,.34),transparent 62%);pointer-events:none}
.portfolio-brief-top{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.14);position:relative}
.portfolio-brief-top span{font-weight:800}.portfolio-brief-top i{display:inline-block;width:9px;height:9px;background:#33d6a6;border-radius:50%;margin-right:8px}.portfolio-brief-top small{color:#7ceaff;background:rgba(0,184,217,.16);border-radius:999px;padding:6px 10px;font-weight:800}
.portfolio-outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;position:relative}
.portfolio-outcome-grid span{display:grid;grid-template-columns:42px 1fr;column-gap:12px;row-gap:2px;align-items:center;padding:16px;border-radius:18px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.1)}
.portfolio-outcome-grid .icon{grid-row:1 / span 2;background:rgba(0,184,217,.15);border:1px solid rgba(124,234,255,.2);color:#7ceaff}.portfolio-outcome-grid b,.portfolio-outcome-grid small{grid-column:2}.portfolio-outcome-grid small{color:#aac1e2}
.portfolio-section{background:#fff}
.portfolio-toolbar{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;gap:28px;align-items:end;margin-bottom:34px}
.portfolio-toolbar h2{font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.1;letter-spacing:-.04em;color:var(--brand-navy);margin:0}
.portfolio-filters{justify-content:flex-end;margin:0}.portfolio-filters .filter{box-shadow:0 8px 22px rgba(6,27,73,.05)}
.portfolio-feature{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;border:1px solid var(--brand-border);border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 24px 68px rgba(6,27,73,.1);margin-bottom:30px}
.portfolio-feature-media{min-height:360px;background:#eef5ff}.portfolio-feature-media img,.portfolio-feature-media .portfolio-fallback{width:100%;height:100%;min-height:360px;object-fit:cover}
.portfolio-feature-body{padding:42px;display:flex;flex-direction:column;justify-content:center}
.portfolio-feature-body h3{font-size:clamp(2rem,3vw,3rem);line-height:1.08;letter-spacing:-.045em;color:var(--brand-navy);margin:18px 0 14px}.portfolio-feature-body p{color:var(--brand-muted);font-size:1.03rem}
.portfolio-card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.portfolio-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.portfolio-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--brand-border);border-radius:24px;overflow:hidden;box-shadow:0 18px 46px rgba(6,27,73,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 28px 72px rgba(6,27,73,.14);border-color:#b8d3fb}
.portfolio-card-media{display:block;text-decoration:none;background:#edf5ff}
.portfolio-card-media img,.portfolio-card-media .portfolio-fallback{width:100%;height:240px;object-fit:cover}
.portfolio-fallback{display:grid;place-items:center;align-content:center;gap:16px;background:radial-gradient(circle at 70% 20%,rgba(0,184,217,.35),transparent 32%),linear-gradient(135deg,#071b3a,#1266ff);color:#fff}
.portfolio-fallback .icon{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18)}.portfolio-fallback span{font-size:2.8rem;font-weight:900;letter-spacing:-.04em;color:rgba(255,255,255,.9)}
.portfolio-card-body{padding:24px;display:flex;flex-direction:column;gap:12px;min-height:250px}
.portfolio-card-meta{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.portfolio-type{display:inline-flex;align-items:center;gap:8px;color:var(--brand-blue);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.portfolio-type .icon{width:28px;height:28px;border-radius:9px}.portfolio-type .icon svg{width:15px;height:15px}
.portfolio-status-chip{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#087c55;background:#dcfce7;border-radius:999px;padding:5px 9px}
.portfolio-card h3{font-size:1.25rem;line-height:1.25;margin:0}.portfolio-card h3 a{color:var(--brand-navy);text-decoration:none}.portfolio-card p{color:var(--brand-muted);font-size:.95rem;margin:0}.portfolio-read{margin-top:auto;color:var(--brand-blue);font-weight:850;text-decoration:none}
.portfolio-industries{background:linear-gradient(180deg,#f7faff,#fff)}
@media(max-width:980px){.portfolio-hero-grid,.portfolio-toolbar,.portfolio-feature{grid-template-columns:1fr}.portfolio-filters{justify-content:flex-start}.portfolio-showcase{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.portfolio-hero{padding:64px 0}.portfolio-brief-card,.portfolio-feature-body,.portfolio-card-body{padding:24px}.portfolio-outcome-grid,.portfolio-showcase{grid-template-columns:1fr}.portfolio-hero-flyer{border-radius:22px;aspect-ratio:1.35/1}.portfolio-hero-flyer figcaption{display:grid;justify-items:start}.portfolio-hero-flyer figcaption b{text-align:left;font-size:.92rem}.portfolio-feature-media,.portfolio-feature-media img,.portfolio-feature-media .portfolio-fallback{min-height:260px}.portfolio-card-media img,.portfolio-card-media .portfolio-fallback{height:210px}}

.project-detail-hero{padding:78px 0 86px;background:linear-gradient(135deg,#f5f9ff 0%,#fff 58%,#edf8ff 100%);border-bottom:1px solid var(--brand-border)}
.project-detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;margin-top:24px}
.project-detail-hero h1{font-size:clamp(2.7rem,5vw,4.4rem);line-height:1.04;letter-spacing:-.055em;color:var(--brand-navy);margin:0 0 20px}
.project-meta-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px;color:var(--brand-muted);font-weight:700;font-size:.9rem}
.project-meta-row>span:not(.pill){padding:6px 12px;border:1px solid var(--brand-border);border-radius:999px;background:#fff}
.project-preview-card{border:1px solid var(--brand-border);border-radius:28px;background:#fff;box-shadow:var(--shadow-soft);overflow:hidden;min-height:330px;display:grid}
.project-preview-card img,.project-preview-card .work-placeholder{width:100%;height:100%;min-height:330px;object-fit:cover}
.project-content-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}
.project-story-card,.project-info-card,.project-spec-grid article{background:#fff;border:1px solid var(--brand-border);border-radius:22px;box-shadow:0 18px 46px rgba(6,27,73,.08)}
.project-story-card{padding:38px}
.project-story-card h2,.project-info-card h2{margin:0 0 18px;color:var(--brand-navy);letter-spacing:-.035em;line-height:1.15}
.project-rich-text{color:#3f506b;font-size:1.03rem}
.project-rich-text h1,.project-rich-text h2,.project-rich-text h3,.project-rich-text h4{color:var(--brand-navy);line-height:1.2}
.project-rich-text a,.project-info-card a{color:var(--brand-blue);font-weight:800;text-decoration:none}
.project-info-card{padding:30px;position:sticky;top:124px}
.project-info-card dl{margin:0;display:grid;gap:0}
.project-info-card dl>div{padding:18px 0;border-bottom:1px solid var(--brand-border)}
.project-info-card dl>div:last-child{border-bottom:0}
.project-info-card dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-muted);font-weight:800}
.project-info-card dd{margin:6px 0 0;color:var(--brand-navy);font-weight:800}
.project-spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-spec-grid article{padding:24px}
.project-spec-grid h3{margin:14px 0 8px;color:var(--brand-navy)}
.project-spec-grid p{color:var(--brand-muted)}
@media(max-width:900px){
  .project-detail-grid,.project-content-grid{grid-template-columns:1fr}
  .project-info-card{position:static}
  .project-spec-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .project-detail-hero{padding:58px 0 66px}
  .project-story-card,.project-info-card{padding:24px}
  .project-spec-grid{grid-template-columns:1fr}
}

/* Final UI layer — deliberately last so every page receives the same visual system. */
:root{--ui-ink:#0b1933;--ui-muted:#53627a;--ui-blue:#155eef;--ui-line:#e2e8f0;--ui-soft:#f7f9fc;--ui-radius:12px}
body{font-family:"Segoe UI Variable","Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ui-ink);line-height:1.58;letter-spacing:-.012em}
.container{width:min(calc(100% - 48px),1200px)}
.site-header{height:76px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ui-line);box-shadow:none}
.site-header.scrolled{box-shadow:0 6px 20px rgba(11,25,51,.06)}
.brand img{width:210px;max-height:58px}.nav-menu{gap:22px}.nav-link{font-size:.86rem;font-weight:700;color:#34435a}
.hero,.page-hero,.portfolio-hero,.project-detail-hero{background:radial-gradient(circle at 88% 8%,rgba(21,94,239,.10),transparent 31%),linear-gradient(180deg,#f8faff 0%,#fff 100%)}
.hero{padding:72px 0 82px}.section{padding:80px 0}
.hero h1,.page-hero h1,.portfolio-hero h1,.project-detail-hero h1{font-weight:800;letter-spacing:-.06em;line-height:1.02}
.section h2,.cta h2,.contact-panel h2,.quote-grid aside h2,.portfolio-toolbar h2{font-weight:800;letter-spacing:-.045em}
.lead,.lead-sm,.section-head>p,.portfolio-hero p{color:var(--ui-muted);line-height:1.7}
.eyebrow{padding:6px 10px;margin-bottom:18px;border-radius:999px;background:#eaf1ff;letter-spacing:.09em}
.btn{min-height:44px;border-radius:8px;padding:11px 19px;font-size:.88rem;box-shadow:none}.btn-primary{background:var(--ui-blue);box-shadow:0 7px 16px rgba(21,94,239,.18)}.btn:hover{transform:translateY(-1px)}
.service-card,.work-card,.principles article,.value-grid article,.form-card,.service-detail,.portfolio-card,.portfolio-feature,.project-story-card,.project-info-card,.project-spec-grid article{border-color:var(--ui-line);border-radius:var(--ui-radius);box-shadow:0 6px 22px rgba(11,25,51,.055)}
.service-card{padding:25px}.service-card:hover,.work-card:hover,.portfolio-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(11,25,51,.10)}
.icon{border-radius:9px;background:#edf3ff}.pill{background:#edf3ff}input,select,textarea{border-color:#cfd8e6;border-radius:8px;padding:13px 14px}.cta{background:linear-gradient(110deg,#071a3d,#0d3d88)}
.portfolio-hero-flyer{aspect-ratio:7/4;border-radius:18px;box-shadow:0 18px 42px rgba(11,25,51,.16)}
.portfolio-hero-flyer picture{display:block;width:100%;height:100%}.portfolio-hero-flyer img{display:block;width:100%;height:100%;min-height:0;max-height:none;object-fit:cover;object-position:center}
@media(max-width:900px){.site-header{height:74px}.nav-menu{inset:74px 0 auto}.brand img{width:200px}.container{width:min(calc(100% - 32px),1200px)}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),1200px)}.section{padding:60px 0}.hero,.portfolio-hero{padding:50px 0 60px}.portfolio-hero-grid{gap:34px}.portfolio-hero-flyer{width:100%;height:auto;aspect-ratio:16/10;border-radius:14px}.portfolio-hero-flyer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portfolio-hero-flyer figcaption{left:14px;right:14px;bottom:12px}.portfolio-hero-flyer figcaption b{display:none}}
