:root{
  --bg:#f6f7f8;
  --surface:#ffffff;
  --text:#1b1f24;
  --muted:#6b7680;
  --line:#e7edf0;
  --teal:#1aa6a6;
  --teal-2:#159494;
  --teal-soft:rgba(26,166,166,.12);
  --shadow:0 10px 30px rgba(10,22,28,.08);
  --radius:14px;
  --radius-sm:12px;
  --container:1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

a{color:inherit;text-decoration:none}
button{font-family:inherit}

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

.layout{
  width:min(1460px,calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:24px;
  align-items:start;
}
.layout__content .container{
  width:min(var(--container),calc(100% - 24px));
  margin:0 auto;
}
.layout__aside{
  position:sticky;
  top:96px;
  align-self:start;
}
.ads{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.ads img{
  display:block;
  width:300px;
  height:600px;
  border-radius:22px;
  object-fit:contain;
  background:#fff;
}

.storeip-banner{
  width: 300px;
  height: 600px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 28px 24px;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  background:
    radial-gradient(circle at 80% 10%, rgba(0, 210, 190, .45), transparent 28%),
    linear-gradient(160deg, #101820 0%, #1b2b36 55%, #243846 100%);
  border-radius: 22px;
  overflow: hidden;
  position: relative;
}

.storeip-banner::after{
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  right: -80px;
  bottom: 90px;
}

.storeip-banner .badge{
  align-self: flex-start;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-size: 13px;
  letter-spacing: .3px;
}

.storeip-banner .logo{
  margin-top: 52px;
  font-size: 30px;
  font-weight: 800;
  letter-spacing: 1px;
}

.storeip-banner h2{
  margin: 24px 0 0;
  font-size: 34px;
  line-height: 1.05;
  font-weight: 800;
}

.storeip-banner p{
  margin: 22px 0 0;
  font-size: 16px;
  line-height: 1.45;
  color: rgba(255,255,255,.82);
}

.storeip-banner .rating{
  margin-top: 28px;
  font-size: 16px;
  font-weight: 700;
  color: #ffd66b;
}

.storeip-banner .features{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.storeip-banner .features span{
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(255,255,255,.1);
  font-size: 12px;
}

.storeip-banner button{
  margin-top: auto;
  height: 52px;
  border: 0;
  border-radius: 14px;
  background: #18d6c1;
  color: #102027;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
}

.storeip-banner:hover button{
  background: #38f0dc;
}

.header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(246,247,248,.9);
  backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid rgba(231,237,240,.8);
}
.header__inner{
  height:78px;
  display:flex;
  align-items:center;
  gap:20px;
}

.brand{
  font-weight:600;
  font-size:22px;
  letter-spacing:.2px;
  display:flex;
  align-items:baseline;
  gap:0;
  flex:0 0 auto;
}
.brand__my{color:var(--text)}
.brand__cottage{color:var(--teal); margin-left:.5px}
.brand__dot{color:var(--text); margin-left:.5px}
.brand__cc{color:var(--text); font-weight:500; margin-left:.5px}
.brand--footer{font-size:20px}

.nav{
  margin-left:auto;
  display:flex;
  gap:22px;
  font-size:13px;
  color:#516069;
}
.nav__link{
  padding:8px 0;
  position:relative;
}
.nav__link::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:2px;
  height:2px;
  background:transparent;
  border-radius:2px;
  transform:scaleX(.8);
  opacity:0;
  transition:.2s ease;
}
.nav__link:hover{color:#26323a}
.nav__link:hover::after{background:var(--teal);opacity:1;transform:scaleX(1)}
.nav__link.is-active{color:#26323a}
.nav__link.is-active::after{background:var(--teal);opacity:1;transform:scaleX(1)}
.nav__link--wiki{color:#2563eb}
.nav__link--wiki::after{background:#2563eb; opacity:1; transform:scaleX(1)}
.nav__link--wiki:hover{color:#1d4ed8}
.nav__link--wiki:hover::after{background:#1d4ed8; opacity:1; transform:scaleX(1)}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:12px;
  padding:12px 18px;
  font-weight:600;
  font-size:13px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn--primary{
  background:var(--teal);
  color:#fff;
  box-shadow:0 10px 20px rgba(26,166,166,.22);
}
.btn--primary:hover{background:var(--teal-2)}
.btn--ghost{
  background:transparent;
  color:#2c3a42;
  border-color:rgba(81,96,105,.18);
}
.btn--ghost:hover{border-color:rgba(26,166,166,.45); background:rgba(26,166,166,.06)}
.btn--light{
  background:#fff;
  color:#174040;
  border-color:rgba(255,255,255,.25);
  box-shadow:0 10px 20px rgba(0,0,0,.12);
}
.btn--light:hover{transform:translateY(-1px)}
.btn--wide{width:100%}
.btn__arrow{font-size:18px; line-height:1; transform:translateY(-1px)}

.header__cta{margin-left:10px}

.burger{
  display:none;
  margin-left:auto;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid rgba(81,96,105,.18);
  background:#fff;
  cursor:pointer;
}
.burger span{
  display:block;
  width:18px;
  height:2px;
  background:#2c3a42;
  margin:4px auto;
  border-radius:2px;
}

.mobile-nav{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:30;
}
.mobile-nav__panel{
  position:absolute;
  right:12px;
  top:12px;
  width:min(360px,calc(100% - 24px));
  background:#fff;
  border-radius:16px;
  padding:18px;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.mobile-nav__link{
  padding:12px 10px;
  border-radius:12px;
  color:#2c3a42;
  background:rgba(246,247,248,.6);
}
.mobile-nav__link:hover{background:rgba(26,166,166,.08)}
.mobile-nav__link--wiki{color:#2563eb}
.mobile-nav__cta{margin-top:6px}
.mobile-nav.is-open{display:block}

.hero{
  padding:52px 0 10px;
  background:
    radial-gradient(900px 220px at 18% 15%, rgba(26,166,166,.10), transparent 60%),
    radial-gradient(900px 220px at 65% 10%, rgba(26,166,166,.06), transparent 55%);
}
.hero__grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:30px;
  align-items:center;
}
.hero__title{
  margin:0;
  font-size:44px;
  line-height:1.04;
  letter-spacing:.2px;
}
.hero__title span{color:var(--teal)}
.hero__subtitle{
  margin:10px 0 0;
  font-size:16px;
  color:#2c3a42;
  font-weight:600;
}
.hero__desc{
  margin:16px 0 0;
  color:var(--muted);
  line-height:1.6;
  font-size:14px;
}
.hero__actions{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:14px;
}
.stats{
  margin-top:22px;
  display:flex;
  gap:22px;
  align-items:stretch;
  flex-wrap:wrap;
}
.stat{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  min-width:170px;
}
.stat__icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--teal-soft);
  color:var(--teal);
}
.stat__icon svg{width:20px;height:20px}
.stat__value{
  font-weight:700;
  color:#2c3a42;
  font-size:15px;
}
.stat__label{
  color:#7a8791;
  font-size:12px;
  margin-top:2px;
}
.stat > div:last-child{margin-left:auto}
.stat{position:relative}
.stat__value,.stat__label{line-height:1.2}
.stat__value + .stat__label{display:block}

.hero__visual{
  height:390px;
  border-radius:22px;
  background-image:url("./assets/house.png");
  background-size: cover;
  background-position: 50% 50%;
  background-repeat:no-repeat;
  filter:saturate(1.02);
}

.features{
  padding:22px 0 8px;
}
.features__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.feature{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:start;
  padding:14px 10px;
}
.feature__icon{
  width:44px;
  height:44px;
  border-radius:14px;
  background:#fff;
  border:1px solid var(--line);
  display:grid;
  place-items:center;
  color:var(--teal);
}
.feature__icon svg{width:22px;height:22px}
.feature__title{
  font-weight:700;
  font-size:13px;
  color:#26323a;
  line-height:1.25;
}
.feature__text{
  grid-column:2;
  color:#7a8791;
  font-size:12px;
  line-height:1.45;
  margin-top:4px;
}

.section-kicker{
  font-weight:800;
  letter-spacing:.16em;
  color:rgba(26,166,166,.9);
  font-size:13px;
}
.section-title{
  margin:12px 0 0;
  font-size:22px;
  line-height:1.25;
  color:#26323a;
}
.section-desc{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}
.section-center{
  display:flex;
  justify-content:center;
  text-align:center;
}

.about{
  padding:26px 0 18px;
}
.about__grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:26px;
  align-items:start;
}
.checklist{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  color:#4f5d67;
  font-size:13px;
}
.checklist li{
  position:relative;
  padding-left:22px;
}
.checklist li::before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--teal-soft);
  border:1px solid rgba(26,166,166,.35);
}
.checklist li::after{
  content:"";
  position:absolute;
  left:4px;
  top:8px;
  width:6px;
  height:3px;
  border-left:2px solid var(--teal);
  border-bottom:2px solid var(--teal);
  transform:rotate(-45deg);
}

.link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  font-weight:700;
  color:var(--teal);
  font-size:13px;
}
.link__arrow{font-size:18px; transform:translateY(-1px)}
.link:hover{color:var(--teal-2)}

.about-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 18px 14px;
  box-shadow:0 10px 30px rgba(10,22,28,.06);
  position:relative;
  overflow:hidden;
}
.about-card::after{
  content:"";
  position:absolute;
  inset:-40px -80px -60px -80px;
  background-image:url("./assets/house.png");
  background-repeat:no-repeat;
  background-size:130% auto;
  background-position: 60% 45%;
  opacity:.08;
  pointer-events:none;
}
.about-card__head{
  display:flex;
  gap:14px;
  align-items:center;
  position:relative;
  z-index:1;
}
.about-card__badge{
  width:54px;
  height:54px;
  border-radius:18px;
  background:var(--teal-soft);
  display:grid;
  place-items:center;
  color:var(--teal);
}
.about-card__badge svg{width:26px;height:26px}
.about-card__title{
  font-weight:800;
  color:#26323a;
  font-size:14px;
  line-height:1.25;
}
.about-card__list{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  color:#4f5d67;
  font-size:13px;
  position:relative;
  z-index:1;
}
.about-card__list li{
  padding-left:22px;
  position:relative;
}
.about-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:5px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:rgba(26,166,166,.10);
  border:1px solid rgba(26,166,166,.35);
}
.about-card__list li::after{
  content:"";
  position:absolute;
  left:4px;
  top:9px;
  width:6px;
  height:3px;
  border-left:2px solid var(--teal);
  border-bottom:2px solid var(--teal);
  transform:rotate(-45deg);
}

.services{
  padding:12px 0 22px;
}
.hero--inner{
  padding:42px 0 14px;
}
.hero__visual--inner{
  height:320px;
}
.services--page{
  padding-top:6px;
}
.service-page{
  margin-top:18px;
  display:grid;
  gap:16px;
}
.service-block{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
}
.service-block__head{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.service-block__title{
  margin:2px 0 0;
  font-weight:900;
  font-size:16px;
  line-height:1.25;
  color:#26323a;
}
.service-block__subtitle{
  margin:6px 0 0;
  color:#6d7983;
  font-size:13px;
  line-height:1.5;
}
.service-block__list{
  margin:14px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  color:#4f5d67;
  font-size:13px;
  line-height:1.55;
}
.service-block__list li{
  padding-left:22px;
  position:relative;
}
.service-block__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:rgba(26,166,166,.10);
  border:1px solid rgba(26,166,166,.35);
}
.service-block__list li::after{
  content:"";
  position:absolute;
  left:3.5px;
  top:9.5px;
  width:5px;
  height:2.5px;
  border-left:2px solid var(--teal);
  border-bottom:2px solid var(--teal);
  transform:rotate(-45deg);
}

.process{
  padding:8px 0 22px;
}
.process__grid{
  margin-top:18px;
  display:grid;
  gap:14px;
}
.process-step{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
  display:grid;
  grid-template-columns:56px 1fr;
  gap:14px;
  align-items:start;
}
.process-step__num{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--teal);
  color:#fff;
  font-weight:900;
  box-shadow:0 10px 20px rgba(26,166,166,.22);
}
.process-step__title{
  margin:2px 0 0;
  font-weight:900;
  font-size:16px;
  line-height:1.25;
  color:#26323a;
}
.process-step__lead{
  margin:6px 0 0;
  color:#6d7983;
  font-size:13px;
  line-height:1.55;
}
.process-step__cols{
  margin-top:14px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.process-step__col{
  border:1px solid rgba(231,237,240,.9);
  border-radius:16px;
  padding:12px 12px 10px;
  background:rgba(246,247,248,.55);
}
.process-step__label{
  font-weight:900;
  font-size:12px;
  letter-spacing:.06em;
  color:rgba(26,166,166,.9);
  text-transform:uppercase;
}
.process-step__list{
  margin:10px 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
  color:#4f5d67;
  font-size:13px;
  line-height:1.55;
}
.process-step__list li{
  padding-left:18px;
  position:relative;
}
.process-step__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(26,166,166,.55);
}
.process-step__example{
  margin-top:12px;
}
.process-step__exampleText{
  margin-top:8px;
  padding:10px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(231,237,240,.9);
  color:#4f5d67;
  font-size:13px;
  line-height:1.55;
}

.projects{
  padding:6px 0 22px;
}
.projects-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.project-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
  display:flex;
  flex-direction:column;
}
.project-card__media{
  height:170px;
  background-image:url("./assets/house.png");
  background-size:cover;
  background-position:50% 50%;
}
.project-card__body{
  padding:16px 16px 14px;
}
.project-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pill{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(27,31,36,.06);
  color:#4f5d67;
  font-weight:800;
  font-size:11px;
}
.pill--soft{
  background:rgba(26,166,166,.10);
  color:#0f6f6f;
  border:1px solid rgba(26,166,166,.18);
}
.project-card__title{
  margin:12px 0 0;
  font-weight:900;
  font-size:15px;
  line-height:1.25;
  color:#26323a;
}
.project-card__text{
  margin:8px 0 0;
  color:#6d7983;
  font-size:13px;
  line-height:1.55;
}
.project-card__tags{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.project-card__tags span{
  padding:7px 9px;
  border-radius:10px;
  background:rgba(26,166,166,.08);
  border:1px solid rgba(26,166,166,.14);
  color:#0f6f6f;
  font-size:12px;
  font-weight:800;
}

.pricing{
  padding:6px 0 22px;
}
.pricing-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  align-items:stretch;
}
.price-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}
.price-card__head{
  padding:2px 0 6px;
  min-height:96px;
}
.price-card__name{
  font-weight:900;
  font-size:14px;
  color:#26323a;
}
.price-card__price{
  margin-top:8px;
  font-weight:900;
  font-size:22px;
  color:#0f6f6f;
}
.price-card__sub{
  margin-top:8px;
  color:#6d7983;
  font-size:13px;
  line-height:1.5;
}
.price-card__list{
  margin:12px 0 16px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  color:#4f5d67;
  font-size:13px;
  line-height:1.55;
  flex:1 1 auto;
}

.price-card > .btn{
  margin-top:auto;
}
.price-card__list li{
  padding-left:18px;
  position:relative;
}
.price-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(26,166,166,.55);
}
.price-card--featured{
  border-color:rgba(26,166,166,.35);
  box-shadow:0 16px 40px rgba(26,166,166,.14);
  transform:translateY(-2px);
}
.price-card--featured::after{
  content:"";
  position:absolute;
  inset:-60px -60px auto auto;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(26,166,166,.10);
}
.price-card__badge{
  position:absolute;
  top:14px;
  right:14px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(26,166,166,.12);
  border:1px solid rgba(26,166,166,.22);
  color:#0f6f6f;
  font-weight:900;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  z-index:1;
}
.note{
  margin-top:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
}
.note__title{
  font-weight:900;
  color:#26323a;
}
.note__text{
  margin-top:8px;
  color:#6d7983;
  font-size:13px;
  line-height:1.6;
}

.contacts{
  padding:6px 0 22px;
}
.contacts__grid{
  margin-top:18px;
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:18px;
  align-items:start;
}
.contact-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
}
.contact-card__title{
  font-weight:900;
  color:#26323a;
  font-size:14px;
}
.contact-card__link{
  display:block;
  margin-top:10px;
  font-weight:900;
  font-size:16px;
  color:#0f6f6f;
}
.contact-card__link:hover{color:var(--teal-2)}
.contact-card__muted{
  margin-top:10px;
  color:#6d7983;
  font-size:13px;
  line-height:1.55;
}
.contact-card__actions{
  margin-top:14px;
}

.map{
  padding:0 0 22px;
}
.map-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
}
.map-card__title{
  font-weight:900;
  color:#26323a;
  font-size:14px;
}
.map-card__frame{
  margin-top:12px;
  height:360px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(231,237,240,.9);
}
.map-card__frame iframe{
  width:100%;
  height:100%;
  border:0;
}
.map-card__note{
  margin-top:10px;
  color:#6d7983;
  font-size:13px;
  line-height:1.55;
}

.policy{
  padding:6px 0 22px;
}
.policy-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
}
.policy-card__title{
  margin:0;
  font-weight:900;
  color:#26323a;
  font-size:16px;
}
.policy-card__title + .policy-card__text{margin-top:10px}
.policy-card__text{
  margin:14px 0 0;
  color:#4f5d67;
  font-size:13px;
  line-height:1.65;
}
.policy-card a{color:var(--teal); font-weight:800}
.policy-card a:hover{color:var(--teal-2)}

.wiki{
  padding:6px 0 22px;
}
.wiki-list{
  margin-top:18px;
  display:grid;
  gap:12px;
}
.wiki-item{
  display:block;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
  text-decoration:none;
  color:inherit;
}
.wiki-item:visited{color:inherit}
.wiki-item__title{
  font-weight:900;
  color:#26323a;
  font-size:15px;
  line-height:1.3;
}
.wiki-item__meta{
  margin-top:8px;
  color:#6d7983;
  font-size:13px;
  line-height:1.55;
}
.wiki-item:hover .wiki-item__title{color:#0f6f6f}

.wiki-article{
  padding:6px 0 22px;
}
.wiki-article a:not(.btn){
  color:var(--teal);
  font-weight:800;
  text-decoration:none;
}
.wiki-article a:not(.btn):hover{color:var(--teal-2)}
.article-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
}
.article-meta{
  color:#6d7983;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.article-h{
  margin:16px 0 0;
  font-weight:900;
  font-size:16px;
  color:#26323a;
}
.article-p{
  margin:10px 0 0;
  color:#4f5d67;
  font-size:13px;
  line-height:1.7;
}
.article-ul{
  margin:10px 0 0;
  padding-left:18px;
  color:#4f5d67;
  font-size:13px;
  line-height:1.7;
}
.article-ul li{margin:6px 0}
.article-ol{
  margin:10px 0 0;
  padding-left:20px;
  color:#4f5d67;
  font-size:13px;
  line-height:1.7;
}
.article-ol li{margin:6px 0}
.code{
  margin-top:10px;
  border:1px solid rgba(231,237,240,.9);
  border-radius:16px;
  overflow:hidden;
  background:#0f1720;
}
.code pre{
  margin:0;
  padding:12px 14px;
  overflow:auto;
}
.code code{
  color:rgba(255,255,255,.92);
  font-size:12.5px;
  line-height:1.55;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.article-footer{
  margin-top:16px;
  display:flex;
  justify-content:flex-start;
}
.service-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.service-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow:0 10px 30px rgba(10,22,28,.05);
  display:flex;
  flex-direction:column;
  min-height:230px;
}
.service-card__icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:rgba(26,166,166,.10);
  display:grid;
  place-items:center;
  color:var(--teal);
  border:1px solid rgba(26,166,166,.18);
}
.service-card__icon svg{width:26px;height:26px}
.service-card__title{
  margin:14px 0 0;
  font-weight:900;
  font-size:13px;
  line-height:1.25;
  color:#26323a;
  letter-spacing:.02em;
}
.service-card__text{
  margin:10px 0 0;
  color:#7a8791;
  font-size:12px;
  line-height:1.55;
}
.service-card__link{
  margin-top:auto;
  padding-top:14px;
  color:var(--teal);
  font-weight:800;
  font-size:13px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.service-card__link:hover{color:var(--teal-2)}

.stages{
  padding:10px 0 18px;
}
.timeline{
  position:relative;
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  align-items:start;
}
.timeline__line{
  position:absolute;
  left:6%;
  right:6%;
  top:22px;
  height:2px;
  background:rgba(26,166,166,.22);
  border-radius:2px;
}
.step{
  position:relative;
  padding-top:0;
  text-align:left;
}
.step__dot{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--teal);
  color:#fff;
  font-weight:900;
  margin-bottom:10px;
  box-shadow:0 10px 20px rgba(26,166,166,.22);
}
.step__title{
  margin:0;
  font-size:13px;
  color:var(--teal);
  font-weight:900;
}
.step__text{
  margin:6px 0 0;
  color:#6d7983;
  font-size:12px;
  line-height:1.45;
}

.cta{
  padding:12px 0 26px;
}
.cta__inner{
  background:linear-gradient(135deg,#0f8b8b,#18a7a7);
  border-radius:18px;
  padding:18px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 35px rgba(10,22,28,.18);
}
.cta__inner::after{
  content:"";
  position:absolute;
  inset:-40px -80px -60px -80px;
  background-image:url("./assets/house.png");
  background-repeat:no-repeat;
  background-size:140% auto;
  background-position: 65% 80%;
  opacity:.08;
  pointer-events:none;
}
.cta__left{
  display:flex;
  gap:14px;
  align-items:center;
  position:relative;
  z-index:1;
}
.cta__icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:rgba(255,255,255,.16);
  display:grid;
  place-items:center;
}
.cta__icon svg{width:26px;height:26px}
.cta__title{
  font-weight:900;
  font-size:14px;
}
.cta__text{
  margin-top:4px;
  opacity:.9;
  font-size:12px;
}

.footer{
  background:#1f2b31;
  color:#dce6ea;
  padding:26px 0 16px;
  margin-top:10px;
}
.footer__grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr .8fr;
  gap:26px;
  align-items:start;
}
.footer .brand__my,
.footer .brand__dot,
.footer .brand__cc{color:#dce6ea}
.footer .brand__cottage{color:#71d3d3}
.footer__muted{
  margin-top:10px;
  color:rgba(220,230,234,.75);
  font-size:12px;
  line-height:1.55;
}
.footer__copy{
  margin-top:14px;
  color:rgba(220,230,234,.6);
  font-size:12px;
}
.footer__title{
  font-weight:900;
  font-size:13px;
  color:#fff;
  margin-bottom:10px;
}
.footer__link{
  display:block;
  padding:6px 0;
  color:rgba(220,230,234,.78);
  font-size:12px;
}
.footer__link:hover{color:#fff}
.footer__bottom{
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.08);
}
.footer__policy{
  color:rgba(220,230,234,.6);
  font-size:12px;
}
.footer__policy:hover{color:#fff}

.modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:50;
}
.modal.is-open{display:block}
.modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
}
.modal__dialog{
  position:relative;
  width:min(520px,calc(100% - 24px));
  margin:60px auto;
  background:#fff;
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:18px;
}
.modal__close{
  position:absolute;
  top:10px;
  right:12px;
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
.modal__title{
  font-weight:900;
  font-size:18px;
  color:#26323a;
  margin:6px 0 0;
}
.modal__desc{
  margin:10px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.form{
  margin-top:14px;
  display:grid;
  gap:12px;
}
.field{display:grid; gap:6px}
.field__label{font-size:12px; color:#4f5d67; font-weight:700}
.field__input{
  height:42px;
  border-radius:12px;
  border:1px solid var(--line);
  padding:0 12px;
  font-size:13px;
  outline:none;
}
.field__input:focus{border-color:rgba(26,166,166,.55); box-shadow:0 0 0 4px rgba(26,166,166,.12)}
.field__textarea{
  height:92px;
  padding:10px 12px;
  resize:vertical;
}
.form__note{
  color:#7a8791;
  font-size:11px;
  line-height:1.45;
  margin-top:-2px;
}
.toast{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(26,166,166,.08);
  border:1px solid rgba(26,166,166,.18);
  color:#174040;
  font-size:12px;
  display:none;
}
.toast.is-open{display:block}

@media (max-width: 1020px){
  .nav{display:none}
  .header__cta{display:none}
  .burger{display:block}
  .layout{grid-template-columns:1fr}
  .layout__aside{display:none}
  .hero__grid{grid-template-columns:1fr; gap:16px}
  .hero__visual{height:300px; background-size: cover; background-position: 50% 45%}
  .hero__visual--inner{height:260px}
  .process-step{grid-template-columns:1fr}
  .process-step__cols{grid-template-columns:1fr}
  .projects-grid{grid-template-columns:1fr}
  .pricing-grid{grid-template-columns:1fr}
  .contacts__grid{grid-template-columns:1fr}
  .features__grid{grid-template-columns:repeat(2,1fr)}
  .about__grid{grid-template-columns:1fr}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr)}
  .timeline__line{display:none}
  .cta__inner{flex-direction:column; align-items:stretch}
  .footer__grid{grid-template-columns:1fr 1fr}
  .footer__bottom{justify-content:flex-start}
}

@media (max-width: 560px){
  .hero{padding-top:36px}
  .hero__title{font-size:34px}
  .stats{gap:12px}
  .stat{min-width:150px}
  .features__grid{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .modal__dialog{margin:40px auto}
}

/* Mobile and deployment hardening pass */
.nav__link--wiki::after{background:transparent; opacity:0; transform:scaleX(.8)}
.nav__link--wiki.is-active::after,
.nav__link--wiki:hover::after{background:#1d4ed8; opacity:1; transform:scaleX(1)}

@media (max-width: 560px){
  html, body{overflow-x:hidden}
  .container{width:min(100% - 32px,var(--container))}
  .layout{width:100%; display:block}
  .layout__content .container{width:min(100% - 32px,var(--container))}
  .header__inner{height:72px; justify-content:space-between}
  .brand{font-size:20px}
  .burger{flex:0 0 44px}
  .hero{padding:30px 0 8px}
  .hero__title{font-size:29px; line-height:1.08; letter-spacing:-.4px; overflow-wrap:anywhere}
  .hero__subtitle{font-size:15px; line-height:1.35}
  .hero__desc{font-size:13px; line-height:1.55; max-width:100%}
  .hero__desc br{display:none}
  .hero__actions{align-items:stretch; gap:10px; flex-wrap:wrap}
  .hero__actions .btn{flex:1 1 135px; padding-inline:12px}
  .stats{display:grid; grid-template-columns:1fr; gap:8px; margin-top:18px}
  .stat{min-width:0; width:100%; justify-content:flex-start; padding:8px 0}
  .stat > div:last-child{margin-left:0}
  .hero__visual{height:260px; border-radius:18px; background-size:cover; background-position:50% 48%}
  .features{padding-top:14px}
  .feature{grid-template-columns:44px 1fr; padding-inline:0}
  .about,
  .services,
  .steps,
  .cta{overflow:hidden}
  .footer__grid{grid-template-columns:1fr}
}
.storeip-banner .bannerFeatures{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.storeip-banner .bannerFeatures span{padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.1);font-size:12px}
.storeip-banner .bannerButton{margin-top:auto;height:52px;border:0;border-radius:14px;background:#18d6c1;color:#102027;font-size:16px;font-weight:800;cursor:pointer;display:grid;place-items:center;position:relative;z-index:1}
.storeip-banner:hover .bannerButton{background:#38f0dc}

/* Mobile overflow fix */
@media (max-width: 560px){
  *{max-width:100%}
  .header{overflow:hidden}
  .header__inner{position:relative;width:calc(100vw - 32px);max-width:calc(100vw - 32px);padding-right:56px;gap:0}
  .burger{display:block;position:absolute;right:0;top:14px;z-index:3;background:#fff}
  .hero__actions{display:grid;grid-template-columns:1fr;align-items:stretch;width:100%}
  .hero__actions .btn{width:100%;min-width:0;justify-content:center}
  .hero__visual{width:100%;max-width:100%;overflow:hidden}
  .hero__content,.hero__desc,.hero__subtitle,.stat,.feature,.service-card{min-width:0;max-width:100%}
  .stat__label{word-break:normal;overflow-wrap:break-word}
}

/* Strict phone viewport clamp */
@media (max-width: 560px){
  body{width:100vw;max-width:100vw;overflow-x:hidden}
  .layout{width:100vw!important;max-width:100vw!important;margin:0!important;overflow:hidden}
  .container,
  .layout__content .container{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;margin-left:16px!important;margin-right:16px!important}
  .header__inner{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;margin-left:16px!important;margin-right:16px!important}
  .hero__actions,
  .hero__actions .btn,
  .features__grid,
  .service-grid,
  .timeline,
  .footer__grid{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important}
  .btn{max-width:calc(100vw - 32px)!important}
  .hero__visual{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important}
}

/* Safe compact phone layout */
@media (max-width: 560px){
  .container,
  .layout__content .container,
  .header__inner,
  .hero__actions,
  .hero__actions .btn,
  .hero__visual,
  .features__grid,
  .service-grid,
  .timeline,
  .footer__grid{width:340px!important;max-width:340px!important;margin-left:16px!important;margin-right:auto!important}
  .burger{position:fixed!important;right:16px!important;top:14px!important;display:block!important;z-index:1000!important}
  .hero__actions .btn{margin-left:0!important;margin-right:0!important}
}
@media (max-width: 360px){
  .container,
  .layout__content .container,
  .header__inner,
  .hero__actions,
  .hero__actions .btn,
  .hero__visual,
  .features__grid,
  .service-grid,
  .timeline,
  .footer__grid{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important}
}
@media (max-width: 560px){
  .burger{display:grid!important;place-items:center!important;color:#26323a!important;font-size:24px!important;line-height:1!important;border:1px solid rgba(81,96,105,.18)!important;box-shadow:0 8px 18px rgba(10,22,28,.08)!important}
  .burger span{display:none!important}
  .burger::before{content:"☰";display:block;font-weight:700;transform:translateY(-1px)}
}
@media (max-width: 560px){.burger{left:330px!important;right:auto!important}}
@media (max-width: 360px){.burger{left:auto!important;right:12px!important}}
