/* ===== IMPERMAIS Website UI kit — shared styles ===== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
section[id]{scroll-margin-top:88px;}
body{margin:0;font-family:var(--font-body);color:var(--fg1);background:var(--bg1);-webkit-font-smoothing:antialiased;}
button{font-family:inherit;cursor:pointer;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

.container{max-width:1200px;margin:0 auto;padding:0 32px;}
.eyebrow{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--fg3);}
.eyebrow--yellow{color:var(--imp-yellow-deep);}
.eyebrow--ondark{color:var(--imp-yellow);}
.h-display{font-family:var(--font-heavy);font-size:clamp(40px,6vw,84px);line-height:.98;letter-spacing:-.02em;text-transform:uppercase;margin:0;}
.h2{font-family:var(--font-heavy);font-size:clamp(28px,3.4vw,46px);line-height:1.02;letter-spacing:-.01em;text-transform:uppercase;margin:0;}
.h3{font-family:var(--font-heavy);font-size:20px;text-transform:uppercase;margin:0;}
.lead{font-family:var(--font-body);font-size:18px;line-height:1.65;color:var(--fg2);}

/* ---- logo CSS component (reused from assets/logo) ---- */
.impmark{--u:38px;display:inline-flex;flex-direction:column;align-items:flex-start;gap:calc(var(--u)*0.12);line-height:1;user-select:none;}
.impmark__row{display:flex;align-items:center;gap:calc(var(--u)*0.10);}
.impmark__word{font-family:var(--font-heavy);font-size:var(--u);letter-spacing:-.02em;line-height:.8;color:var(--logo-fg,#fff);text-transform:uppercase;transform:translateY(.02em);}
.impmark__plus{position:relative;width:calc(var(--u)*0.92);height:calc(var(--u)*0.92);border-radius:calc(var(--u)*0.16);background:var(--imp-yellow);flex:none;}
.impmark__plus::before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(var(--u)*0.52);height:calc(var(--u)*0.16);background:var(--plus-fg,#fff);}
.impmark__plus::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(var(--u)*0.16);height:calc(var(--u)*0.52);background:var(--plus-fg,#fff);}
.impmark__desc{font-family:var(--font-heavy);font-size:calc(var(--u)*0.205);letter-spacing:.30em;color:var(--logo-fg,#fff);text-transform:uppercase;padding-left:calc(var(--u)*0.03);white-space:nowrap;}

/* ---- buttons ---- */
.btn{font-family:var(--font-heavy);font-size:13px;text-transform:uppercase;letter-spacing:.06em;border:none;padding:15px 26px;border-radius:6px;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;transition:background .16s ease,transform .12s ease,color .16s ease;}
.btn svg{width:17px;height:17px;}
.btn--primary{background:var(--imp-yellow);color:#000;}
.btn--primary:hover{background:var(--imp-yellow-deep);}
.btn--primary:active{transform:scale(.98);}
.btn--dark{background:#000;color:#fff;}
.btn--dark:hover{background:#242424;}
.btn--dark:active{transform:scale(.98);}
.btn--outline{background:transparent;color:#000;border:2px solid #000;padding:13px 24px;}
.btn--outline:hover{background:#000;color:#fff;}
.btn--outline-light{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);padding:13px 24px;}
.btn--outline-light:hover{border-color:#fff;background:rgba(255,255,255,.08);}

/* ---- utility ---- */
.section{padding:96px 0;}
.section--dark{background:var(--bg-dark);color:#fff;}
.section--gray{background:var(--bg2);}
.divider-rule{height:4px;width:56px;background:var(--imp-yellow);border:none;margin:0;}
