@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Open+Sans:wght@400;500;600;700&display=swap");

:root{
  --komsa-blue:#0A2540;
  --komsa-blue-2:#0A192F;
  --komsa-yellow:#F5B00B;
  --komsa-text:#0A2540;
  --komsa-muted:#566274;
  --komsa-bg:#ffffff;
  --komsa-card:#ffffff;
  --komsa-border:rgba(10,37,64,.12);
  --komsa-shadow:0 10px 30px rgba(2,8,23,.12);
  --komsa-radius:18px;
}

html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  color:var(--komsa-text);
  background:var(--komsa-bg);
}
h1,h2,h3,h4,h5,h6{
  font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  margin:0 0 .6rem 0;
  line-height:1.1;
}
p{ margin:0 0 1rem 0; color:var(--komsa-muted); line-height:1.7; }
a{ color:inherit; text-decoration:none; }
a:hover{ color:var(--komsa-yellow); }

.komsa-container{
  width:min(1100px, 100% - 2rem);
  margin-inline:auto;
}

/* Header */
.komsa-header{
  position:fixed; top:0; left:0; right:0;
  z-index:50;
  background:rgba(10,37,64,.18);
  backdrop-filter:saturate(1.2) blur(8px);
  transition:all .25s ease;
}
body.admin-bar .komsa-header{ top:32px; }
.komsa-header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:.9rem 0;
}
.komsa-brand{ display:flex; flex-direction:column; gap:.1rem; }
.komsa-brand__mark{ font-weight:800; letter-spacing:.04em; color:#fff; }
.komsa-brand__sub{ font-weight:700; color:rgba(255,255,255,.82); font-size:.9rem; }

.komsa-nav{ display:flex; gap:1.4rem; align-items:center; }
.komsa-nav a{ font-weight:700; font-size:.95rem; color:#fff; }
.komsa-nav__cta{
  background:var(--komsa-yellow);
  color:var(--komsa-blue);
  padding:.65rem 1rem;
  border-radius:999px;
}

.komsa-burger{ display:none; background:transparent; border:0; padding:.4rem; cursor:pointer; }
.komsa-burger span{ display:block; width:22px; height:2px; background:#fff; margin:4px 0; border-radius:2px; }
.komsa-mobile{
  display:none;
  padding:.8rem 1rem 1rem;
  border-top:1px solid rgba(255,255,255,.12);
  background:rgba(10,37,64,.92);
}
.komsa-mobile a{ display:block; padding:.7rem 0; color:#fff; font-weight:700; }
body.komsa-menu-open .komsa-mobile{ display:block; }

@media (max-width: 860px){
  .komsa-nav{ display:none; }
  .komsa-burger{ display:block; }
}

/* Gutenberg base tweaks */
.wp-site-blocks, .komsa-site{ padding-top:74px; } /* offset header */

/* Sections */
.komsa-section{ padding: 5rem 0; }
.komsa-section--alt{ background: #f4f6fb; }
.komsa-grid-2{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:3rem;
  align-items:center;
}
@media (max-width: 900px){
  .komsa-grid-2{ grid-template-columns:1fr; }
}

.komsa-hero{
  position:relative;
  min-height:600px;
  height:90vh;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}
.komsa-hero__bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.03);
}
.komsa-hero__overlay{
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,37,64,.95), rgba(10,37,64,.75) 55%, rgba(10,37,64,.0));
}
.komsa-hero__shade{ position:absolute; inset:0; background:rgba(0,0,0,.35); }
.komsa-hero__content{ position:relative; z-index:2; padding-top:2.2rem; }
.komsa-eyebrow{
  display:flex; align-items:center; gap:.75rem;
  font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--komsa-yellow); font-size:.95rem;
}
.komsa-eyebrow:before{ content:""; width:46px; height:4px; background:var(--komsa-yellow); border-radius:2px; display:inline-block; }
.komsa-hero h1{ font-size: clamp(2.2rem, 4.5vw, 4.4rem); margin:1rem 0 1rem; color:#fff; }
.komsa-hero h1 span{ color:var(--komsa-yellow); }
.komsa-hero p{ color:rgba(226,232,240,.95); font-size: clamp(1.05rem, 1.3vw, 1.25rem); max-width: 52ch; }
.komsa-actions{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:1.7rem; }
.komsa-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.95rem 1.3rem;
  border-radius: 14px;
  font-weight:800;
  border:1px solid transparent;
  transition: transform .15s ease, box-shadow .2s ease;
}
.komsa-btn:hover{ transform: translateY(-2px); box-shadow: 0 12px 25px rgba(0,0,0,.25); }
.komsa-btn--primary{ background:var(--komsa-yellow); color:var(--komsa-blue); }
.komsa-btn--ghost{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.26); color:#fff; }

/* About image card */
.komsa-photo{
  position:relative;
  border-radius: 22px;
  overflow:hidden;
  box-shadow: var(--komsa-shadow);
  border:1px solid rgba(255,255,255,.08);
}
.komsa-photo img{ width:100%; height:auto; display:block; aspect-ratio:4/3; object-fit:cover; }
.komsa-photo__cap{
  position:absolute; left:0; right:0; bottom:0;
  padding:1rem 1.1rem;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.75));
  color:#fff;
  font-weight:800;
}

/* Check list */
.komsa-checks{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem 1.2rem; margin-top:1.3rem; }
@media (max-width: 520px){ .komsa-checks{ grid-template-columns:1fr; } }
.komsa-check{
  display:flex; gap:.7rem; align-items:flex-start;
  color:rgba(10,37,64,.92);
}
.komsa-check:before{
  content:"✓";
  width:26px; height:26px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:999px;
  background:rgba(245,176,11,.18);
  color:var(--komsa-blue);
  font-weight:900;
  flex:0 0 26px;
}

/* Cards */
.komsa-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.1rem;
}
@media (max-width: 980px){ .komsa-cards{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .komsa-cards{ grid-template-columns: 1fr; } }

.komsa-card{
  background:var(--komsa-card);
  border:1px solid var(--komsa-border);
  border-radius: var(--komsa-radius);
  box-shadow: 0 8px 22px rgba(2,8,23,.06);
  padding: 1.25rem 1.2rem;
  position:relative;
  overflow:hidden;
}
.komsa-card:before{
  content:"";
  position:absolute; left:0; top:0; height:4px; width:100%;
  background:var(--komsa-yellow);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.komsa-card:hover{ box-shadow: 0 16px 36px rgba(2,8,23,.10); transform: translateY(-3px); transition: all .2s ease; }
.komsa-card:hover:before{ transform:scaleX(1); }
.komsa-card h3{ font-size:1.25rem; margin:.2rem 0 .5rem; }
.komsa-card p{ margin:0; }

/* CTA */
.komsa-cta{
  background: var(--komsa-blue-2);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.komsa-cta p{ color: rgba(226,232,240,.82); }
.komsa-cta__bubbles:before,
.komsa-cta__bubbles:after{
  content:"";
  position:absolute;
  width:280px; height:280px;
  background: rgba(245,176,11,.18);
  filter: blur(40px);
  border-radius:999px;
}
.komsa-cta__bubbles:before{ top:-90px; right:-90px; }
.komsa-cta__bubbles:after{ bottom:-90px; left:-90px; }

/* Contact */
.komsa-info{
  background:#f4f6fb;
  border:1px solid var(--komsa-border);
  border-radius: 22px;
  padding:1.4rem;
}
.komsa-info p{ margin:.2rem 0 0; }
.komsa-info__item{ margin:0 0 1rem 0; }
.komsa-form{
  background:#fff;
  border:1px solid var(--komsa-border);
  border-radius: 22px;
  overflow:hidden;
  box-shadow: 0 14px 34px rgba(2,8,23,.10);
}
.komsa-form__head{
  padding:1.3rem 1.3rem 1.1rem;
  background:#f4f6fb;
  border-bottom:1px solid var(--komsa-border);
}
.komsa-form__body{ padding:1.3rem; }

/* Footer */
.komsa-footer{
  background: var(--komsa-blue-2);
  color: rgba(226,232,240,.86);
  border-top: 4px solid var(--komsa-yellow);
  padding: 3.5rem 0 2rem;
}
.komsa-footer h4{ color:#fff; margin-bottom:.8rem; }
.komsa-footer a{ color: rgba(226,232,240,.86); }
.komsa-footer__grid{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap:2.2rem;
}
@media (max-width: 900px){ .komsa-footer__grid{ grid-template-columns:1fr; } }
.komsa-footer__brand{ font-weight:900; font-size:1.2rem; color:#fff; }
.komsa-footer__bottom{ margin-top:2rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.10); font-size:.92rem; color: rgba(226,232,240,.72); }


/* ---- Gutenberg cover hero overrides ---- */
.komsa-hero.wp-block-cover{
  height:90vh;
  min-height:600px;
}
.komsa-hero.wp-block-cover .wp-block-cover__background{
  opacity: 1 !important;
  background: linear-gradient(90deg, rgba(10,37,64,.95), rgba(10,37,64,.75) 55%, rgba(10,37,64,.0)) !important;
}
.komsa-hero.wp-block-cover .wp-block-cover__inner-container{
  width: 100%;
}
.komsa-hero__content{
  width: min(1100px, 100% - 2rem);
  margin-inline: auto;
  padding-top: 2.2rem;
}
.komsa-hero .has-large-font-size{ color: rgba(226,232,240,.95); }
.komsa-hero h1{ color:#fff; }
.komsa-hero p{ color: rgba(226,232,240,.90); }
.komsa-eyebrow{ color: var(--komsa-yellow) !important; }
.komsa-actions .wp-block-button__link{ text-decoration:none; }
.komsa-btn--primary .wp-block-button__link{
  background: var(--komsa-yellow);
  color: var(--komsa-blue);
  border-radius: 14px;
  padding: .95rem 1.3rem;
  font-weight: 800;
}
.komsa-btn--ghost .wp-block-button__link{
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 14px;
  padding: .95rem 1.3rem;
  font-weight: 800;
}
.komsa-btn--ghost .wp-block-button__link:hover{
  background: rgba(255,255,255,.12);
}

/* Grid layout for komsa-cards when WP editor doesn't output CSS grid */
.komsa-cards.wp-block-group{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1.1rem;
}
@media (max-width: 980px){ .komsa-cards.wp-block-group{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .komsa-cards.wp-block-group{ grid-template-columns: 1fr; } }

/* Make cover inner text aligned like original */
.komsa-hero .wp-block-cover__inner-container{
  display:flex;
  align-items:center;
  min-height:90vh;
}

.komsa-logo{ height:56px; width:auto; object-fit:contain; display:block; filter: drop-shadow(0 4px 10px rgba(0,0,0,.25)); }
