:root{
  --bg:#fbfaf7;
  --soft:#f2f1ed;
  --ink:#0b1713;
  --muted:#66706a;
  --line:#dedbd4;
  --accent:#12352c;
  --container:1180px;
  --pad:clamp(22px,5vw,72px);
  --serif:Georgia,'Times New Roman',serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
*{box-sizing:border-box}

.site-main {
    flex: 1;
}

.site-footer {
    margin-top: auto;
}
html{
    height: 100%;
scroll-behavior:smooth;
    
}
body{
    margin:0;
    min-height: 100vh;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background:var(--bg);color:var(--ink);
    font-family:var(--sans);
    font-size:16px;line-height:1.6;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.arce-container{width:100%;max-width:calc(var(--container) + var(--pad) * 2);margin:0 auto;padding-inline:var(--pad)}
.arce-narrow{max-width:920px}
.site-header{border-bottom:1px solid var(--line);background:rgba(251,250,247,.96);position:sticky;top:0;z-index:30;backdrop-filter:saturate(180%) blur(8px)}
.site-header__inner{height:108px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.site-logo{display:flex;flex-direction:column;gap:10px;min-width:250px}
.site-logo img{width:190px;max-height:54px;object-fit:contain}
.site-logo span{font-size:14px;color:var(--muted)}
.site-nav ul{display:flex;gap:54px;list-style:none;margin:0;padding:0;align-items:center}
.site-nav a{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.site-nav a:hover{color:var(--accent)}

.menu-toggle{
    display:none;
    width:42px;
    height:42px;
    padding:0;
    border:0;
    background:none;
    cursor:pointer;
    position:relative;
}

.menu-toggle span,
.menu-toggle::before,
.menu-toggle::after{
    content:"";
    position:absolute;
    left:8px;
    width:26px;
    height:2px;
    background:var(--ink);
    transition:.25s ease;
}

.menu-toggle::before{
    top:12px;
}

.menu-toggle span{
    top:20px;
}

.menu-toggle::after{
    top:28px;
}
.arce-section{padding:clamp(52px,4vw,96px) 0;}
.arce-section--soft{background:var(--soft)}
.arce-section-label{font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:800;margin-bottom:24px}
.arce-section-description{max-width:720px;color:var(--muted);font-size:18px;margin:0 0 24px}
.arce-section-line{height:1px;background:var(--line);width:100%;margin:0 0 32px}
.arce-hero{position:relative;overflow:hidden;}
.arce-hero--home{min-height:720px;display:flex;align-items:center}
.arce-hero--page{padding:88px 0 64px}
.arce-hero:after{
    content:"";
    position:absolute;
    right:-180px;
    top:min(-5vw, 0px);
    bottom:min(-5vw, 0px);
    width:min(65vw, 700px);
    aspect-ratio:1;
    background:url("../img/arce-planet.png") center/contain no-repeat;
    opacity:.6;
    pointer-events:none;
}
.arce-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:center}
.arce-hero__content{max-width:790px}
.arce-hero h1,.arce-page-title{font-size:clamp(56px,7vw,92px);line-height:1.02;letter-spacing:-.06em;font-weight:500;margin:0;color:var(--ink)}
.arce-hero--home h1{font-family:var(--serif);color:var(--accent);max-width:770px;font-size:clamp(58px,6.5vw,86px)}
.arce-hero p{margin:48px 0 0;padding-left:34px;border-left:2px solid var(--accent);max-width:590px;color:#27312d;font-size:18px;line-height:1.7}
.arce-hero--page p{border-left:0;padding-left:0;margin-top:24px;color:var(--muted);font-size:20px}
.arce-hero__image{justify-self:end;opacity:.18;filter:grayscale(1)}
.arce-projects .arce-section-line{margin-bottom: 64px;height:2px;width:7%;background:#12352c;}
.arce-logo-slider{position:relative;margin-top:0}
.arce-logo-slider__viewport{overflow:hidden;width:100%}
.arce-logo-slider__track{display:flex;transition:transform .7s ease;will-change:transform}
.arce-logo-slide{flex:0 0 20%;min-width:0;min-height:82px;display:flex;align-items:center;justify-content:center;padding:16px 32px;border-left:1px solid var(--line)}
.arce-logo-slide:first-child{border-left:0}
.arce-logo-slide img{max-height:46px;max-width:160px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.86}
.arce-logo-slide span{font-size:24px;font-weight:800;filter:grayscale(1);opacity:.8}
.arce-logo-slider__nav{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}
.arce-logo-slider__nav button{width:42px;height:42px;border:1px solid var(--line);background:transparent;color:var(--accent);font-size:20px;line-height:0.99;cursor:pointer}
.arce-logo-slider__nav button:hover{border-color:var(--accent)}
.arce-card-grid{display:grid;grid-template-columns:repeat(var(--desktop-cols),minmax(0,1fr));gap:0}
.arce-card{position:relative;padding:0 20px;border-right:1px solid var(--line);align-content: center;}
.arce-card:last-child{border-right:0}
.arce-card h3{font-size:16px;line-height:1.35;max-width:190px;font-weight:600}
.arce-card p{font-size:14px;color:var(--muted);margin:0;max-width:220px}
.arce-timeline{border-top:0}
.arce-stage{display:grid;grid-template-columns:110px 240px 1fr;gap:36px;padding:30px 0;border-bottom:1px solid var(--line);align-items: center;}
.arce-stage:first-child{padding-top:0}
.arce-stage:last-child {
    border: none;
}
.arce-stage__num{font-family:var(--serif);font-size:42px;line-height:1;color:var(--ink)}
.arce-stage h3{font-size:24px;line-height:1.2;margin:0;font-weight:600}
.arce-stage ul{margin:0;padding-left:20px;color:var(--muted)}
.arce-stage li{margin:0 0 5px}
.arce-cta{text-align:center;background:var(--bg)}
.arce-cta h2{font-size:clamp(38px,5vw,68px);line-height:1.05;letter-spacing:-.045em;font-weight:500;margin:0 auto 22px;max-width:860px}
.arce-cta p{margin:0 auto;color:var(--muted);font-size:18px;max-width:620px}
.arce-button{display:inline-block;margin-top:32px;border:1px solid var(--accent);padding:14px 24px;text-transform:uppercase;letter-spacing:.1em;font-size:12px;color:var(--accent)}
.arce-button:hover{background:var(--accent);color:var(--bg)}
.arce-contact-page h1{font-size:clamp(56px,7vw,92px);line-height:1;letter-spacing:-.06em;font-weight:500;margin:0 0 90px}
.arce-contact-row{padding:32px 0;border-bottom:1px solid var(--line)}
.arce-contact-row:last-child {
    border: none;
}
.arce-contact-row small{display:block;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:var(--accent);margin-bottom:10px}
.arce-contact-row a,.arce-contact-row span{font-size:24px;word-break:break-word}

.site-footer {
  border-top: 1px solid var(--line);
  padding: 38px 0;
  background: var(--bg);
}

.site-footer__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
}

.site-footer__item {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: var(--muted);
  font-size: 14px;
  border-right: 1px solid var(--line);
}

.site-footer__item:last-child {
  border-right: 0;
}

.site-footer__icon {
  width: 22px;
  height: 22px;
  border: 1px solid var(--accent);
  color: var(--accent);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
}

@media (max-width: 720px) {
  .site-footer__row {
    grid-template-columns: 1fr;
  }

  .site-footer__item {
    justify-content: flex-start;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 18px 0;
  }

  .site-footer__item:last-child {
    border-bottom: 0;
  }
}

.footer-logo img{width:150px;opacity:.95}
.arce-default-page{min-height:55vh}.arce-content{max-width:760px;color:var(--muted);font-size:18px}.arce-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.arce-post-card{border-top:1px solid var(--line);padding-top:22px}.arce-post-card h2{font-size:26px;line-height:1.2}.arce-post-card p{color:var(--muted)}.arce-post-thumb{margin:40px 0}.arce-content h2{color:var(--ink);font-size:36px;line-height:1.15}.arce-content p{margin:0 0 1.2em}
@media(max-width:1024px){.site-header__inner{height:92px}.arce-hero--home{min-height:620px}.arce-hero__inner{grid-template-columns:1fr}.arce-hero__image{display:none}.arce-logo-slide{flex-basis:33.3333%}.arce-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.arce-card{border-bottom:1px solid var(--line)}.arce-stage{grid-template-columns:86px 180px 1fr;gap:24px}.site-footer__grid{grid-template-columns:1fr 1fr}.arce-post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){body{font-size:15px}.site-header__inner{height:74px}.site-logo img{width:138px}.site-logo span{display: none}.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:74px;background:var(--bg);border-bottom:1px solid var(--line);padding:20px var(--pad)}.site-nav.is-open{display:block}.site-nav ul{display:block}.site-nav li{border-bottom:1px solid var(--line)}.site-nav a{display:block;padding:16px 0}.arce-section{padding:56px 0}.arce-hero--home{min-height:560px;align-items:flex-start;padding-top:70px}.arce-hero--page{padding:58px 0 78px}.arce-hero:after{width:320px;height:320px;right:-150px;top:130px}.arce-hero h1,.arce-page-title{font-size:clamp(42px,12vw,56px);letter-spacing:-.05em}.arce-hero--home h1{font-size:clamp(42px,12vw,54px)}.arce-hero p{margin-top:32px;padding-left:18px;font-size:15px}.arce-hero--page p{padding-left:0;font-size:17px}.arce-logo-slide{flex-basis:50%;padding:12px 18px;min-height:76px}.arce-logo-slide img{max-height:34px;max-width:120px}.arce-logo-slider__nav{justify-content:flex-start}.arce-card-grid{grid-template-columns:1fr}.arce-card{border-right:0;padding:24px 0;min-height:auto}.arce-stage{grid-template-columns:1fr;gap:10px}.arce-stage__num{font-size:34px}.arce-contact-page h1{margin-bottom:56px}.arce-contact-row a,.arce-contact-row span{font-size:20px}.site-footer__grid{grid-template-columns:1fr;gap:28px}.arce-post-grid{grid-template-columns:1fr}}
/* =========================
   RESPONSIVE FIX
========================= */

html,
body {
  width: 100%;
  overflow-x: hidden;
}

@media (max-width: 1024px) {
  :root {
    --pad: 32px;
  }

  .arce-container {
    max-width: 100%;
    padding-left: var(--pad);
    padding-right: var(--pad);
  }

  .site-header__inner {
    height: 96px;
  }

  .site-logo {
    min-width: 0;
  }

  .site-logo img {
    width: 138px;
  }

  .site-logo span {
    /*display: none;*/
    font-size: 13px;
  }

  .site-nav ul {
    gap: 28px;
  }

  .arce-hero__inner {
    display: block;
  }

  .arce-hero--page {
    padding: 56px 0 72px;
  }

  .arce-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  :root {
    --pad: 22px;
  }

  .site-header {
    position: sticky;
  }

  .site-header__inner {
    height: 72px;
  }

  .site-logo img {
    width: 118px;
  }

  .menu-toggle {
    display: block;
  }

  .site-nav {
    display: none;
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    width: 100%;
    background: var(--bg);
    border-bottom: 1px solid var(--line);
    padding: 16px var(--pad);
  }

  .site-nav.is-open {
    display: block;
  }

  .site-nav ul {
    display: block;
  }

  .site-nav li {
    border-bottom: 1px solid var(--line);
  }

  .site-nav li:last-child {
    border-bottom: 0;
  }

  .site-nav a {
    display: block;
    padding: 15px 0;
    font-size: 12px;
  }

  .arce-section {
    padding: 48px 0;
  }

  .arce-hero--home {
    min-height: auto;
    padding: 58px 0 72px;
  }

  .arce-hero--page {
    padding: 50px 0 64px;
  }

  .arce-hero:after {
    right: -150px;
    top: -40px;
  }

  .arce-hero h1,
  .arce-page-title,
  .arce-hero--home h1 {
    font-size: clamp(40px, 12vw, 52px);
    line-height: 1.04;
    letter-spacing: -0.05em;
    max-width: 100%;
  }

  .arce-hero p {
    margin-top: 28px;
    padding-left: 18px;
    font-size: 15px;
    line-height: 1.6;
    max-width: 100%;
  }

  .arce-hero--page p {
    padding-left: 0;
    font-size: 17px;
  }

  .arce-logo-slide {
    flex: 0 0 50%;
    min-height: 72px;
    padding: 12px 18px;
  }

  .arce-logo-slide img {
    max-width: 118px;
    max-height: 34px;
  }

  .arce-logo-slider__nav {
    justify-content: flex-start;
    margin-top: 22px;
  }

  .arce-card-grid {
    grid-template-columns: 1fr;
  }

  .arce-card {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 22px 0;
    min-height: auto;
  }

  .arce-card h3 {
    max-width: 100%;
  }

  .arce-card p {
    max-width: 100%;
  }

  .arce-stage {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 24px 0;
  }

  .arce-stage__num {
    font-size: 34px;
  }

  .arce-stage h3 {
    font-size: 22px;
  }

  .arce-contact-page h1 {
    margin-bottom: 48px;
  }

  .arce-contact-row a,
  .arce-contact-row span {
    font-size: 20px;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* Desktop */
.site-nav .current-menu-item > a,
.site-nav .current_page_item > a,
.site-nav .current-menu-parent > a,
.site-nav .current-menu-ancestor > a{
    position: relative;
}

.site-nav .current-menu-item > a::after,
.site-nav .current_page_item > a::after,
.site-nav .current-menu-parent > a::after,
.site-nav .current-menu-ancestor > a::after{
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-18px;
    width:100%;
    height:1px;
    background:var(--ink);
}

/* Mobile */
@media (max-width:720px){

    .site-nav .current-menu-item > a,
    .site-nav .current_page_item > a,
    .site-nav .current-menu-parent > a,
    .site-nav .current-menu-ancestor > a{
        font-weight:700;
    }

    .site-nav .current-menu-item > a::after,
    .site-nav .current_page_item > a::after,
    .site-nav .current-menu-parent > a::after,
    .site-nav .current-menu-ancestor > a::after{
        display:none;
    }
}
/* Plain Hero (Contact etc.) */

.arce-hero--plain::after{
    display:none;
}

.arce-hero--plain .arce-hero__inner{
    display:block;
}

.arce-hero--plain .arce-hero__content{
    max-width:900px;
}

.arce-hero--plain p{
    border-left:0;
    padding-left:0;
    margin-top:24px;
    color:var(--muted);
}