:root {
  --sage: #66745f;
  --sage-2: #7f8e78;
  --sage-3: #dfe6db;
  --ivory: #f7f3eb;
  --paper: #fffdf9;
  --ink: #1f2a22;
  --muted: #6d746e;
  --line: #e7e0d4;
  --soft: #f0ede5;
  --shadow: 0 18px 55px rgba(45, 55, 46, .10);
  --radius: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Segoe UI", "Noto Sans Georgian", Arial, sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
body::selection { background: var(--sage-3); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }

.container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 253, 249, .88);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(231,224,212,.8);
}
.nav-wrap {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font: 600 27px/1 Georgia, "Times New Roman", serif;
  color: #445640;
  margin-right: auto;
}
.brand-mark {
  width: 32px; height: 32px;
  display: grid; place-items: center;
}
.brand-mark svg { width: 100%; height: 100%; }
.desktop-nav { display: flex; gap: 30px; align-items: center; }
.desktop-nav a, .footer-links a { color: var(--muted); font-size: 14px; transition: .2s ease; }
.desktop-nav a:hover, .footer-links a:hover { color: var(--ink); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 12px;
  border: 1px solid transparent;
  font-weight: 700;
  font-size: 14px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--sage); color: white; box-shadow: 0 9px 26px rgba(84,102,78,.20); }
.btn-primary:hover { background: #576952; }
.btn-secondary { background: var(--paper); border-color: var(--line); color: var(--ink); }
.btn-lg { min-height: 54px; padding-inline: 24px; }
.btn-block { width: 100%; margin-top: 22px; }
.menu-btn { display:none; border:0; background:transparent; font-size:24px; }
.mobile-nav { display:none; }

.section { padding: 96px 0; }
.hero {
  padding-top: 76px;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 28%, rgba(102,116,95,.13), transparent 27%),
    linear-gradient(180deg, #fffdf9 0%, #faf7f1 100%);
}
.hero-grid {
  display:grid;
  grid-template-columns: .86fr 1.14fr;
  align-items:center;
  gap: 54px;
}
.eyebrow {
  display:inline-flex;
  align-items:center;
  font-size: 12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  color: var(--sage);
  background: var(--sage-3);
  padding: 7px 11px;
  border-radius: 999px;
}
.eyebrow.light { color: #eaf0e6; background: rgba(255,255,255,.11); }
h1,h2,h3,h4,p { margin-top:0; }
h1,h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.025em;
}
h1 {
  margin: 22px 0 20px;
  font-size: clamp(48px, 6vw, 76px);
  line-height: .99;
}
h1 em { color: var(--sage); font-style: normal; }
h2 {
  margin: 16px 0 16px;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.08;
}
.lead { max-width: 620px; font-size: 19px; color: var(--muted); }
.lead-sm { font-size: 17px; color: var(--muted); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0; }
.play {
  width:26px;height:26px;display:grid;place-items:center;
  border-radius:50%;background:var(--sage-3);font-size:10px;color:var(--sage);
}
.trust-row { display:flex; flex-wrap:wrap; gap:17px; color:#697269; font-size:13px; font-weight:700; }

.hero-visual { position:relative; min-width:0; }
.browser-frame {
  border: 1px solid var(--line);
  background:white;
  border-radius:24px;
  overflow:hidden;
  box-shadow: var(--shadow);
  transform: perspective(1200px) rotateY(-1.5deg);
}
.browser-top {
  height: 38px;
  background:#f8f5ef;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 12px;
  border-bottom:1px solid var(--line);
}
.browser-top i { width:8px;height:8px;border-radius:50%;background:#c8c5bd; }
.browser-top span { margin-left:12px; color:#8a8e88;font-size:10px; }
.browser-frame img { width:100%; aspect-ratio: 16 / 10.2; object-fit:cover; object-position:top left; }
.floating-card {
  position:absolute;
  background:rgba(255,253,249,.96);
  border:1px solid var(--line);
  box-shadow:0 14px 36px rgba(31,42,34,.12);
  border-radius:16px;
  padding:13px 15px;
  display:flex; gap:10px; align-items:center;
  font-size:12px;
}
.floating-card strong, .floating-card small { display:block; }
.floating-card small { color:var(--muted); margin-top:2px; }
.card-one { left:-26px; bottom:42px; flex-direction:column; align-items:flex-start; }
.card-two { right:-18px; top:74px; }
.status-dot { width:12px;height:12px;border-radius:50%;background:#7aa06e; box-shadow:0 0 0 5px #eef4eb; }

.strip { border-block:1px solid var(--line); background:white; }
.strip-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.strip-grid > div { min-height:105px; display:grid; grid-template-columns:auto 1fr; align-content:center; column-gap:12px; padding:18px 28px; border-right:1px solid var(--line); }
.strip-grid > div:last-child { border-right:0; }
.strip-grid strong, .strip-grid small { display:block; }
.strip-grid small { color:var(--muted); }
.strip-icon { grid-row:1 / span 2; width:40px;height:40px;border-radius:12px;background:var(--sage-3);display:grid;place-items:center;color:var(--sage);font-weight:800; }

.section-head { max-width:760px; margin-bottom:42px; }
.section-head p { color:var(--muted); font-size:17px; }

.pricing-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.price-card { border:1px solid var(--line); border-radius:var(--radius); padding:34px; background:#fff; box-shadow:0 12px 32px rgba(44,54,45,.06); }
.price-card.featured { background:linear-gradient(145deg,#f5f1e7,#fffdf9); border-color:#d9d8c9; }
.price-top { display:flex;justify-content:space-between;gap:20px;align-items:flex-start; }
.price-top h3 { font:500 30px/1.15 Georgia,serif; margin:12px 0 0; }
.pill { display:inline-flex;padding:6px 10px;border-radius:999px;background:#e9e4d4;color:#64705e;font-size:11px;font-weight:800; }
.pill.neutral { background:#edf0eb; }
.mini-label { color:var(--muted);font-size:12px; }
.price { font:500 62px/1 Georgia,serif; color:#354931; margin:30px 0 8px; }
.price span { font:600 17px/1.2 "Segoe UI",sans-serif; }
.old-price,.price-note { color:var(--muted); }
.divider { height:1px;background:var(--line);margin:26px 0; }
.price-card h4 { margin-bottom:13px; }
.check-list { list-style:none;padding:0;margin:0;display:grid;gap:11px; }
.check-list li { display:flex;align-items:center;gap:10px;color:#4e584f; }
.check-list span { width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--sage-3);color:var(--sage);font-size:12px;font-weight:900; }

.product-section { background:#faf8f3; }
.gallery-grid { display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;gap:20px; }
.gallery-card { position:relative;border:1px solid var(--line);padding:0;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(47,54,48,.06);text-align:left; }
.gallery-card img { width:100%;height:100%;min-height:250px;object-fit:cover;object-position:top left;transition:transform .45s ease; }
.gallery-card:hover img { transform:scale(1.025); }
.gallery-wide { grid-row:1 / span 2; }
.gallery-wide img { min-height:520px; }
.gallery-caption { position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,253,249,.94);backdrop-filter:blur(12px);border:1px solid rgba(231,224,212,.9);border-radius:14px;padding:14px 16px; }
.gallery-caption strong,.gallery-caption span { display:block; }
.gallery-caption span { color:var(--muted);font-size:12px;margin-top:3px; }

.soft-section { background:var(--ivory); }
.feature-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.feature-card { background:#fffdf9;border:1px solid var(--line);border-radius:20px;padding:25px;min-height:220px; }
.feature-icon { width:48px;height:48px;border-radius:14px;background:var(--sage-3);display:grid;place-items:center;color:var(--sage);font-weight:900;margin-bottom:22px; }
.feature-card h3 { margin-bottom:9px;font-size:18px; }
.feature-card p { color:var(--muted);font-size:14px; }

.excel-grid { display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center; }
.mini-checks { display:grid;gap:10px;color:#536056;font-weight:700;font-size:14px;margin-top:26px; }
.report-card { background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow); }
.report-head { display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line); }
.report-head small,.report-head strong { display:block; }
.report-head small { color:var(--muted); }
.report-head button { border:1px solid var(--line);background:#faf8f3;border-radius:10px;padding:9px 12px;color:var(--sage);font-weight:800; }
.report-total { padding:24px 0; }
.report-total small,.report-total strong { display:block; }
.report-total small { color:var(--muted); }
.report-total strong { font:500 36px/1.2 Georgia,serif; margin-top:5px; }
.report-row { display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0ece4; }
.progress { height:8px;border-radius:99px;background:#ecefe9;margin-top:24px;overflow:hidden; }
.progress i { display:block;height:100%;background:var(--sage);border-radius:inherit; }
.report-foot { display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:8px; }

.setup-section { background:linear-gradient(145deg,#f3eee3,#faf8f3); overflow:hidden; }
.setup-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center; }
.device-visual { min-height:420px;position:relative;display:grid;place-items:center; }
.tablet { width:min(430px,85%);background:#222b24;border:10px solid #303932;border-radius:24px;box-shadow:0 28px 60px rgba(31,42,34,.22);padding:5px;position:relative;transform:rotate(-2deg); }
.tablet img { border-radius:10px;aspect-ratio:16/10;object-fit:cover;object-position:top left; }
.tablet-camera { position:absolute;top:4px;left:50%;width:4px;height:4px;border-radius:50%;background:#121612;z-index:2; }
.keyboard { position:absolute;width:390px;height:105px;border-radius:12px;background:#d9d7d0;bottom:12px;left:52%;transform:translateX(-50%) rotate(2deg) perspective(500px) rotateX(60deg);box-shadow:0 20px 35px rgba(50,55,49,.14);padding:14px; }
.keys { display:grid;grid-template-columns:repeat(8,1fr);gap:5px;height:100%; }
.keys i { background:#f8f6f1;border-radius:3px;box-shadow:0 1px 0 #bab7ae; }
.mouse { position:absolute;right:16px;bottom:45px;width:60px;height:85px;background:#f1efe9;border:1px solid #d9d5cc;border-radius:50% 50% 44% 44%;box-shadow:0 12px 25px rgba(42,50,43,.12); }
.mouse::after { content:"";position:absolute;top:10px;left:50%;width:1px;height:22px;background:#c5c1b8; }
.package-tags { display:flex;flex-wrap:wrap;gap:10px;margin-top:26px; }
.package-tags span { background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 13px;font-size:13px;font-weight:700;color:#536056; }

.contact-section { padding:40px 0 90px;background:#faf8f3; }
.contact-card { background:var(--sage);color:white;border-radius:30px;padding:46px;display:grid;grid-template-columns:1.3fr .7fr;gap:35px;align-items:center;box-shadow:0 22px 55px rgba(54,70,51,.18); }
.contact-card h2 { margin-top:13px;color:white; }
.contact-card p { margin-bottom:0;color:#dce4d9;max-width:700px; }
.contact-actions { display:grid;gap:12px; }
.contact-link { background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:16px 18px;transition:.2s ease; }
.contact-link:hover { background:rgba(255,255,255,.16);transform:translateY(-2px); }
.contact-link small,.contact-link strong { display:block; }
.contact-link small { color:#dce4d9;font-size:11px;margin-bottom:4px; }

footer { border-top:1px solid var(--line);padding:35px 0;background:#fffdf9; }
.footer-grid { display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center; }
.footer-grid p { margin:0;color:var(--muted);font-size:13px; }
.footer-links { display:flex;gap:20px; }
.footer-grid > small { grid-column:1 / -1;color:#999e98;border-top:1px solid var(--line);padding-top:20px; }
.footer-brand { margin:0; }

.lightbox { position:fixed;inset:0;background:rgba(17,23,18,.82);z-index:100;display:none;place-items:center;padding:30px; }
.lightbox.open { display:grid; }
.lightbox img { max-width:min(1400px,94vw);max-height:88vh;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.4); }
.lightbox-close { position:fixed;top:22px;right:28px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:white;font-size:28px; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.10s; }
.delay-2 { transition-delay:.18s; }

@media (max-width: 980px) {
  .desktop-nav,.nav-cta { display:none; }
  .menu-btn { display:block; }
  .mobile-nav.open { display:grid; padding:12px 20px 20px; gap:8px; }
  .mobile-nav a { padding:10px 0;border-bottom:1px solid var(--line); }
  .hero-grid,.excel-grid,.setup-grid,.contact-card { grid-template-columns:1fr; }
  .hero-copy { max-width:760px; }
  .hero-visual { margin-top:18px; }
  .strip-grid { grid-template-columns:1fr 1fr; }
  .strip-grid > div:nth-child(2) { border-right:0; }
  .strip-grid > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .pricing-grid { grid-template-columns:1fr; }
  .feature-grid { grid-template-columns:1fr 1fr; }
  .gallery-grid { grid-template-columns:1fr;grid-template-rows:auto; }
  .gallery-wide { grid-row:auto; }
  .gallery-wide img,.gallery-card img { min-height:320px; }
  .contact-actions { grid-template-columns:1fr 1fr; }
}

@media (max-width: 640px) {
  .container { width:min(100% - 28px,1180px); }
  .section { padding:70px 0; }
  .nav-wrap { min-height:66px; }
  .brand { font-size:24px; }
  h1 { font-size:48px; }
  h2 { font-size:38px; }
  .lead { font-size:17px; }
  .hero { padding-top:52px; }
  .hero-actions .btn { width:100%; }
  .floating-card { display:none; }
  .strip-grid { grid-template-columns:1fr; }
  .strip-grid > div { border-right:0!important;border-bottom:1px solid var(--line); }
  .strip-grid > div:last-child { border-bottom:0; }
  .feature-grid { grid-template-columns:1fr; }
  .price-card { padding:26px; }
  .price { font-size:50px; }
  .gallery-card img,.gallery-wide img { min-height:240px; }
  .contact-card { padding:30px 24px; }
  .contact-actions { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-links { flex-wrap:wrap; }
  .device-visual { transform:scale(.86);margin-inline:-25px; }
}

/* === Soreva official header logo === */
.brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

.soreva-header-logo {
    display: block;
    width: 175px;
    height: auto;
    max-height: 58px;
    object-fit: contain;
}

@media (max-width: 768px) {
    .soreva-header-logo {
        width: 145px;
        max-height: 50px;
    }
}

/* === Soreva header logo final size === */
.soreva-header-logo {
    width: 125px !important;
    height: auto !important;
    max-width: 125px !important;
    max-height: 46px !important;
    object-fit: contain !important;
}

.brand {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
}

@media (max-width: 768px) {
    .soreva-header-logo {
        width: 110px !important;
        max-width: 110px !important;
        max-height: 42px !important;
    }
}

/* === SOREVA HEADER LOGO FINAL COMPACT SIZE === */
.site-header .brand {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    flex: 0 0 auto !important;
}

.site-header .soreva-header-logo {
    display: block !important;
    width: 110px !important;
    max-width: 110px !important;
    height: auto !important;
    max-height: 42px !important;
    object-fit: contain !important;
}

@media (max-width: 768px) {
    .site-header .soreva-header-logo {
        width: 95px !important;
        max-width: 95px !important;
        max-height: 38px !important;
    }
}

/* ===== SOREVA HERO TEXT FIX ===== */
.hero h1,
.hero-title,
.hero__title,
.hero-content h1,
.hero-left h1,
.login-hero h1,
.auth-hero h1,
section.hero h1,
main section:first-of-type h1,
h1.hero-heading {
    font-size: clamp(42px, 4.8vw, 78px) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.02em !important;
    max-width: 9ch !important;
    word-break: break-word !important;
}

@media (max-width: 1280px) {
    .hero h1,
    .hero-title,
    .hero__title,
    .hero-content h1,
    .hero-left h1,
    .login-hero h1,
    .auth-hero h1,
    section.hero h1,
    main section:first-of-type h1,
    h1.hero-heading {
        font-size: clamp(38px, 4.2vw, 68px) !important;
        line-height: 0.97 !important;
        max-width: 10ch !important;
    }
}

@media (max-width: 992px) {
    .hero h1,
    .hero-title,
    .hero__title,
    .hero-content h1,
    .hero-left h1,
    .login-hero h1,
    .auth-hero h1,
    section.hero h1,
    main section:first-of-type h1,
    h1.hero-heading {
        font-size: clamp(34px, 3.8vw, 56px) !important;
        line-height: 1.02 !important;
        max-width: 11ch !important;
    }
}

@media (max-width: 768px) {
    .hero h1,
    .hero-title,
    .hero__title,
    .hero-content h1,
    .hero-left h1,
    .login-hero h1,
    .auth-hero h1,
    section.hero h1,
    main section:first-of-type h1,
    h1.hero-heading {
        font-size: clamp(28px, 7vw, 44px) !important;
        line-height: 1.05 !important;
        max-width: 100% !important;
    }
}
/* ===== END SOREVA HERO TEXT FIX ===== */


/* === SOREVA PUBLIC HERO TITLE FINAL FIX === */
.hero-copy h1 {
    font-size: 48px !important;
    line-height: 1.04 !important;
    letter-spacing: -0.025em !important;

    max-width: 650px !important;
    width: 100% !important;

    margin-top: 22px !important;
    margin-bottom: 22px !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
}

.hero-copy h1 em {
    font-size: inherit !important;
    line-height: inherit !important;
}

@media (max-width: 1200px) {
    .hero-copy h1 {
        font-size: 44px !important;
        max-width: 580px !important;
    }
}

@media (max-width: 768px) {
    .hero-copy h1 {
        font-size: 36px !important;
        line-height: 1.08 !important;
        max-width: 100% !important;
    }
}

@media (max-width: 480px) {
    .hero-copy h1 {
        font-size: 32px !important;
    }
}

/* === SOREVA PUBLIC TITLE ACTUAL SMALL SIZE === */
.hero-copy h1,
.hero .hero-copy h1 {
    font-size: 34px !important;
    line-height: 1.10 !important;
    letter-spacing: -0.015em !important;
    max-width: 560px !important;
    width: 100% !important;
    margin: 18px 0 18px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.hero-copy h1 em,
.hero .hero-copy h1 em {
    font-size: inherit !important;
    line-height: inherit !important;
}

@media (max-width: 768px) {
    .hero-copy h1,
    .hero .hero-copy h1 {
        font-size: 29px !important;
        line-height: 1.12 !important;
        max-width: 100% !important;
    }
}
