
:root{
  --bg:#f7f8f5;
  --surface:#ffffff;
  --surface-soft:#f1f4f0;
  --line:#e2e8e2;
  --text:#101311;
  --muted:#647068;
  --soft:#85908a;
  --accent:#315f4d;
  --accent-2:#457965;
  --accent-soft:#e4eee8;
  --shadow-sm:0 12px 32px rgba(19,34,28,.06);
  --shadow-md:0 24px 70px rgba(19,34,28,.10);
  --shadow-lg:0 42px 110px rgba(19,34,28,.15);
  --radius:24px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.menu-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.container{width:min(var(--container),calc(100% - 48px));margin:auto}
.section{padding:100px 0}
.eyebrow{
  font-size:11px;
  line-height:1;
  font-weight:750;
  letter-spacing:.18em;
  color:#6d7b72;
  text-transform:uppercase;
}
.icon{width:22px;height:22px;display:inline-block;vertical-align:middle}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:999;background:#fff;padding:12px 16px;border-radius:10px;box-shadow:var(--shadow-sm)}
.header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(247,248,245,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid transparent;
  transition:.2s ease;
}
.header.scrolled{border-color:var(--line)}
.nav{
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:21px;
  font-weight:760;
  letter-spacing:-.04em;
}
.brand img{width:40px;height:40px;object-fit:contain}
.brand span{color:#647068;font-weight:550}
.nav-links{
  display:flex;
  align-items:center;
  gap:30px;
  color:#344038;
  font-size:14px;
}
.nav-links a:hover,.text-link:hover{color:var(--accent)}
.nav-actions{
  display:flex;
  align-items:center;
  gap:14px;
}
.text-link{font-size:14px;color:#344038}
.btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:14px;
  font-weight:680;
  letter-spacing:-.01em;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--accent);color:#fff;box-shadow:0 14px 28px rgba(49,95,77,.18)}
.btn.primary:hover{background:#274d3d}
.btn.secondary{background:#fff;border-color:#d7ded8;color:#141816}
.btn.secondary:hover{box-shadow:var(--shadow-sm)}
.btn.ghost{background:transparent;border-color:#d7ded8}
.btn.small{min-height:40px;padding:0 16px}
.btn.large{min-height:56px;padding:0 28px;font-size:15px}
.menu-toggle{
  display:none;
  width:42px;height:42px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  align-items:center;justify-content:center;
  flex-direction:column;gap:5px;
}
.menu-toggle i{
  width:17px;height:1.5px;
  background:#1d211f;
  transition:.2s ease;
}
.menu-toggle.open i:first-child{transform:translateY(3px) rotate(45deg)}
.menu-toggle.open i:last-child{transform:translateY(-3px) rotate(-45deg)}
.mobile-menu{
  position:fixed;
  inset:78px 0 0;
  background:rgba(247,248,245,.99);
  padding:24px;
  display:flex;
  flex-direction:column;
  transform:translateY(-110%);
  opacity:0;
  pointer-events:none;
  transition:.25s ease;
}
.mobile-menu.open{transform:none;opacity:1;pointer-events:auto}
.mobile-menu a:not(.btn){
  font-size:28px;
  font-weight:720;
  letter-spacing:-.04em;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.mobile-menu .btn{margin-top:18px}

.hero{
  position:relative;
  overflow:hidden;
  padding:94px 0 76px;
}
.hero::before{
  content:"";
  position:absolute;
  width:680px;height:680px;
  left:-300px;top:-10px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(228,238,232,.9),rgba(228,238,232,0) 70%);
  pointer-events:none;
}
.hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:64px;
  align-items:center;
}
.hero-copy h1{
  margin:20px 0 0;
  font-size:clamp(58px,7vw,98px);
  line-height:.92;
  letter-spacing:-.075em;
  font-weight:760;
}
.hero-copy h1 em{font-style:normal;color:var(--accent)}
.hero-copy .lead{
  max-width:590px;
  margin:28px 0 0;
  font-size:20px;
  line-height:1.58;
  color:#526058;
  letter-spacing:-.02em;
}
.hero-actions{
  margin-top:34px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.micro-points{
  margin-top:20px;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  color:#69756e;
  font-size:13px;
}
.micro-points b{color:#1d221f}

.device-stage{
  position:relative;
  min-height:690px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.device-glow{
  position:absolute;
  inset:8% 0 0 12%;
  background:radial-gradient(circle at center, rgba(57,104,86,.18), rgba(57,104,86,0) 65%);
  filter:blur(14px);
  pointer-events:none;
}

.desktop-device{
  position:relative;
  width:min(100%,790px);
  transform:perspective(1800px) rotateX(4deg);
  z-index:1;
}
.desktop-shell{
  position:relative;
  border-radius:32px 32px 18px 18px;
  padding:18px 18px 0;
  background:linear-gradient(180deg,#202524,#131716 28%,#0d1110 100%);
  box-shadow:0 45px 100px rgba(16,27,22,.22);
}
.desktop-shell::before{
  content:"";
  position:absolute;
  top:9px;left:50%;
  width:94px;height:10px;
  margin-left:-47px;
  border-radius:0 0 12px 12px;
  background:#070909;
}
.desktop-screen{
  position:relative;
  overflow:hidden;
  border-radius:18px 18px 0 0;
  background:#fff;
  aspect-ratio:1365 / 767;
  border:1px solid rgba(255,255,255,.08);
}
.desktop-screen img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center top;
  background:#fff;
}
.desktop-screen::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,0) 18%,rgba(255,255,255,0) 62%,rgba(255,255,255,.07) 100%);
  pointer-events:none;
}
.desktop-stand{
  width:84px;height:64px;
  margin:0 auto;
  background:linear-gradient(180deg,#dce2de,#b8c1bb);
  clip-path:polygon(36% 0,64% 0,82% 100,18% 100%);
}
.desktop-base{
  width:280px;height:18px;
  margin:-3px auto 0;
  border-radius:999px;
  background:linear-gradient(180deg,#d4dad5,#b4bcb6);
  box-shadow:0 20px 30px rgba(0,0,0,.08);
}

.phone-device{
  position:absolute;
  right:-8px;
  bottom:34px;
  width:210px;
  height:440px;
  border-radius:46px;
  padding:9px;
  background:linear-gradient(180deg,#191f1d,#0f1412);
  box-shadow:0 30px 70px rgba(16,29,23,.26);
  z-index:2;
}
.phone-device::before{
  content:"";
  position:absolute;
  width:106px;height:26px;
  left:50%;top:9px;
  margin-left:-53px;
  border-radius:0 0 18px 18px;
  background:#070909;
  z-index:4;
}
.phone-screen{
  position:relative;
  width:100%;height:100%;
  border-radius:37px;
  overflow:hidden;
  background:#fff;
}
.phone-screen img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top;
}
.phone-screen::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(112deg,rgba(255,255,255,.14),rgba(255,255,255,0) 18%,rgba(255,255,255,0) 66%,rgba(255,255,255,.08));
  pointer-events:none;
}
.float-card{
  position:absolute;
  z-index:3;
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  backdrop-filter:blur(12px);
  box-shadow:var(--shadow-md);
  border-radius:18px;
  padding:14px 16px;
}
.float-card strong{display:block;font-size:12px}
.float-card small{display:block;margin-top:4px;font-size:10px;color:var(--soft)}
.float-card.top{top:54px;right:-10px}
.float-card.bottom{left:-6px;bottom:136px}

.proofbar{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.56);
}
.proofgrid{
  min-height:112px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
}
.proof{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 24px;
  border-left:1px solid var(--line);
}
.proof:first-child{border-left:0;padding-left:0}
.iconbox{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:15px;
  background:var(--accent-soft);
  color:var(--accent);
  flex:0 0 auto;
}
.proof strong{display:block;font-size:13px}
.proof small{display:block;font-size:10px;color:var(--soft);margin-top:4px}

.heading{
  max-width:840px;
  margin-bottom:46px;
}
.heading.center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.heading h2{
  margin:16px 0 0;
  font-size:clamp(42px,5vw,66px);
  line-height:.98;
  letter-spacing:-.065em;
}
.heading p{
  margin:18px 0 0;
  font-size:17px;
  line-height:1.68;
  color:var(--muted);
}

.solutions-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
}
.solution-card{
  min-height:218px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:start;
  padding:28px;
  border-radius:26px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.78);
  transition:transform .2s ease, box-shadow .2s ease;
}
.solution-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.solution-card.featured{background:linear-gradient(145deg,#edf4ef,#ffffff)}
.solution-card.wide{grid-column:1 / -1;min-height:190px}
.solution-card .tag{
  display:block;
  font-size:10px;
  color:#7a847d;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:750;
}
.solution-card h3{
  margin:10px 0 0;
  font-size:23px;
  letter-spacing:-.04em;
}
.solution-card p{
  margin:8px 0 0;
  font-size:13px;
  color:var(--muted);
  line-height:1.6;
  max-width:460px;
}
.round-arrow{
  width:36px;height:36px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid var(--line);
  color:#6a756f;
}

.cards-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.card{
  padding:28px;
  border-radius:24px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow:0 12px 40px rgba(19,34,28,.03);
}
.card.benefit{
  min-height:248px;
  background:
    radial-gradient(circle at 12% 0, rgba(228,238,232,.85), rgba(228,238,232,0) 38%),
    #fff;
}
.card .iconbox{margin-bottom:48px}
.card h3{
  margin:0;
  font-size:23px;
  letter-spacing:-.04em;
}
.card p{
  margin:10px 0 0;
  font-size:14px;
  color:var(--muted);
  line-height:1.6;
}

.features-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:24px;
}
.feature{
  text-align:center;
}
.feature .iconbox{margin:0 auto}
.feature h3{margin:14px 0 0;font-size:14px}
.feature p{margin:6px 0 0;font-size:11px;color:var(--soft);line-height:1.45}

.pricing-section{
  background:linear-gradient(180deg,transparent,rgba(239,243,238,.85) 15%,rgba(239,243,238,.85) 85%,transparent);
}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.price-card{
  position:relative;
  min-height:520px;
  display:flex;
  flex-direction:column;
  padding:28px;
  border-radius:26px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.84);
}
.price-card.best{
  background:linear-gradient(180deg,#f3f8f4,#eaf3ed);
  border-color:#a8c3b4;
  box-shadow:0 24px 60px rgba(49,95,77,.12);
  transform:translateY(-8px);
}
.badge{
  position:absolute;
  top:-13px;right:20px;
  padding:7px 12px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  font-size:9px;
  font-weight:750;
  letter-spacing:.08em;
}
.price-card h3{margin:0;font-size:25px;letter-spacing:-.04em}
.price-sub{margin:5px 0 0;color:#77817a;font-size:12px;line-height:1.5}
.price{
  margin:28px 0 22px;
  display:flex;align-items:flex-end;gap:6px;
}
.price strong{font-size:44px;line-height:1;letter-spacing:-.05em}
.price span{font-size:11px;color:#717b75;margin-bottom:5px}
.price-card ul{
  list-style:none;
  padding:0;margin:0 0 28px;
  display:flex;flex-direction:column;gap:10px;
}
.price-card li{
  position:relative;
  padding-left:22px;
  color:#526058;
  font-size:13px;
}
.price-card li::before{
  content:"✓";
  position:absolute;left:0;
  color:var(--accent);
  font-weight:750;
}
.price-card .btn{margin-top:auto}
.billing-note{
  margin-top:18px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}

.resource-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.resource{
  display:block;
  padding:26px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  transition:transform .2s ease, box-shadow .2s ease;
}
.resource:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.resource .kicker{
  color:var(--accent);
  font-size:10px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.resource h3{
  margin:12px 0 0;
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.04em;
}
.resource p{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
}
.resource .read{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  font-size:13px;
  font-weight:650;
}

.faq{
  max-width:900px;
  margin:auto;
  border-top:1px solid var(--line);
}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  cursor:pointer;
  list-style:none;
  font-size:16px;
  font-weight:640;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";
  font-size:24px;
  font-weight:300;
  color:#78827b;
  transition:.2s ease;
}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{
  margin:-8px 0 24px;
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
  max-width:760px;
}

.cta{
  position:relative;
  overflow:hidden;
  min-height:390px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:30px;
  padding:56px;
  border-radius:34px;
  border:1px solid #d3ddd6;
  background:
    radial-gradient(circle at 86% 20%, rgba(255,255,255,.84), rgba(255,255,255,0) 34%),
    linear-gradient(135deg,#e6eee9,#dce8e1);
}
.cta::before{
  content:"";
  position:absolute;
  width:360px;height:360px;
  right:-90px;top:-120px;
  border-radius:50%;
  border:1px solid rgba(49,95,77,.14);
}
.cta::after{
  content:"";
  position:absolute;
  width:220px;height:220px;
  right:110px;top:110px;
  border-radius:50%;
  border:1px solid rgba(49,95,77,.10);
}
.cta h2{
  margin:15px 0 0;
  font-size:clamp(46px,5.5vw,72px);
  line-height:.96;
  letter-spacing:-.065em;
}
.cta p{
  margin:18px 0 0;
  color:#5a675f;
  font-size:16px;
}
.cta-actions{
  position:relative;
  z-index:2;
  text-align:right;
}
.cta-actions .micro-points{justify-content:flex-end}

.footer{
  margin-top:34px;
  padding:34px 0 26px;
  border-top:1px solid var(--line);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr;
  gap:40px;
  padding:26px 0 42px;
}
.footer p,.footer span{
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.footer-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  font-size:13px;
}
.footer-links a:hover{color:var(--accent)}
.footer-bottom{
  min-height:50px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  padding-top:14px;
  border-top:1px solid var(--line);
  color:#88928b;
  font-size:11px;
}

/* ADMIN */
.admin-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:280px 1fr;
  background:var(--bg);
}
.admin-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:22px;
  border-right:1px solid var(--line);
  background:rgba(255,255,255,.74);
  backdrop-filter:blur(18px);
}
.admin-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:28px;
  font-size:21px;
  font-weight:760;
  letter-spacing:-.04em;
}
.admin-brand img{width:40px;height:40px}
.admin-brand span{color:#637068;font-weight:550}
.admin-nav{
  display:grid;
  gap:8px;
}
.admin-link{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:0 14px;
  border-radius:14px;
  color:#3f4a43;
  font-size:14px;
}
.admin-link.active,.admin-link:hover{
  background:#fff;
  box-shadow:var(--shadow-sm);
}
.admin-side-box{
  margin-top:24px;
  padding:18px;
  border-radius:20px;
  border:1px solid var(--line);
  background:#fff;
}
.admin-side-box h4{
  margin:0 0 8px;
  font-size:13px;
}
.admin-side-box p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}

.admin-main{
  min-width:0;
  padding:26px 28px 42px;
}
.admin-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:24px;
}
.admin-top h1{
  margin:0;
  font-size:40px;
  line-height:1;
  letter-spacing:-.05em;
}
.admin-top p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:15px;
}
.admin-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.admin-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.admin-card{
  grid-column:span 12;
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 36px rgba(19,34,28,.03);
}
.admin-card h2{
  margin:0;
  font-size:22px;
  letter-spacing:-.04em;
}
.admin-card .admin-sub{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}
.span-4{grid-column:span 4}
.span-5{grid-column:span 5}
.span-6{grid-column:span 6}
.span-7{grid-column:span 7}
.span-8{grid-column:span 8}
.kpi-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.kpi{
  padding:18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:var(--surface-soft);
}
.kpi strong{
  display:block;
  font-size:30px;
  letter-spacing:-.05em;
}
.kpi span{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:var(--muted);
}
.form-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.field{
  display:grid;
  gap:8px;
}
.field.full{grid-column:1/-1}
.field label{
  font-size:12px;
  font-weight:650;
  color:#4a554e;
}
.field input,.field textarea,.field select{
  width:100%;
  padding:14px 14px;
  border-radius:16px;
  border:1px solid #d9e0db;
  background:#fbfcfb;
  color:#141816;
  outline:none;
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#b8cbbf;box-shadow:0 0 0 4px rgba(49,95,77,.08)}
.inline-actions{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.preview-panel{
  margin-top:18px;
  padding:24px;
  border-radius:22px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#f7f9f7,#eef4f0);
}
.preview-panel .mini-eyebrow{
  font-size:10px;
  font-weight:750;
  letter-spacing:.16em;
  color:#6c786f;
}
.preview-panel h3{
  margin:12px 0 0;
  font-size:36px;
  line-height:1;
  letter-spacing:-.05em;
}
.preview-panel p{
  margin:16px 0 0;
  font-size:14px;
  line-height:1.65;
  color:var(--muted);
  max-width:580px;
}
.preview-cta{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  font-size:13px;
  font-weight:680;
}
.table{
  width:100%;
  border-collapse:collapse;
  margin-top:18px;
}
.table th,.table td{
  padding:14px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  font-size:13px;
}
.table th{
  color:#6a746e;
  font-weight:650;
  font-size:12px;
}
.status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:680;
}
.status.ok{background:#e6f3eb;color:#2b6b4d}
.status.warn{background:#fff4dd;color:#8b6a1c}
.status.gray{background:#edf1ee;color:#607067}
.small-note{
  margin-top:14px;
  color:var(--soft);
  font-size:12px;
  line-height:1.6;
}
.login-card{
  max-width:480px;
  margin:8vh auto 0;
}
.hide{display:none !important}

@media (max-width:1080px){
  .nav-links{display:none}
  .menu-toggle{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:56px}
  .proofgrid{grid-template-columns:repeat(2,1fr)}
  .proof:nth-child(3){border-left:0}
  .cards-3{grid-template-columns:1fr 1fr}
  .features-grid{grid-template-columns:repeat(3,1fr);row-gap:38px}
  .pricing-grid{grid-template-columns:1fr 1fr}
  .price-card.best{transform:none}
  .price-card:last-child{grid-column:1 / -1;max-width:530px;justify-self:center;width:100%}
  .resource-grid{grid-template-columns:1fr 1fr}
  .cta{grid-template-columns:1fr}
  .cta-actions{text-align:left}
  .cta-actions .micro-points{justify-content:flex-start}
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{display:none}
  .admin-main{padding:22px 18px 34px}
  .span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .container{width:min(var(--container),calc(100% - 28px))}
  .nav{height:68px}
  .nav-actions>.text-link,.nav-actions>.btn{display:none}
  .mobile-menu{inset:68px 0 0}
  .section{padding:76px 0}
  .hero{padding-top:58px}
  .hero-copy h1{font-size:52px}
  .hero-copy .lead{font-size:17px}
  .hero-actions{display:grid}
  .hero-actions .btn{width:100%}
  .device-stage{min-height:auto;padding-bottom:8px}
  .desktop-device{transform:none}
  .desktop-shell{padding:10px 10px 0;border-radius:22px 22px 12px 12px}
  .desktop-screen{border-radius:14px 14px 0 0}
  .desktop-stand{width:62px;height:48px}
  .desktop-base{width:190px;height:14px}
  .phone-device{
    width:138px;height:292px;
    right:-3px;bottom:-8px;
    border-radius:30px;padding:7px;
  }
  .phone-device::before{width:72px;height:18px;top:7px;margin-left:-36px}
  .phone-screen{border-radius:24px}
  .float-card{display:none}
  .proofgrid{grid-template-columns:1fr}
  .proof{
    border-left:0;
    border-top:1px solid var(--line);
    padding:18px 0;
  }
  .proof:first-child{border-top:0}
  .solutions-grid,.cards-3,.pricing-grid,.resource-grid{grid-template-columns:1fr}
  .solution-card.wide{grid-column:auto}
  .solution-card{min-height:auto;grid-template-columns:auto 1fr;padding:22px}
  .round-arrow{display:none}
  .features-grid{grid-template-columns:repeat(2,1fr);gap:30px 16px}
  .price-card:last-child{grid-column:auto;max-width:none}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .admin-top{flex-direction:column;align-items:flex-start}
  .kpi-grid,.form-grid{grid-template-columns:1fr}
}


/* BLOG */
.blog-hero{
  padding:82px 0 54px;
}
.blog-hero h1{
  max-width:900px;
  margin:16px 0 0;
  font-size:clamp(50px,6vw,78px);
  line-height:.95;
  letter-spacing:-.07em;
}
.blog-hero p{
  max-width:720px;
  margin:22px 0 0;
  color:var(--muted);
  font-size:18px;
  line-height:1.65;
}
.blog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.blog-card{
  min-height:300px;
  display:flex;
  flex-direction:column;
  padding:26px;
  border:1px solid var(--line);
  border-radius:25px;
  background:#fff;
  transition:.2s ease;
}
.blog-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-sm);
}
.blog-card .category{
  font-size:10px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--accent);
}
.blog-card h2{
  margin:14px 0 0;
  font-size:23px;
  line-height:1.17;
  letter-spacing:-.04em;
}
.blog-card p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}
.blog-meta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:24px;
  color:var(--soft);
  font-size:11px;
}
.article-hero{
  padding:72px 0 36px;
}
.article-hero .crumbs{
  margin-bottom:22px;
  font-size:12px;
  color:var(--soft);
}
.article-hero h1{
  max-width:900px;
  margin:15px 0 0;
  font-size:clamp(44px,5.4vw,70px);
  line-height:1;
  letter-spacing:-.065em;
}
.article-hero .excerpt{
  max-width:780px;
  margin:22px 0 0;
  color:var(--muted);
  font-size:18px;
  line-height:1.65;
}
.article-meta{
  margin-top:22px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:12px;
  color:var(--soft);
}
.article-wrap{
  display:grid;
  grid-template-columns:minmax(0,790px) 280px;
  gap:58px;
  align-items:start;
}
.article-body{
  font-size:17px;
  line-height:1.78;
  color:#445149;
}
.article-body h2{
  margin:48px 0 14px;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-.045em;
  color:var(--text);
}
.article-body h3{
  margin:34px 0 10px;
  font-size:23px;
  line-height:1.2;
  letter-spacing:-.035em;
  color:var(--text);
}
.article-body p{
  margin:0 0 20px;
}
.article-body ul,.article-body ol{
  padding-left:24px;
  margin:0 0 22px;
}
.article-body li{margin:7px 0}
.article-body blockquote{
  margin:28px 0;
  padding:20px 22px;
  border-left:3px solid var(--accent);
  border-radius:0 16px 16px 0;
  background:var(--accent-soft);
  color:#405148;
}
.article-body a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.article-sidebar{
  position:sticky;
  top:100px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.article-sidebar h3{
  margin:0 0 12px;
  font-size:16px;
}
.article-sidebar p{
  margin:0 0 16px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.article-sidebar .btn{width:100%}
.empty-state{
  padding:46px;
  border:1px dashed #cbd6ce;
  border-radius:24px;
  text-align:center;
  color:var(--muted);
}

/* REAL ADMIN BLOG */
.admin-login{
  max-width:480px;
  margin:9vh auto;
  padding:32px;
  border:1px solid var(--line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--shadow-md);
}
.admin-login .brand{margin-bottom:24px}
.alert{
  margin:16px 0;
  padding:13px 15px;
  border-radius:14px;
  font-size:13px;
  line-height:1.5;
}
.alert.error{background:#fff0f0;color:#8c3737;border:1px solid #f0d2d2}
.alert.success{background:#eaf5ee;color:#2d694b;border:1px solid #cee4d5}
.admin-headerbar{
  margin-bottom:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.admin-headerbar h1{
  margin:0;
  font-size:40px;
  letter-spacing:-.055em;
}
.admin-headerbar p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:14px;
}
.admin-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
.admin-tabs a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  padding:0 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:13px;
}
.admin-tabs a.active{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
}
.post-table{
  width:100%;
  border-collapse:collapse;
  margin-top:18px;
}
.post-table th,.post-table td{
  padding:14px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
  vertical-align:top;
  font-size:13px;
}
.post-table th{
  font-size:11px;
  color:var(--soft);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.post-title{
  font-weight:680;
}
.post-slug{
  margin-top:4px;
  color:var(--soft);
  font-size:11px;
}
.post-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.post-actions a,.post-actions button{
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  font-size:11px;
}
.editor-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:18px;
}
.editor-card{
  padding:24px;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
}
.editor-card h2{
  margin:0 0 18px;
  font-size:20px;
  letter-spacing:-.035em;
}
.admin-field{
  display:grid;
  gap:8px;
  margin-bottom:16px;
}
.admin-field label{
  font-size:12px;
  font-weight:650;
}
.admin-field input,.admin-field textarea,.admin-field select{
  width:100%;
  padding:13px 14px;
  border:1px solid #d8e0da;
  border-radius:14px;
  background:#fbfcfb;
  outline:none;
}
.admin-field input:focus,.admin-field textarea:focus,.admin-field select:focus{
  border-color:#abc3b4;
  box-shadow:0 0 0 4px rgba(49,95,77,.08);
}
.admin-field textarea.content-editor{
  min-height:480px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:13px;
  line-height:1.6;
}
.editor-help{
  padding:16px;
  border-radius:16px;
  background:var(--surface-soft);
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.seo-preview{
  margin-top:16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.seo-preview .url{font-size:11px;color:#4b705f}
.seo-preview .title{
  margin-top:5px;
  color:#1a0dab;
  font-size:18px;
  line-height:1.25;
}
.seo-preview .desc{
  margin-top:5px;
  color:#4d5156;
  font-size:12px;
  line-height:1.5;
}
.admin-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:20px;
}
.admin-kpi{
  padding:19px;
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
}
.admin-kpi strong{
  display:block;
  font-size:30px;
  letter-spacing:-.05em;
}
.admin-kpi span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
}

@media(max-width:1080px){
  .blog-grid{grid-template-columns:1fr 1fr}
  .article-wrap{grid-template-columns:1fr}
  .article-sidebar{position:static}
  .editor-layout{grid-template-columns:1fr}
}
@media(max-width:760px){
  .blog-grid{grid-template-columns:1fr}
  .article-hero h1{font-size:43px}
  .article-body{font-size:16px}
  .admin-kpis{grid-template-columns:1fr 1fr}
  .admin-headerbar{align-items:flex-start;flex-direction:column}
  .post-table{display:block;overflow-x:auto}
}


/* =========================================================
   NOTEBOOK + IPHONE MOCKUP
   Estrutura baseada no mockup fornecido pelo proprietário.
   ========================================================= */

.mockup-wrap {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(26px, 4.5vw, 72px);
  max-width: 820px;
  width: 100%;
  min-height: 610px;
  padding: 26px 0 12px;
}

.laptop {
  position: relative;
  width: min(52vw, 650px);
  flex-shrink: 0;
  filter: drop-shadow(0 34px 65px rgba(18,29,24,.14));
}

.laptop-screen-frame {
  background: linear-gradient(160deg, #3a3c42, #1a1c20);
  border-radius: 18px 18px 6px 6px;
  padding: 14px 14px 20px;
  box-shadow: 0 40px 80px -20px rgba(0,0,0,.35);
}

.laptop-camera {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #444;
  margin: 0 auto 10px;
  box-shadow: 0 0 0 2px #1a1c20;
}

.laptop-screen {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: #111318;
  border-radius: 4px;
  overflow: hidden;
}

.laptop-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    118deg,
    rgba(255,255,255,.10) 0%,
    rgba(255,255,255,0) 17%,
    rgba(255,255,255,0) 72%,
    rgba(255,255,255,.05) 100%
  );
}

.laptop-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.laptop-base {
  height: 16px;
  background: linear-gradient(180deg, #d8dadf, #b9bcc3);
  border-radius: 0 0 10px 10px;
  position: relative;
}

.laptop-base::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 90px;
  height: 6px;
  background: #9a9ca3;
  border-radius: 0 0 8px 8px;
}

.laptop-shadow {
  width: 92%;
  height: 22px;
  margin: 6px auto 0;
  background: radial-gradient(
    ellipse at center,
    rgba(0,0,0,.24),
    transparent 70%
  );
  border-radius: 50%;
}

.phone {
  position: relative;
  width: min(17vw, 205px);
  flex-shrink: 0;
  transform: translateY(-6px);
  filter: drop-shadow(0 28px 55px rgba(18,29,24,.18));
}

.phone-frame {
  position: relative;
  background: linear-gradient(160deg, #3a3c42, #1a1c20);
  border-radius: 46px;
  padding: 10px;
  box-shadow: 0 30px 60px -15px rgba(0,0,0,.32);
}

.phone-frame::before,
.phone-frame::after {
  content: "";
  position: absolute;
  left: -3px;
  width: 3px;
  border-radius: 2px 0 0 2px;
  background: #2b2d33;
}

.phone-frame::before {
  top: 86px;
  height: 42px;
}

.phone-frame::after {
  top: 140px;
  height: 66px;
}

.phone-screen {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 19.5;
  background: #111318;
  border-radius: 36px;
  overflow: hidden;
}

.phone-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    115deg,
    rgba(255,255,255,.09),
    rgba(255,255,255,0) 18%,
    rgba(255,255,255,0) 74%,
    rgba(255,255,255,.05)
  );
}

.phone-screen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.phone-island {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  width: 34%;
  height: 22px;
  background: #05060a;
  border-radius: 20px;
  z-index: 3;
}

.phone-home-indicator {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 34%;
  height: 4px;
  background: rgba(255,255,255,.72);
  border-radius: 4px;
  z-index: 3;
}

/* Neutraliza o mockup antigo desta versão, caso ainda exista CSS legado */
.device-stage,
.device-glow,
.desktop-device,
.desktop-shell,
.desktop-screen,
.desktop-stand,
.desktop-base,
.phone-device,
.float-card {
  /* legacy classes mantidas sem efeito no novo HTML */
}

@media (max-width: 1080px) {
  .mockup-wrap {
    max-width: 900px;
    min-height: 560px;
  }

  .laptop {
    width: min(70vw, 690px);
  }

  .phone {
    width: min(21vw, 205px);
  }
}

@media (max-width: 720px) {
  .mockup-wrap {
    flex-direction: column;
    align-items: center;
    gap: 52px;
    min-height: auto;
    padding-top: 10px;
  }

  .laptop {
    width: min(88vw, 480px);
  }

  .phone {
    width: min(45vw, 220px);
    transform: none;
  }
}


/* =========================================================
   v10 override — mockup sizes corrected
   - keep notebook + iPhone model
   - restore cleaner size balance like previous version
   - show full desktop screenshot inside the laptop screen
   ========================================================= */

.hero-grid{
  align-items:center;
}

.mockup-wrap{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  width:min(100%, 790px);
  max-width:790px;
  min-height:600px;
  margin-inline:auto;
  padding:18px 0 8px;
  gap:0;
}

.laptop{
  position:relative;
  width:min(100%, 700px);
  max-width:700px;
  flex-shrink:0;
  filter:drop-shadow(0 28px 60px rgba(18,29,24,.12));
}

.laptop-screen-frame{
  border-radius:18px 18px 6px 6px;
  padding:12px 12px 18px;
  box-shadow:0 32px 70px -22px rgba(0,0,0,.30);
}

.laptop-camera{
  margin:0 auto 8px;
}

.laptop-screen{
  width:100%;
  aspect-ratio:1365 / 767;
  background:#ffffff;
  border-radius:6px;
  overflow:hidden;
}

.laptop-screen img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  background:#ffffff;
}

.laptop-base{
  height:14px;
}

.laptop-base::after{
  width:84px;
  height:5px;
}

.laptop-shadow{
  width:88%;
  height:18px;
  margin:4px auto 0;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.20), transparent 72%);
}

.phone{
  position:absolute;
  right:2px;
  bottom:24px;
  width:182px;
  max-width:182px;
  flex-shrink:0;
  transform:none;
  z-index:3;
  filter:drop-shadow(0 24px 45px rgba(18,29,24,.18));
}

.phone-frame{
  border-radius:42px;
  padding:9px;
}

.phone-screen{
  border-radius:33px;
}

.phone-screen img{
  object-fit:cover;
  object-position:center top;
}

.phone-island{
  top:12px;
  height:20px;
}

.phone-home-indicator{
  bottom:7px;
}

@media (max-width: 1080px){
  .mockup-wrap{
    width:min(100%, 720px);
    max-width:720px;
    min-height:540px;
  }

  .laptop{
    width:min(100%, 640px);
    max-width:640px;
  }

  .phone{
    width:164px;
    max-width:164px;
    right:0;
    bottom:22px;
  }
}

@media (max-width: 760px){
  .mockup-wrap{
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:34px;
    min-height:auto;
    width:100%;
    max-width:none;
    padding-top:6px;
  }

  .laptop{
    width:min(100%, 480px);
    max-width:480px;
  }

  .laptop-screen{
    aspect-ratio:1365 / 767;
  }

  .phone{
    position:relative;
    right:auto;
    bottom:auto;
    width:min(42vw, 200px);
    max-width:200px;
  }
}
