/* ============================================================
   BASE — reset, tipografija, dugmad, linkovi, pomoćne klase
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
/* sakriven scrollbar, skrolovanje i dalje radi (Chrome, Safari, Edge) */
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}
body{
  font-family:var(--font-sans);
  color:var(--color-text);
  background:var(--color-white);
  font-size:16px;
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit}
:focus-visible{outline:2px solid var(--color-rose-dark);outline-offset:3px;border-radius:2px}

/* tipografija */
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;line-height:1.15;letter-spacing:.01em}
.h-eyebrow{
  display:inline-block;font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--color-rose-dark);font-weight:500;margin-bottom:1.1rem;
}
.h1{font-size:clamp(2.6rem,5.6vw,4.4rem)}
.h2{font-size:clamp(2rem,3.8vw,3rem)}
.h3{font-size:clamp(1.3rem,2vw,1.65rem)}
.lead{color:var(--color-muted);font-size:1.02rem;font-weight:300;max-width:34rem}
.small{font-size:.8rem;color:var(--color-muted)}

/* layout pomoćne klase */
.container{max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}
section{padding:6.5rem 0}
.section-head{max-width:620px;margin:0 auto 3.5rem;text-align:center}
.section-head .lead{margin:1.1rem auto 0}
.bg-cream{background:var(--color-cream)}

/* dugmad */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1rem 2.4rem;font-size:.76rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  border-radius:999px;transition:var(--transition);min-height:48px;text-align:center;
}
.btn-primary{background:var(--color-rose);color:#fff}
.btn-primary:hover{background:var(--color-rose-dark);transform:translateY(-2px)}
.btn-outline{border:1px solid var(--color-text);color:var(--color-text)}
.btn-outline:hover{background:var(--color-text);color:#fff;transform:translateY(-2px)}

/* link sa animiranim podvlačenjem */
.link-line{position:relative;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;padding-bottom:4px;display:inline-block}
.link-line::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--color-rose-dark);transform:scaleX(0);transform-origin:right;transition:transform 300ms ease;
}
.link-line:hover::after,.link-line:focus-visible::after{transform:scaleX(1);transform-origin:left}

/* dekorativni razdelnik */
.divider-dot{display:flex;align-items:center;gap:.8rem;margin:1.8rem 0;color:var(--color-rose)}
.divider-dot::before,.divider-dot::after{content:"";height:1px;width:48px;background:var(--color-border)}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 700ms ease,transform 700ms ease}
.reveal.is-visible{opacity:1;transform:none}
.reveal-d1{transition-delay:120ms}
.reveal-d2{transition-delay:240ms}
.reveal-d3{transition-delay:360ms}
