:root {
  --miro-white:#fff;
  --miro-black:#000;
  --miro-ash:#f7f7f7;
  --miro-text:#111;
  --miro-muted:#666;
  --miro-border:#e7e7e7;
  --miro-max:1240px;
  --miro-pad:clamp(20px,4.4vw,60px);
  --miro-section:clamp(72px,8.7vw,120px);
  --miro-gap-xs:12px;
  --miro-gap-sm:20px;
  --miro-gap-md:32px;
  --miro-gap-lg:clamp(40px,5.8vw,80px);
  --miro-radius:0px;
}
html{scroll-behavior:smooth}
body.miro-site,body.miro-site button,body.miro-site input,body.miro-site textarea,body.miro-site select{font-family:"Montserrat",Arial,sans-serif;font-weight:400;color:var(--miro-text)}
body.miro-site{background:var(--miro-white);font-size:15px;line-height:1.7;letter-spacing:.01em}
body.miro-site h1,body.miro-site h2,body.miro-site h3,body.miro-site h4,body.miro-site h5,body.miro-site h6{font-family:"Montserrat",Arial,sans-serif;font-weight:500;color:var(--miro-black);letter-spacing:-.02em;line-height:1.15;margin-top:0}
body.miro-site h1,.miro-heading-xl{font-size:clamp(40px,5.1vw,70px)}
body.miro-site h2,.miro-heading-lg{font-size:clamp(30px,3.5vw,48px)}
body.miro-site h3,.miro-heading-md{font-size:clamp(21px,2vw,28px)}
body.miro-site p:last-child{margin-bottom:0}
body.miro-site a{color:inherit}
.miro-shell,.miro-container{width:min(calc(100% - (var(--miro-pad) * 2)),var(--miro-max));margin-inline:auto}
.miro-section{padding-block:var(--miro-section)}
.miro-section--ash{background:var(--miro-ash)}
.miro-section--black{background:var(--miro-black);color:var(--miro-white)}
.miro-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--miro-gap-lg);align-items:center}
.miro-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--miro-gap-md)}
.miro-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--miro-gap-sm)}
.miro-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:500}
.miro-lead{font-size:clamp(17px,1.45vw,20px);line-height:1.65}
.miro-muted{color:var(--miro-muted)}
.miro-image-cover img,.miro-image-cover .elementor-widget-container,.miro-image-cover picture{width:100%;height:100%}
.miro-image-cover img{object-fit:cover;display:block}
.miro-button .elementor-button,.miro-btn,body.miro-site .wp-element-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;background:var(--miro-ash);border:1px solid var(--miro-ash);border-radius:0;color:var(--miro-black);font-size:13px;font-weight:500;letter-spacing:.02em;transition:background .25s ease,color .25s ease,border-color .25s ease}
.miro-button .elementor-button:hover,.miro-btn:hover,body.miro-site .wp-element-button:hover{background:var(--miro-black);border-color:var(--miro-black);color:var(--miro-white)}

/* Astra header: fixed/sticky, minimalist. */
body.miro-site .site-header{position:sticky;top:0;z-index:9999;background:rgba(247,247,247,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.admin-bar.miro-site .site-header{top:32px}
body.miro-site .ast-primary-header-bar{background:var(--miro-ash);border-bottom:0;min-height:74px}
body.miro-site .main-header-menu>.menu-item>a{font-size:13px;font-weight:500;letter-spacing:.015em;color:var(--miro-black);padding-inline:18px}
body.miro-site .main-header-menu>.menu-item>a:hover,body.miro-site .main-header-menu>.current-menu-item>a{opacity:.55}
body.miro-site .site-branding img{max-height:42px;width:auto}

/* Footer. */
body.miro-site .site-footer{background:var(--miro-ash);color:var(--miro-black)}
body.miro-site .site-footer a{color:var(--miro-black)}
body.miro-site .site-footer .site-footer-section{font-size:13px;line-height:1.7}

/* Elementor canvas cleanup. */
body.miro-site .elementor-page .site-content>.ast-container{max-width:none;padding:0;display:block}
body.miro-site .elementor-section-wrap,body.miro-site .elementor-element{--widgets-spacing:0px}
body.miro-site .elementor-widget-heading .elementor-heading-title{font-weight:500}

/* Project system. */
.miro-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,5vw,72px) clamp(24px,4vw,56px)}
.miro-project-card__link{text-decoration:none!important;display:block}
.miro-project-card__media{aspect-ratio:4/3;overflow:hidden;background:var(--miro-ash)}
.miro-project-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.miro-project-card:hover .miro-project-card__media img{transform:scale(1.015)}
.miro-project-card__meta{padding-top:18px}
.miro-project-card__meta h3{font-size:18px;margin-bottom:8px}
.miro-project-card__meta p{color:var(--miro-muted);font-size:13px}

/* Category system. */
.miro-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.miro-category-card{text-decoration:none!important;background:var(--miro-ash);display:block}
.miro-category-card__media{aspect-ratio:4/3;overflow:hidden}
.miro-category-card__media img,.miro-placeholder{width:100%;height:100%;display:block;object-fit:cover;background:linear-gradient(135deg,#f2f2f2,#e8e8e8)}
.miro-category-card__label{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;font-size:14px;font-weight:500}

/* Forms. */
body.miro-site input[type=text],body.miro-site input[type=email],body.miro-site input[type=tel],body.miro-site input[type=url],body.miro-site input[type=password],body.miro-site textarea,body.miro-site select{border:0;border-bottom:1px solid #bbb;border-radius:0;background:transparent;padding:12px 0;box-shadow:none}
body.miro-site textarea{min-height:130px}
body.miro-site input:focus,body.miro-site textarea:focus,body.miro-site select:focus{border-color:var(--miro-black);outline:0}
