:root{
  --cobalt: #1B3F73;
  --cobalt-light: #2F5FA3;
  --charcoal: #21252B;
  --concrete: #ECE9E2;
  --paper: #FAFAF7;
  --steel: #8B95A1;
  --amber: #E8A33D;
  --line: rgba(33,37,43,0.10);
  --display: 'Oswald', 'Arial Narrow', sans-serif;
  --body: 'Source Sans 3', 'Segoe UI', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{ font-family: var(--body); color: var(--charcoal); background: var(--paper); line-height:1.55; }
img{display:block; max-width:100%; height:auto;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.eyebrow{ font-weight:700; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; color: var(--cobalt); }
h1,h2,h3{ font-family: var(--display); text-transform:uppercase; line-height:1.1; }

/* header */
header{ background: var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.nav{ display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1180px; margin:0 auto;}
.logo{ display:flex; align-items:center; gap:14px; }
.logo-img{ height:46px; width:auto; display:block; }
.logo-address{ font-family:var(--body); font-size:11px; line-height:1.4; color:var(--steel); font-weight:600; letter-spacing:.02em; border-left:1px solid var(--line); padding-left:14px; }
@media(max-width:600px){ .logo-address{display:none;} }
.navlinks{ display:flex; gap:26px; font-size:13px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;}
.navlinks a{ padding:6px 0; border-bottom:2px solid transparent; }
.navlinks a:hover, .navlinks a.active{border-color:var(--amber);}
.nav-cta{ background:var(--cobalt); color:#fff; padding:10px 18px; border-radius:3px; font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;}
@media(max-width:900px){ .navlinks{display:none;} }

/* hero */
.hero{
  position:relative; overflow:hidden; color:#fff; padding:110px 0 90px;
  background-image: linear-gradient(rgba(20,38,63,.78), rgba(23,26,31,.85)), url("/images/hero-bg.jpg");
  background-size: cover;
  background-position: center 35%;
}
.hero-inner{ position:relative; max-width:700px; }
.hero .eyebrow{ color: var(--amber); }
.hero h1{ font-size:46px; margin:16px 0 20px;}
.hero p{ font-size:17px; color:#DCE4F0; max-width:560px; margin-bottom:32px;}
.btn-row{ display:flex; gap:14px; flex-wrap:wrap; }
.btn{ display:inline-block; padding:13px 24px; font-weight:700; font-size:13px; letter-spacing:.05em; text-transform:uppercase; border-radius:3px;}
.btn-amber{ background:var(--amber); color:var(--charcoal); }
.btn-outline{ border:1.5px solid rgba(255,255,255,.55); color:#fff; }
.btn-cobalt{ background:var(--cobalt); color:#fff; }

/* stats */
.stats{ background:var(--charcoal); color:#fff; }
.stats .wrap{ display:flex; padding:30px 32px; flex-wrap:wrap; }
.stat{ flex:1; min-width:130px; text-align:center; border-right:1px solid rgba(255,255,255,.12); padding:6px 0;}
.stat:last-child{ border-right:none; }
.stat .num{ font-family:var(--display); font-size:34px; color:var(--amber); }
.stat .label{ font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:#B9C2CE; margin-top:4px;}

/* sections */
section{ padding:80px 0; }
.section-head{ max-width:600px; margin-bottom:44px; }
.section-head h2{ font-size:32px; margin-top:10px; }
.section-head p{ color:#555; margin-top:12px; font-size:15.5px; }
.head-row{ display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:16px;}

/* services */
.services{ background:var(--concrete); }
.svc-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.svc-card{ background:var(--paper); padding:24px 16px; border-radius:4px; border-top:3px solid var(--cobalt);}
.svc-card .ic{ width:30px; height:30px; margin-bottom:12px; color:var(--cobalt); }
.svc-card h3{ font-size:14px; letter-spacing:.02em; margin-bottom:6px;}
.svc-card p{ font-size:13px; color:#5B6472; }
@media(max-width:980px){ .svc-grid{ grid-template-columns:repeat(2,1fr);} }

/* projects */
.proj-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:22px; }
.proj-card{ border-radius:4px; overflow:hidden; background:#fff; border:1px solid var(--line); }
.proj-photo{ height:190px; overflow:hidden; }
.proj-photo img{ width:100%; height:100%; object-fit:cover; }
.proj-body{ padding:18px 20px; }
.proj-body .tag{ font-size:11px; color:var(--cobalt); font-weight:700; letter-spacing:.06em; text-transform:uppercase;}
.proj-body h3{ font-size:16.5px; margin:8px 0 6px; font-family:var(--body); font-weight:700; text-transform:none; letter-spacing:0;}
.proj-body p{ font-size:13.5px; color:#5B6472; }
@media(max-width:980px){ .proj-grid{grid-template-columns:1fr; } }

.proj-photo.placeholder{
  display:flex; align-items:center; justify-content:center;
  background: repeating-linear-gradient(135deg, #E4E8EC 0 2px, #EFF2F5 2px 26px);
}
.proj-photo.placeholder span{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#8A93A0; background:rgba(255,255,255,.85); padding:5px 10px; border-radius:20px; }
.proj-body .addr{ font-size:12px; color:#8A93A0; margin-top:2px; }

/* fresh off the job site strip */
.fresh{ background:var(--charcoal); }
.fresh .section-head{ max-width:720px; }
.fresh .section-head h2{ font-size:44px; margin-top:12px; }
.fresh .section-head p{ font-size:17px; line-height:1.6; }
.fresh .section-head .eyebrow{ color:var(--amber); }
.fresh .section-head h2, .fresh .section-head p{ color:#fff; }
.fresh .section-head p{ color:#B9C2CE; }
.carousel-3d-stage{
  perspective:950px; perspective-origin:50% 15%;
  height:400px; display:flex; align-items:center; justify-content:center;
  margin:30px auto 10px; position:relative; max-width:1100px;
}
.carousel-3d-stage::before{
  content:""; position:absolute; inset:-20px; z-index:0;
  background:radial-gradient(ellipse at center, rgba(232,163,61,.16), transparent 70%);
}
.carousel-3d-ring{ position:relative; width:260px; height:185px; transform-style:preserve-3d; animation:spin3d 38s linear infinite; }
.carousel-3d-stage:hover .carousel-3d-ring{ animation-play-state:paused; }
@keyframes spin3d{ from{ transform:rotateY(0deg); } to{ transform:rotateY(360deg); } }
.carousel-3d-ring .strip-item{
  position:absolute; top:0; left:0; width:260px; height:185px;
  border-radius:6px; overflow:hidden; display:block; color:inherit; text-decoration:none;
  box-shadow:0 16px 34px rgba(0,0,0,.5); border:2px solid rgba(255,255,255,.12);
  backface-visibility:hidden; transition:box-shadow .2s, border-color .2s;
}
.carousel-3d-ring .strip-item:hover{ box-shadow:0 20px 40px rgba(232,163,61,.55); border-color:var(--amber); z-index:5; }
.carousel-3d-ring .strip-item:nth-child(1){ transform:rotateY(0deg) translateZ(330px); }
.carousel-3d-ring .strip-item:nth-child(2){ transform:rotateY(45deg) translateZ(330px); }
.carousel-3d-ring .strip-item:nth-child(3){ transform:rotateY(90deg) translateZ(330px); }
.carousel-3d-ring .strip-item:nth-child(4){ transform:rotateY(135deg) translateZ(330px); }
.carousel-3d-ring .strip-item:nth-child(5){ transform:rotateY(180deg) translateZ(330px); }
.carousel-3d-ring .strip-item:nth-child(6){ transform:rotateY(225deg) translateZ(330px); }
.carousel-3d-ring .strip-item:nth-child(7){ transform:rotateY(270deg) translateZ(330px); }
.carousel-3d-ring .strip-item:nth-child(8){ transform:rotateY(315deg) translateZ(330px); }
@media(max-width:860px){
  .carousel-3d-stage{ height:280px; perspective:750px; }
  .carousel-3d-ring{ width:180px; height:128px; }
  .carousel-3d-ring .strip-item{ width:180px; height:128px; }
  .carousel-3d-ring .strip-item:nth-child(1){ transform:rotateY(0deg) translateZ(230px); }
  .carousel-3d-ring .strip-item:nth-child(2){ transform:rotateY(45deg) translateZ(230px); }
  .carousel-3d-ring .strip-item:nth-child(3){ transform:rotateY(90deg) translateZ(230px); }
  .carousel-3d-ring .strip-item:nth-child(4){ transform:rotateY(135deg) translateZ(230px); }
  .carousel-3d-ring .strip-item:nth-child(5){ transform:rotateY(180deg) translateZ(230px); }
  .carousel-3d-ring .strip-item:nth-child(6){ transform:rotateY(225deg) translateZ(230px); }
  .carousel-3d-ring .strip-item:nth-child(7){ transform:rotateY(270deg) translateZ(230px); }
  .carousel-3d-ring .strip-item:nth-child(8){ transform:rotateY(315deg) translateZ(230px); }
}
.strip-item img{ width:100%; height:100%; object-fit:cover; }
.strip-item span{ position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent, rgba(0,0,0,.8)); color:#fff; font-size:11px; padding:16px 10px 8px; letter-spacing:.03em; }

/* testimonials */
.testi{ background:var(--cobalt); color:#fff; position:relative; overflow:hidden;}
.testi .contours{ position:absolute; inset:0; opacity:.10; }
.testi .section-head p{ color:#C9D5E6; }
.testi .section-head .eyebrow{ color:var(--amber); }
.testi-grid{ display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:26px 30px; position:relative; padding:14px 6px 44px; }
.quote-card{ background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:4px; padding:30px; flex:0 1 320px; transition:transform .2s; }
.quote-card.compact{ flex:0 1 190px; padding:20px 22px; }
.quote-card:hover{ transform:rotate(0deg) translateY(-5px); }
.quote-card .mark{ font-family:var(--display); font-size:40px; color:var(--amber); line-height:1;}
.quote-card.compact .mark{ font-size:28px; }
.quote-card p.q{ font-size:17px; margin:8px 0 16px; color:#EDF1F7; }
.quote-card.compact p.q{ font-size:15px; margin:6px 0 10px; }
.quote-card .who{ font-size:13px; font-weight:700; letter-spacing:.03em; }
.quote-card:nth-child(1){ margin-top:36px; transform:rotate(-2.5deg); }
.quote-card:nth-child(2){ margin-top:-10px; transform:rotate(2deg); }
.quote-card:nth-child(3){ margin-top:0; transform:rotate(0deg); }
.quote-card:nth-child(4){ margin-top:-10px; transform:rotate(-2deg); }
.quote-card:nth-child(5){ margin-top:36px; transform:rotate(2.5deg); }
@media(max-width:860px){ .testi-grid{ gap:18px 20px; } }
@media(max-width:600px){
  .testi-grid{ flex-direction:column; align-items:stretch; }
  .quote-card, .quote-card.compact{ margin-top:0 !important; transform:none !important; flex:1 1 auto; }
}

/* blog */
.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.blog-card{ border:1px solid var(--line); border-radius:4px; padding:22px; background:#fff;}
.blog-card h3{ font-size:16px; font-family:var(--body); font-weight:700; text-transform:none; letter-spacing:0; margin:10px 0 8px; }
.blog-card p{ font-size:13.5px; color:#5B6472; }
@media(max-width:980px){ .blog-grid{grid-template-columns:1fr;} }

.social-row{ display:flex; gap:10px; margin-top:14px; }
.social-icon{
  width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18); display:flex; align-items:center; justify-content:center;
  transition:background .15s, border-color .15s;
}
.social-icon:hover{ background:var(--amber); border-color:var(--amber); }
.social-icon:hover svg{ stroke:var(--charcoal); fill:var(--charcoal); }
.social-icon svg{ width:16px; height:16px; stroke:#C9CFD8; fill:#C9CFD8; }

/* what we build section */
.build-section{ background:var(--concrete); }
.build-grid{ display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:start; }
.build-text .eyebrow{ margin-bottom:14px; }
.build-text h2{ font-size:32px; margin-bottom:14px; }
.build-text .sub{ font-family:var(--body); font-weight:700; color:var(--steel); font-size:14px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:16px; }
.build-text p{ font-size:15px; color:#444; margin-bottom:22px; }
.checklist{ list-style:none; }
.checklist li{ display:flex; align-items:center; gap:12px; font-size:15px; color:#333; font-weight:600; margin-bottom:14px; }
.checklist .check{ width:24px; height:24px; border-radius:50%; background:var(--cobalt); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.checklist .check svg{ width:13px; height:13px; }

.build-cards{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.build-cards .col-offset{ margin-top:36px; }
.build-card{ background:#fff; border-radius:4px; overflow:hidden; box-shadow:0 6px 20px rgba(33,37,43,.08); }
.build-card .photo{ height:150px; overflow:hidden; }
.build-card .photo img{ width:100%; height:100%; object-fit:cover; }
.build-card .photo.placeholder{
  display:flex; align-items:center; justify-content:center;
  background: repeating-linear-gradient(135deg, #E4E8EC 0 2px, #EFF2F5 2px 26px);
}
.build-card .photo.placeholder span{ font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#8A93A0; background:rgba(255,255,255,.85); padding:5px 10px; border-radius:20px; }
.build-card .cap{ padding:16px 18px 18px; }
.build-card h3{ font-family:var(--body); font-weight:700; text-transform:none; letter-spacing:0; font-size:15.5px; color:var(--charcoal); margin-bottom:10px; }
.build-card .learn{ display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--cobalt); }
@media(max-width:900px){ .build-grid{grid-template-columns:1fr;} .build-cards .col-offset{margin-top:0;} }

/* contact page */
.contact-grid{ display:grid; grid-template-columns:1.4fr 1fr; gap:44px; align-items:start; }
.contact-info h4{ font-family:var(--display); text-transform:uppercase; font-size:14px; color:var(--cobalt); margin:22px 0 8px; }
.contact-info h4:first-child{ margin-top:0; }
.contact-info p{ font-size:14.5px; color:#444; margin-bottom:4px; }
@media(max-width:860px){ .contact-grid{grid-template-columns:1fr;} }

.process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:8px; }
.process-step{ position:relative; padding-top:8px; }
.process-step .num{ font-family:var(--display); font-size:32px; color:var(--amber); line-height:1; margin-bottom:10px; }
.process-step h3{ font-size:14px; font-family:var(--body); font-weight:700; text-transform:none; letter-spacing:0; margin-bottom:6px; }
.process-step p{ font-size:13px; color:#5B6472; }
@media(max-width:780px){ .process-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:520px){ .process-grid{grid-template-columns:1fr;} }

.project-team{ background:var(--concrete); border-radius:6px; padding:20px 24px; margin-top:8px; }
.project-team h3{ font-family:var(--display); text-transform:uppercase; font-size:14px; color:var(--cobalt); margin-bottom:8px; }
.project-team p{ font-size:14px; color:#444; margin-bottom:0 !important; }

.project-photo-main-placeholder{
  width:100%; height:420px; border-radius:6px; margin-top:-70px; box-shadow:0 20px 40px rgba(20,38,63,.25);
  position:relative; z-index:2; display:flex; align-items:center; justify-content:center;
  background: repeating-linear-gradient(135deg, #E4E8EC 0 2px, #EFF2F5 2px 26px);
}
.project-photo-main-placeholder span{ font-size:13px; letter-spacing:.06em; text-transform:uppercase; color:#8A93A0; background:rgba(255,255,255,.9); padding:8px 16px; border-radius:20px; }

/* project detail pages */
.project-photo-main{ width:100%; max-height:520px; object-fit:cover; border-radius:6px; margin-top:-70px; box-shadow:0 20px 40px rgba(20,38,63,.25); position:relative; z-index:2; }
.project-detail-body{ padding-top:48px; }
.project-detail-body p{ font-size:16px; color:#3a3f45; margin-bottom:16px; line-height:1.7; }
.source-note{ display:inline-flex; align-items:center; gap:8px; background:var(--concrete); border-radius:20px; padding:7px 14px; font-size:12.5px; font-weight:700; color:var(--cobalt); letter-spacing:.02em; margin-bottom:24px; }
.project-gallery{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:16px; margin-top:12px; }
.project-gallery img{ width:100%; height:200px; object-fit:cover; border-radius:4px; }
.project-meta{ display:flex; gap:28px; flex-wrap:wrap; margin:28px 0 8px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.project-meta div{ font-size:13px; }
.project-meta .k{ text-transform:uppercase; letter-spacing:.06em; color:#8A93A0; font-weight:700; font-size:11px; margin-bottom:3px; }
.project-meta .v{ color:var(--charcoal); font-weight:600; }
.view-link{ font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--cobalt); display:inline-flex; align-items:center; gap:4px; margin-top:10px; }
.proj-body .view-link{ display:inline-flex; }

.partners-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:24px; }
.partner-badge{ display:flex; flex-direction:column; align-items:center; gap:10px; text-decoration:none; color:inherit; padding:24px 16px; border:1px solid var(--line); border-radius:6px; transition:box-shadow .2s, transform .2s, border-color .2s; text-align:center; }
.partner-badge:hover{ box-shadow:0 10px 24px rgba(20,38,63,.12); transform:translateY(-3px); border-color:var(--cobalt); }
.partner-badge .badge-icon{ width:56px; height:56px; }
.partner-badge .badge-name{ font-family:var(--display); font-size:13px; text-transform:uppercase; letter-spacing:.03em; color:var(--charcoal); line-height:1.3; }

/* application form */
.apply-form{ background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:30px; margin-top:36px; }
.apply-form h3{ font-family:var(--display); text-transform:uppercase; font-size:16px; margin-bottom:6px; }
.apply-form > p{ font-size:13.5px; color:#5B6472; margin-bottom:22px; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.form-field{ display:flex; flex-direction:column; gap:6px; }
.form-field.full{ grid-column:1 / -1; }
.form-field label{ font-size:12.5px; font-weight:600; color:var(--charcoal); letter-spacing:.02em; }
.form-field .hint{ font-size:11.5px; font-weight:400; color:#8A93A0; }
.form-field input[type="text"],
.form-field input[type="email"],
.form-field input[type="tel"],
.form-field input[type="date"],
.form-field select,
.form-field textarea{
  font-family: var(--body); font-size:14px; padding:10px 12px;
  border:1px solid #CBD1D8; border-radius:4px; background:#fff; color:var(--charcoal);
}
.form-field textarea{ resize:vertical; min-height:90px; }
.radio-row{ display:flex; gap:22px; margin-top:2px; }
.radio-row label{ display:flex; align-items:center; gap:6px; font-size:13.5px; font-weight:400; color:#444; }
.form-submit-row{ display:flex; align-items:center; gap:16px; margin-top:22px; flex-wrap:wrap; }
.form-submit-row button{ font-family:var(--body); border:none; cursor:pointer; }
.pdf-fallback{ font-size:12.5px; color:#8A93A0; }
.pdf-fallback a{ color:var(--cobalt); font-weight:600; }
@media(max-width:640px){ .form-row{grid-template-columns:1fr;} }

.form-field input[type="file"]{
  font-family: var(--body); font-size:13.5px; padding:9px 12px;
  border:1px dashed #CBD1D8; border-radius:4px; background:#fbfbfa; color:#5B6472;
}
.form-field .hint-line{ font-size:11.5px; color:#8A93A0; margin-top:3px; }

/* careers */
.job-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:20px; }
.job-card{ background:var(--paper); border:1px solid var(--line); border-radius:4px; padding:24px; border-top:3px solid var(--cobalt); }
.job-card h3{ font-size:16px; font-family:var(--body); font-weight:700; text-transform:none; letter-spacing:0; margin-bottom:8px;}
.job-card p{ font-size:13.5px; color:#5B6472; margin-bottom:14px; }
.job-card a.btn{ padding:9px 16px; font-size:12px; }

.job-hero{ background:var(--cobalt); color:#fff; padding:60px 0 50px; }
.job-hero .eyebrow{ color:var(--amber); }
.job-hero h1{ font-size:34px; margin-top:12px; }
.job-detail{ padding:60px 0; }
.job-detail .wrap{ max-width:760px; }
.job-detail h2{ font-size:20px; margin:28px 0 12px; }
.job-detail h2:first-child{ margin-top:0; }
.job-detail ul{ padding-left:20px; margin-bottom:8px; }
.job-detail li{ font-size:15px; color:#444; margin-bottom:6px; line-height:1.5; }
.job-detail p{ font-size:15px; color:#444; margin-bottom:8px; }
.apply-box{ background:var(--concrete); border-radius:6px; padding:28px; margin-top:36px; }
.apply-box h3{ font-family:var(--display); text-transform:uppercase; font-size:16px; margin-bottom:10px; }
.apply-box p{ font-size:13.5px; color:#5B6472; margin-bottom:16px; }

/* about page */
.about-hero{ background:var(--cobalt); color:#fff; padding:70px 0 60px; position:relative; overflow:hidden;}
.about-hero .contours{ position:absolute; inset:0; opacity:.15; }
.about-hero .wrap{ position:relative; max-width:720px; }
.about-hero .eyebrow{ color:var(--amber); }
.about-hero h1{ font-size:40px; margin:14px 0 16px; }
.about-hero p{ font-size:16.5px; color:#DCE4F0; }
.about-intro{ padding:70px 0 20px; }
.about-intro .wrap{ max-width:800px; }
.about-intro p{ font-size:16px; color:#444; margin-bottom:16px; }
.pillar-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px 40px; margin-top:20px; }
.pillar-card{ display:flex; gap:18px; }
.pillar-card .ic{ width:44px; height:44px; flex-shrink:0; color:var(--cobalt); background:var(--concrete); border-radius:6px; padding:9px; }
.pillar-card h3{ font-size:16px; margin-bottom:8px; letter-spacing:.02em; }
.pillar-card p{ font-size:14.5px; color:#5B6472; }
@media(max-width:820px){ .pillar-grid{grid-template-columns:1fr;} }
.cta-banner{ background:var(--amber); text-align:center; padding:60px 32px; }
.cta-banner h2{ font-size:28px; color:var(--charcoal); }
.cta-banner p{ margin:10px auto 24px; max-width:480px; color:#4A3A1D; }
.cta-banner .btn-amber{ background:var(--charcoal); color:#fff; }

/* footer */
footer{ background:var(--charcoal); color:#C9CFD8; padding:56px 0 26px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; }
.foot-grid h4{ color:#fff; font-family:var(--body); font-size:13.5px; letter-spacing:.04em; text-transform:uppercase; margin-bottom:14px;}
.foot-grid p, .foot-grid li{ font-size:13.5px; margin-bottom:8px; color:#AFB7C2;}
.foot-grid ul{ list-style:none; }
.foot-logo{ display:flex; align-items:center; gap:10px; font-family:var(--display); font-size:18px; color:#fff; margin-bottom:12px;}
.foot-logo .mark{ width:26px; height:26px; border-radius:4px; background:var(--amber); display:flex; align-items:center; justify-content:center;}
.foot-logo .mark svg{ width:15px; height:15px; }
.foot-bottom{ border-top:1px solid rgba(255,255,255,.1); margin-top:40px; padding-top:20px; font-size:12px; color:#7C8794; text-align:center;}
@media(max-width:880px){ .foot-grid{grid-template-columns:1fr 1fr;} }
