:root {
  --font-display: "Aptos Display", "Segoe UI Variable Display", "Segoe UI", Helvetica, Arial, sans-serif;
  --font-body: "Aptos", "Segoe UI Variable Text", "Segoe UI", Helvetica, Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--font-body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-display) !important;
  font-optical-sizing: auto;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

body {
  font-optical-sizing: auto;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

p,
li,
label,
input,
select,
textarea {
  letter-spacing: 0.005em;
}

button,
.btn,
[class*="button"],
.menu,
nav {
  font-weight: 600;
  letter-spacing: 0.01em;
}

code,
pre,
kbd,
samp {
  font-family: "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace !important;
}


/* Compact site footer */
.footer {
  position: relative;
  padding: 2.4rem 0 0 !important;
  background: linear-gradient(135deg, #243a31 0%, #3a5b4b 72%, #4b5743 100%) !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
  border-top: 3px solid #be7f1d;
}
.footer__grid {
  grid-template-columns: 1.35fr 0.8fr 1fr 1.25fr !important;
  gap: clamp(1.25rem, 2.5vw, 2.25rem) !important;
  margin-bottom: 1.6rem !important;
  padding: 0 clamp(1.25rem, 3vw, 3rem) !important;
}
.footer__col,
.footer__about { padding: 0 !important; }
.footer__logo img { max-width: 140px !important; }
.footer__about-text {
  max-width: 32rem;
  margin: 0.75rem 0 0 !important;
  line-height: 1.55 !important;
  opacity: 0.82 !important;
}
.footer__title {
  margin: 0 0 0.85rem !important;
  padding-bottom: 0.45rem !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.045em !important;
}
.footer__title::after {
  width: 28px !important;
  height: 2px !important;
  background: #be7f1d !important;
}
.footer__links li {
  min-height: 0 !important;
  margin-bottom: 0.35rem !important;
}
.footer__links a {
  padding: 0.1rem 0 !important;
  opacity: 0.82 !important;
}
.footer__links a::after {
  height: 1px !important;
  background: #d3c097 !important;
}
.footer__contact-item {
  margin-bottom: 0.65rem !important;
  line-height: 1.45 !important;
}
.footer__contact-item svg {
  width: 17px;
  height: 17px;
  margin-right: 0.65rem !important;
  color: #d3c097 !important;
}
.footer__social {
  gap: 0.55rem !important;
  margin-top: 0.85rem !important;
}
.footer__social a {
  width: 32px !important;
  height: 32px !important;
  box-shadow: none !important;
}
.footer__social a:hover {
  background: #be7f1d !important;
  transform: translateY(-2px) !important;
}
.footer__bottom {
  min-height: 0 !important;
  padding: 0.8rem clamp(1.25rem, 3vw, 3rem) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  gap: 0.75rem !important;
}
.footer__copyright,
.footer__legal { font-size: 0.8rem !important; }
.footer__legal { gap: 0.75rem !important; }
.footer__legal a { padding: 0.1rem 0.25rem !important; }

@media (max-width: 767px) {
  .footer { padding-top: 1.75rem !important; }
  .footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.35rem 1.25rem !important;
    margin-bottom: 1.25rem !important;
  }
  .footer__about,
  .footer__col:last-child { grid-column: 1 / -1; }
  .footer__col {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }
  .footer__social { display: flex !important; }
  .footer__bottom {
    padding-top: 0.75rem !important;
    padding-bottom: 0.9rem !important;
  }
}

@media (max-width: 480px) {
  .footer__grid { grid-template-columns: 1fr !important; }
  .footer__about,
  .footer__col:last-child { grid-column: auto; }
}

/* Footer bottom: compact edge-aligned layout */
.footer__bottom{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  width:100%!important;
  min-height:0!important;
  padding:.55rem clamp(1.25rem,3vw,3rem)!important;
  margin:0 auto!important;
  gap:1rem!important;
  text-align:left!important;
  box-sizing:border-box!important;
}
.footer__copyright{
  justify-self:start!important;
  width:auto!important;
  margin:0!important;
  text-align:left!important;
  white-space:normal!important;
  line-height:1.35!important;
}
.footer__legal{
  justify-self:end!important;
  width:auto!important;
  margin:0!important;
  justify-content:flex-end!important;
  text-align:right!important;
  white-space:nowrap!important;
}
@media(max-width:600px){
  .footer__bottom{grid-template-columns:1fr!important;padding:.55rem 1.1rem .65rem!important;gap:.3rem!important}
  .footer__copyright{justify-self:start!important}
  .footer__legal{justify-self:end!important}
}
/* Background-aware typography system - 2026-08 */
:root{
  --type-ink:#173b31;
  --type-body:#42564f;
  --type-muted:#65756f;
  --type-gold:#9a691c;
  --type-on-dark:#f7fbf8;
  --type-on-dark-muted:rgba(255,255,255,.86);
}

body{
  color:var(--type-body);
  font-size:16px;
  font-weight:400;
  line-height:1.68;
}

:where(main) :where(h1,h2,h3,h4,h5,h6){
  color:var(--type-ink);
  font-weight:750;
  line-height:1.16;
  letter-spacing:-.028em;
}

:where(main > section > .container > header h2,
       main > section > .container > .section-header h2,
       main > section > .container > .section-title,
       main > section > .container > h2){
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.08;
  letter-spacing:-.04em;
}

:where(main section) :where(p,li){
  color:var(--type-body);
}

:where(main section) :where(.subtitle,.section-description,.lead,.muted){
  color:var(--type-muted);
  font-size:clamp(1rem,1.4vw,1.12rem);
  line-height:1.72;
}

:where(main > section[class*="hero"],main > .page-header,main > section[class*="cta"],main > .final-cta) :where(h1,h2,h3){
  color:var(--type-on-dark);
}

:where(main > section[class*="hero"],main > .page-header,main > section[class*="cta"],main > .final-cta) :where(p,li){
  color:var(--type-on-dark-muted);
}

:where(main .kpi,main .culture-card__stats) :where(h2,h3,h4,.kpi__num,.kpi__label){
  color:#fff;
  text-shadow:0 2px 12px rgba(20,52,42,.18);
}

:where(main .enterprise-tile,main .inquiry-card--primary) :where(h2,h3,h4,p,li){
  color:#173b31;
  text-shadow:none;
}

:where(main article,main [class*="card"],main [class*="tile"]) :where(h3,h4){
  letter-spacing:-.02em;
}

:where(main a:not(.btn):not([class*="button"])){
  text-underline-offset:.18em;
  text-decoration-thickness:.08em;
}

::selection{
  background:rgba(211,192,151,.55);
  color:#12382f;
}

@media(max-width:600px){
  body{font-size:15.5px;line-height:1.64}
  :where(main > section > .container > header h2,
         main > section > .container > .section-header h2,
         main > section > .container > .section-title,
         main > section > .container > h2){font-size:clamp(1.8rem,8vw,2.45rem)}
}