/* Arco — v3 (visually distinct) */
:root{
  --bg: #f6f1ea;
  --paper: #fffdf9;
  --ink: #1b1b1f;
  --muted: #54545c;

  --navy: #0f233d;
  --terra: #c65a3a;
  --sage: #2e7d6b;
  --gold: #d8b25a;

  --line: rgba(15,35,61,.14);
  --shadow: 0 16px 34px rgba(15,35,61,.14);
  --shadow2: 0 10px 22px rgba(15,35,61,.10);

  --r: 22px;
  --r2: 16px;
  --max: 1180px;
}

*{box-sizing:border-box}
html{font-size:16px; scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(900px 520px at 8% 0%, rgba(198,90,58,.16), transparent 60%),
    radial-gradient(820px 480px at 92% 10%, rgba(46,125,107,.14), transparent 60%),
    radial-gradient(1000px 620px at 55% 110%, rgba(216,178,90,.16), transparent 62%),
    linear-gradient(180deg, var(--bg) 0%, #f4eee6 40%, var(--bg) 100%);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  line-height:1.6;
}

a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block; border-radius: var(--r2)}
h1,h2,h3{margin:0 0 .9rem; line-height:1.12}
h1{
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  font-size: clamp(2.3rem, 3.6vw, 3.55rem);
  letter-spacing:-.02em;
  color: var(--navy);
}
h2{
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  font-size: clamp(1.6rem, 2.6vw, 2.45rem);
  letter-spacing:-.01em;
  color: var(--navy);
}
h3{font-size:1.15rem; color: var(--navy)}
p{margin:0 0 1rem}
small{font-size:.96rem}

.container{width:min(var(--max), calc(100% - 2rem)); margin:0 auto}
.section{padding:84px 0}
.section.tight{padding:62px 0}

.badge{
  display:inline-flex; gap:10px; align-items:center;
  padding:10px 12px;
  border-radius: 999px;
  background: rgba(15,35,61,.06);
  border:1px solid rgba(15,35,61,.12);
  color: rgba(15,35,61,.92);
  font-weight:800;
}
.badge i{color: var(--terra)}

.lead{font-size:1.06rem; color: var(--muted); max-width: 74ch}

/* Top */
.topbar{
  position:sticky; top:0; z-index:60;
  background: rgba(246,241,234,.75);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(15,35,61,.12);
}
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding: 14px 0;
}
.brand{
  display:flex; align-items:center; gap:12px;
  font-weight:950;
  color: var(--navy);
}
.brand .logo{
  width:40px; height:40px; border-radius: 14px;
  background:
    linear-gradient(135deg, rgba(198,90,58,1), rgba(216,178,90,1));
  box-shadow: 0 12px 22px rgba(198,90,58,.18);
}
.menu{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end}
.menu a{
  padding:10px 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  color: rgba(15,35,61,.92);
  font-weight:800;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
.menu a:hover{
  transform: translateY(-1px);
  background: rgba(15,35,61,.05);
  border-color: rgba(15,35,61,.10);
}
.menu .cta{
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}
.menu .cta:hover{background:#0b1b30}

/* Hero — magazine layout */
.hero{
  padding: 66px 0 32px;
}
.hero-wrap{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items:stretch;
}
.hero-paper{
  background: var(--paper);
  border: 1px solid rgba(15,35,61,.12);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.hero-left{
  padding: 26px 26px 20px;
  position:relative;
}
.hero-left:after{
  content:"";
  position:absolute;
  right:-120px; top:-110px;
  width: 300px; height: 300px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(46,125,107,.20), rgba(46,125,107,0) 64%);
}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top: 18px}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(15,35,61,.14);
  background: rgba(15,35,61,.04);
  font-weight:950;
  color: var(--navy);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.btn:hover{transform: translateY(-1px); background: rgba(15,35,61,.06); border-color: rgba(15,35,61,.20)}
.btn.primary{
  background: linear-gradient(135deg, rgba(198,90,58,1), rgba(216,178,90,1));
  border-color: transparent;
  color: #1a1714;
}
.btn.primary:hover{filter: brightness(.97)}
.hero-strip{
  display:flex; gap:10px; flex-wrap:wrap; margin-top: 18px;
}
.strip{
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px dashed rgba(15,35,61,.22);
  color: rgba(15,35,61,.84);
  background: rgba(15,35,61,.03);
  font-weight:850;
}

.hero-right{
  display:grid;
  grid-template-rows: 1fr auto;
  gap: 14px;
  padding: 14px;
}
.hero-photo{
  position:relative;
  border-radius: var(--r);
  overflow:hidden;
  border: 1px solid rgba(15,35,61,.12);
  min-height: 300px;
}
.hero-photo img{width:100%; height:100%; object-fit:cover; border-radius:0}
.hero-photo .label{
  position:absolute; left:14px; bottom:14px;
  background: rgba(255,253,249,.90);
  border:1px solid rgba(15,35,61,.14);
  border-radius: 999px;
  padding: 10px 12px;
  font-weight:950;
  color: var(--navy);
}
.hero-notes{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.note{
  background: rgba(15,35,61,.04);
  border: 1px solid rgba(15,35,61,.12);
  border-radius: var(--r);
  padding: 14px;
  box-shadow: var(--shadow2);
}
.note i{color: var(--sage)}
.note p{margin:8px 0 0; color: var(--muted)}

/* Editorial blocks */
.grid-2{display:grid; grid-template-columns: 1fr 1fr; gap:18px}
.grid-3{display:grid; grid-template-columns: repeat(3, 1fr); gap:18px}

.panel{
  background: var(--paper);
  border: 1px solid rgba(15,35,61,.12);
  border-radius: var(--r);
  box-shadow: var(--shadow);
}
.panel.pad{padding: 22px}
.kpi{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.kpi .row{
  display:flex; gap:12px; align-items:flex-start;
  padding: 14px;
  border-radius: var(--r);
  border:1px solid rgba(15,35,61,.12);
  background: rgba(15,35,61,.03);
}
.kpi .ico{
  width:46px; height:46px; border-radius: 18px;
  display:grid; place-items:center;
  background: rgba(198,90,58,.12);
  border: 1px solid rgba(198,90,58,.18);
  color: var(--terra);
}
.kpi .row p{margin:.35rem 0 0; color: var(--muted)}

/* “Table-like” solutions */
.sol-table{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 18px;
}
.sol-item{
  display:grid;
  grid-template-columns: 220px 1fr;
  gap: 14px;
  padding: 16px;
  border-radius: var(--r);
  border: 1px solid rgba(15,35,61,.12);
  background: rgba(255,253,249,.92);
}
.sol-tag{
  display:flex; flex-direction:column; gap:8px;
  padding: 12px;
  border-radius: var(--r2);
  border: 1px solid rgba(46,125,107,.18);
  background: rgba(46,125,107,.07);
}
.sol-tag .t{
  font-weight:950;
  color: var(--navy);
  display:flex; gap:10px; align-items:center;
}
.sol-tag i{color: var(--sage)}
.sol-tag .s{color: var(--muted); font-weight:750}
.sol-body p{color: var(--muted); margin:0}
.sol-body ul{margin: 10px 0 0 1.1rem; color: var(--muted)}
.sol-body li{margin:.35rem 0}

/* Timeline */
.timeline{
  margin-top: 18px;
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.step{
  display:grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  padding: 16px;
  border-radius: var(--r);
  background: rgba(15,35,61,.03);
  border: 1px solid rgba(15,35,61,.12);
}
.step .num{
  width:54px; height:54px; border-radius: 20px;
  display:grid; place-items:center;
  font-weight:950;
  color: #1a1714;
  background: linear-gradient(135deg, rgba(216,178,90,1), rgba(198,90,58,1));
  box-shadow: 0 12px 18px rgba(198,90,58,.14);
}
.step p{margin:.35rem 0 0; color: var(--muted)}

/* Reviews */
.reviews{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.review{
  padding: 18px;
  border-radius: var(--r);
  border: 1px solid rgba(15,35,61,.12);
  background: var(--paper);
  box-shadow: var(--shadow2);
}
.stars{display:flex; gap:6px; margin-bottom: 10px}
.stars i{color: var(--gold)}
.quote{color: rgba(15,35,61,.94)}
.who{margin-top: 12px; color: var(--muted); font-weight:850}

/* FAQ */
.faq{margin-top:18px; display:grid; gap:12px}
details{
  border-radius: var(--r);
  border: 1px solid rgba(15,35,61,.12);
  background: var(--paper);
  padding: 14px 14px 12px;
  box-shadow: var(--shadow2);
}
summary{cursor:pointer; font-weight:950; color: var(--navy); list-style:none}
summary::-webkit-details-marker{display:none}
details p{margin-top:10px; color: var(--muted)}

/* Forms */
.form{display:grid; gap:12px; margin-top: 14px}
label{font-weight:900; color: var(--navy)}
input, textarea, select{
  font: inherit;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(15,35,61,.16);
  background: rgba(255,253,249,.95);
  color: var(--ink);
  outline:none;
}
textarea{min-height:120px; resize:vertical}
input:focus, textarea:focus, select:focus{
  border-color: rgba(198,90,58,.55);
  box-shadow: 0 0 0 4px rgba(198,90,58,.14);
}
.form-row{display:grid; grid-template-columns: 1fr 1fr; gap:12px}
.form-actions{display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap}
.helper{color: var(--muted); font-size:.98rem}

/* Footer (dark) */
.footer{
  padding: 58px 0;
  border-top: 1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(900px 520px at 18% 0%, rgba(198,90,58,.22), transparent 60%),
    radial-gradient(820px 480px at 92% 12%, rgba(46,125,107,.18), transparent 60%),
    linear-gradient(180deg, #071425 0%, #071a2f 55%, #06101f 100%);
  color: rgba(255,255,255,.90);
}
.footer h3{color:#ffffff}
.footer a{color: rgba(255,255,255,.92)}
.footer a:hover{text-decoration:underline}
.footer .lead{color: rgba(255,255,255,.74)}
.footer .brand{color:#fff}
.footer .social a{
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color:#fff;
}
.footer .social a:hover{background: rgba(255,255,255,.10)}
.footer hr.sep{border-top:1px solid rgba(255,255,255,.14)}

/* Cookie — home only */
.cookie{
  position:fixed; left: 14px; right: 14px; bottom: 14px; z-index: 120;
}
.cookie .wrap{
  width:min(var(--max), calc(100% - 2rem));
  margin:0 auto;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding: 14px 14px 12px;
  border-radius: var(--r);
  background: rgba(255,253,249,.95);
  border: 1px solid rgba(15,35,61,.14);
  box-shadow: var(--shadow);
}
.cookie p{margin:0; color: var(--muted)}
.cookie .actions{display:flex; gap:10px; flex-wrap:wrap}
.cookie button{
  font: inherit; cursor:pointer;
  border-radius: 16px;
  border: 1px solid rgba(15,35,61,.16);
  padding: 10px 12px;
  background: rgba(15,35,61,.04);
  color: var(--navy);
  font-weight:950;
}
.cookie button.primary{
  border-color: transparent;
  background: linear-gradient(135deg, rgba(198,90,58,1), rgba(216,178,90,1));
  color: #1a1714;
}

/* Modal */
.modal{
  position:fixed; inset:0;
  display:none; align-items:center; justify-content:center;
  padding: 20px;
  z-index: 200;
  background: rgba(15,35,61,.45);
}
.modal.open{display:flex}
.modal .panel{
  width:min(560px, 100%);
  padding: 18px;
  border-radius: var(--r);
  background: rgba(255,253,249,.98);
  border: 1px solid rgba(15,35,61,.16);
  box-shadow: var(--shadow);
}
.modal .row{margin-top: 14px; display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap}
.modal button{
  font: inherit; cursor:pointer;
  border-radius: 16px;
  border: 1px solid rgba(15,35,61,.16);
  padding: 10px 12px;
  background: rgba(15,35,61,.04);
  color: var(--navy);
  font-weight:950;
}
.modal button.primary{
  border-color: transparent;
  background: var(--navy);
  color:#fff;
}

/* Page head */
.pagehead{padding: 64px 0 18px}
.breadcrumb{display:flex; gap:10px; color: var(--muted); margin-bottom:10px}
.breadcrumb a{color: var(--navy)}
.breadcrumb a:hover{text-decoration:underline}

/* Responsive */
@media (max-width: 980px){
  .hero-wrap{grid-template-columns: 1fr}
  .hero-notes{grid-template-columns: 1fr}
  .grid-2{grid-template-columns: 1fr}
  .grid-3{grid-template-columns: 1fr}
  .sol-item{grid-template-columns: 1fr}
  .reviews{grid-template-columns: 1fr}
  .footer-grid{grid-template-columns: 1fr}
  .form-row{grid-template-columns: 1fr}
}


/* Mobile menu */
.burger{
  display:none;
  width:46px; height:46px;
  border-radius: 16px;
  border: 1px solid rgba(15,35,61,.14);
  background: rgba(255,253,249,.70);
  color: var(--navy);
  font: inherit;
  cursor:pointer;
}
.burger i{font-size:1.05rem}
@media (max-width: 980px){
  .burger{display:inline-flex; align-items:center; justify-content:center}
  .menu{
    display:none;
    position: absolute;
    top: 66px;
    right: 1rem;
    left: 1rem;
    background: rgba(255,253,249,.98);
    border: 1px solid rgba(15,35,61,.12);
    border-radius: var(--r);
    box-shadow: var(--shadow);
    padding: 10px;
    gap: 6px;
    flex-direction: column;
    align-items: stretch;
  }
  .menu a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding: 12px 12px;
    border-radius: 16px;
  }
  .menu .cta{justify-content:center}
  .topbar .nav{position:relative}
  .menu.open{display:flex}
  .nav-backdrop{
    display:none;
    position:fixed;
    inset:0;
    background: rgba(15,35,61,.35);
    z-index:50;
  }
  .nav-backdrop.open{display:block}
}
