/* look-roots.css — fanzine / brut / local */
:root{
  --ap-font-body:"IBM Plex Sans",sans-serif;
  --ap-font-display:"Bricolage Grotesque",sans-serif;

  --ap-primary:#e7dcc8;
  --ap-secondary:#d4c3a5;
  --ap-accent:#c64a2f;
  --ap-text:#17130f;
  --ap-muted:#5c5044;
  --ap-border:rgba(23,19,15,.16);

  --ap-surface-0:#f1e8d8;
  --ap-surface-1:#ede0cc;
  --ap-surface-2:#dfceb4;
  --ap-surface-3:#d2bc99;

  --ap-shadow:0 10px 0 rgba(23,19,15,.18);
  --ap-shadow-soft:0 8px 0 rgba(23,19,15,.14);
  --ap-shadow-tight:0 4px 0 rgba(23,19,15,.10);

  --ap-r-xl:6px;
  --ap-r-lg:4px;
  --ap-r-md:4px;
  --ap-r-sm:2px;

  --ap-h1:#17130f;
  --ap-h2:#31261d;
  --ap-h3:#3d2f24;
  --ap-link:#b84029;
}

.ap-body{
  background:
    linear-gradient(180deg,#e7dcc8 0%,#d3c09c 100%) !important;
  color:var(--ap-text) !important;
}

.ap-main{max-width:1240px !important;padding:18px 16px 36px !important;}

.ap-topbar{
  background:#17130f !important;
  border-bottom:4px solid #c64a2f !important;
  backdrop-filter:none !important;
}
.ap-brand,.ap-brand-name,.ap-nav-link,.ap-nav-label,.ap-drawer-title,.ap-drawer-link{color:#f2e9db !important;}

.ap-nav{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  gap:8px !important;
}
.ap-nav-link{
  background:#211913 !important;
  border:2px solid #3f3127 !important;
  border-radius:2px !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
  font-weight:800 !important;
}
.ap-nav-link:hover{background:#2a2018 !important;transform:translate(-1px,-1px) !important;}
.ap-nav-link.is-active{background:#c64a2f !important;border-color:#9e351f !important;}
.ap-nav-link.is-active,.ap-nav-link.is-active .ap-nav-label,.ap-nav-link.is-active .ap-ico-box{color:#fff !important;}
.ap-ico-box{
  background:#2a2018 !important;
  border-color:#4d3a2d !important;
  color:#f2e9db !important;
  border-radius:2px !important;
}
.ap-burger{
  color:#fff !important;
  background:#2a2018 !important;
  border:2px solid #4d3a2d !important;
  border-radius:2px !important;
}
.ap-drawer-panel{background:#17130f !important;border-left:4px solid #c64a2f !important;}
.ap-drawer-link{
  background:#221a14 !important;
  border:2px solid #3f3127 !important;
  border-radius:2px !important;
  text-transform:uppercase !important;
  letter-spacing:.04em !important;
}

.ap-home-hero,.ap-home-hero2{
  min-height:78vh !important;
  border-radius:4px !important;
  overflow:hidden !important;
  box-shadow:0 12px 0 rgba(23,19,15,.18) !important;
}
.ap-home-hero2-glow{
  background:
    radial-gradient(900px 420px at 18% 18%, rgba(255,255,255,.10), transparent 58%),
    linear-gradient(180deg, rgba(22,16,12,.34), rgba(22,16,12,.16)) !important;
}
.ap-home-h1,.ap-home-hero2 h1{
  font-family:var(--ap-font-display) !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  font-size:clamp(2.8rem,6vw,6rem) !important;
  line-height:.90 !important;
  letter-spacing:-.05em !important;
}
.ap-home-sub,.ap-home-hero2 .ap-muted{
  font-size:1.05rem !important;
  line-height:1.7 !important;
  max-width:58ch !important;
}

.ap-card,.ap-tile,.ap-acc,.ap-block,.ap-home-service-card,.ap-home-cta,.ap-home-final{
  background:#efe1ca !important;
  border:2px solid rgba(23,19,15,.18) !important;
  color:var(--ap-text) !important;
  border-radius:4px !important;
  box-shadow:var(--ap-shadow-soft) !important;
}

.ap-card h1,.ap-card h2,.ap-card h3,
.ap-block h1,.ap-block h2,.ap-block h3,
.ap-tile-title,.ap-step-title,.ap-home-service-title{
  font-family:var(--ap-font-display) !important;
  color:var(--ap-h1) !important;
  text-transform:uppercase !important;
  letter-spacing:-.03em !important;
  font-weight:800 !important;
}
.ap-muted,.ap-step-sub,.ap-tile-sub,.ap-home-service-text{color:var(--ap-muted) !important;}

.ap-btn,.ap-home-cta-btn,.ap-home-hero-phone{
  background:#c64a2f !important;
  border:2px solid #9e351f !important;
  color:#fff !important;
  border-radius:2px !important;
  box-shadow:4px 4px 0 rgba(23,19,15,.24) !important;
  font-family:var(--ap-font-display) !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.05em !important;
}
.ap-btn:hover,.ap-home-cta-btn:hover,.ap-home-hero-phone:hover{
  transform:translate(-1px,-1px) !important;
  filter:none !important;
}
.ap-btn-ghost{
  background:#dcc8a9 !important;
  border:2px solid rgba(23,19,15,.20) !important;
  color:#17130f !important;
  border-radius:2px !important;
  box-shadow:3px 3px 0 rgba(23,19,15,.12) !important;
}

.ap-tone-a{background:#e7d6ba !important;border-color:rgba(23,19,15,.18) !important;}
.ap-tone-b{background:#efe1ca !important;border-color:rgba(23,19,15,.18) !important;}
.ap-tone-c{background:#dbc5a2 !important;border-color:rgba(23,19,15,.18) !important;}

.ap-home-cards,.ap-grid{gap:18px !important;}
.ap-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.ap-home-cards{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.ap-home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:18px !important;}
.ap-tile-media{aspect-ratio:4/3 !important;filter:contrast(1.04) saturate(.9) sepia(.08);}
.ap-tile-media,.ap-home-cta-media img,.ap-img,.ap-up-thumb{border-radius:2px !important;}

.ap-ribbon-new,.ap-ribbon-partner,.rating-ribbon{
  border-radius:0 !important;
  font-family:var(--ap-font-display) !important;
  text-transform:uppercase !important;
  letter-spacing:.06em !important;
}

@media (max-width:980px){
  .ap-home-cards,.ap-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:760px){
  .ap-home-cards,.ap-home-service-grid,.ap-grid{grid-template-columns:1fr !important;}
}
