/* ========== Base & Variables ========== */
:root{
  --brand-blue:#0077B6; --brand-blue2:#0096C7;
  --brand-green:#48C774; --brand-green2:#90EE90;
  --text:#0f172a; --muted:#64748b; --bg:#ffffff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Open Sans','Helvetica Neue',Arial,sans-serif;color:var(--text);background:var(--bg);}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1120px;margin:0 auto;padding:0 1.25rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ========== Header ========== */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.7);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid #e5e7eb}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand-logo{height:36px;width:auto}
.nav{display:none;gap:1rem;font-weight:600}
.nav-link{position:relative;padding:.25rem .5rem}
.nav-link::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:linear-gradient(90deg,var(--brand-blue),var(--brand-green));transition:width .25s}
.nav-link:hover::after{width:100%}
.hide-sm{display:none}
@media(min-width:768px){
  .nav{display:flex}
  .hide-sm{display:inline-flex}
}

/* ========== Buttons ========== */
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:.65rem 1rem;font-weight:600;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}
.btn-lg{padding:.9rem 1.15rem;border-radius:16px}
.btn-primary{background:linear-gradient(135deg,var(--brand-blue),var(--brand-green2));color:#fff;box-shadow:0 10px 20px rgba(0,0,0,.08)}
.btn-ghost{background:rgba(255,255,255,.2);border:1px solid rgba(15,23,42,.15);color:#0f172a}
.btn-ghost-light{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);color:#fff}
.w-100{width:100%}
.mt-16{margin-top:1rem}

/* ========== Hero ========== */
.hero{position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:
  radial-gradient(1200px 400px at -10% -20%, rgba(255,255,255,.22), transparent 40%),
  radial-gradient(1000px 400px at 110% 120%, rgba(255,255,255,.18), transparent 40%),
  linear-gradient(135deg,var(--brand-blue) 0%,var(--brand-blue2) 35%,var(--brand-green) 70%,var(--brand-green2) 100%);
}
.hero-inner{position:relative;padding:80px 0;display:grid;gap:2rem}
@media(min-width:1024px){.hero-inner{grid-template-columns:1.1fr .9fr;align-items:center}}
.hero-copy h1{font-size:clamp(28px,3.2vw,48px);line-height:1.15;color:#fff;margin:0}
.hero-copy p{color:#f8fafc;font-size:18px;max-width:680px}
.hero-cta{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}
.media-frame{border-radius:18px;overflow:hidden;box-shadow:0 25px 40px rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.3)}
.note-card{position:absolute;right:-24px;bottom:-24px;background:#fff;border-radius:16px;box-shadow:0 20px 35px rgba(0,0,0,.12);padding:14px 16px;width:260px}
.note-card.left{left:-24px;right:auto}
.note-title{font-weight:700}
.note-sub{font-size:12px;color:var(--muted)}
.img-zoom{transition:transform .45s}
.img-zoom:hover{transform:scale(1.03)}
.hero-wave{position:absolute;left:0;right:0;bottom:0}

/* ========== Sections / Cards ========== */
.section{padding:72px 0}
.section-soft{background:#f8fafc}
.section-gradient{position:relative;background:
  linear-gradient(135deg,var(--brand-blue) 0%,var(--brand-blue2) 35%,var(--brand-green) 70%,var(--brand-green2) 100%);}
.text-on-gradient{color:#fff}
.section-title{font-size:28px;font-weight:800;margin:0}
.muted{color:var(--muted)}
.maxw-700{max-width:700px}
.grid-3{display:grid;grid-template-columns:1fr;gap:1rem}
.grid-4{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.grid-2{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:1fr 1fr}}
.gap-20{gap:20px}
.gap-24{gap:24px}
.mt-32{margin-top:32px}
.bullets{padding-left:1.1rem}
.bullets li{margin:.35rem 0}
.card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px;box-shadow:0 6px 18px rgba(0,0,0,.05)}
.card-title{margin:0 0 10px 0;font-size:20px;font-weight:700}
.card-hover{transition:transform .25s, box-shadow .25s, border-color .25s}
.card-hover:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.08);border-color:rgba(16,185,129,.35)}
.kachel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px}
.kachel .emoji{font-size:28px}
.field{margin:14px 0;display:flex;flex-direction:column;gap:6px}
.input, input[type="number"], textarea{border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font:inherit}
.input:focus, input:focus, textarea:focus{outline:2px solid #90EE90;border-color:#90EE90}
.checkbox{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:14px}
.est{display:flex;flex-direction:column;gap:10px}
.est .sep{height:1px;background:#e5e7eb;margin:6px 0}
.est .total{font-size:20px}

/* ========== About ========== */
.about-media{position:relative}
.stars{color:#f59e0b;font-size:16px}

/* ========== Contact ========== */
.contact-list{list-style:none;padding-left:0;display:flex;flex-direction:column;gap:8px}
.glass{background:rgba(255,255,255,.28);backdrop-filter:saturate(1.2) blur(6px);border-color:rgba(255,255,255,.55)}

/* ========== Footer ========== */
.site-footer{border-top:1px solid #e5e7eb;background:#fff}
.footer-inner{display:grid;gap:14px;padding:28px 0}
.footer-inner .brand-logo.small{height:28px}
.footer-links{display:flex;gap:16px;justify-content:flex-start}
@media(min-width:768px){.footer-inner{grid-template-columns:1fr auto}.footer-links{justify-content:flex-end}}

/* ========== Cookie ========== */
.cookie{position:fixed;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:#0f172a;color:#fff;padding:14px 16px;z-index:60;box-shadow:0 -10px 25px rgba(0,0,0,.25)}
.cookie a{color:#fff;text-decoration:underline}
.cookie-actions{display:flex;gap:8px}
.hide{display:none}
.narrow{max-width:820px;margin:0 auto}
.span-2{grid-column:1/-1}
.text-on-gradient .btn{border-color:rgba(255,255,255,.35)}
