:root{
  --ink:#111213;
  --muted:#5c5e63;
  --green:#a7f75a;
  --blue:#8ed3f2;
  --yellow:#f8f45e;
  --pink:#f2968f;
  --bg:#ffffff;
  --radius:14px;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:"Helvetica Neue",Helvetica,Arial,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--ink);background:var(--bg);
  font-size:17px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:880px;margin:0 auto;padding:0 24px;}
section{padding:56px 0;}

h1,h2{font-weight:700;letter-spacing:-0.02em;line-height:1.08;}
h1{font-size:clamp(38px,7vw,64px);}
h2{font-size:clamp(28px,5vw,40px);margin-bottom:28px;}

.logo{display:flex;align-items:center;gap:10px;padding:28px 0 8px;font-weight:500;}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--ink);color:#fff;text-decoration:none;
  padding:16px 30px;border-radius:12px;font-size:16px;font-weight:500;
  border:none;cursor:pointer;
  transition:opacity .15s;
}
.btn:hover{opacity:.85;}
.btn.arrow::after{content:"→";}
.btn.tg svg{flex-shrink:0;}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid #d9d9dc;}

.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}

ul.plain{list-style:none;margin:24px 0 32px;}
ul.plain li{padding-left:20px;position:relative;margin-bottom:8px;color:var(--ink);}
ul.plain li::before{content:"•";position:absolute;left:0;}
ul.cross li::before{content:"×";}
ul.cross li{color:var(--muted);}

.mark{background:var(--green);padding:1px 6px;}

.callout{border-radius:var(--radius);padding:36px 40px;}
.callout.green{background:var(--green);}
.callout.blue{background:var(--blue);}
.callout.yellow{background:var(--yellow);}
.callout h2{margin-bottom:16px;}
.callout p{max-width:560px;}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.step .num{
  font-size:15px;font-weight:700;background:var(--ink);color:#fff;
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.step h3{font-size:19px;margin-bottom:8px;font-weight:700;}
.step p{color:var(--muted);font-size:15.5px;}

.tpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.tpl{border:1px solid #e4e4e6;border-radius:var(--radius);overflow:hidden;}
.tpl .shot{
  aspect-ratio:4/3;background:#f2f2f0;display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:14px;
}
.tpl .shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}
.tpl .cap{padding:12px 16px;font-size:15px;font-weight:500;}

.callout ul{list-style:none;margin-top:18px;}
.callout ul li{padding-left:24px;position:relative;margin-bottom:10px;}
.callout ul li::before{content:"✓";position:absolute;left:0;font-weight:700;}

.final{background:var(--ink);color:#fff;border-radius:var(--radius);padding:56px 48px;}
.final h2{color:#fff;}
.final p{color:#c9c9cc;max-width:480px;margin-bottom:28px;}
.final .btn{background:#fff;color:var(--ink);}

.price-tag{font-size:15px;color:var(--muted);margin-top:14px;}

/* ---------- Modal ---------- */
.modal-overlay{
  position:fixed;inset:0;background:rgba(17,18,19,.55);
  display:none;align-items:center;justify-content:center;
  padding:20px;z-index:100;
}
.modal-overlay.open{display:flex;}
.modal{
  background:#fff;border-radius:var(--radius);
  padding:36px 32px;width:100%;max-width:420px;
  position:relative;
}
.modal h3{font-size:24px;font-weight:700;letter-spacing:-0.02em;margin-bottom:6px;}
.modal .sub{color:var(--muted);font-size:15px;margin-bottom:22px;}
.modal-close{
  position:absolute;top:14px;right:14px;
  background:none;border:none;font-size:26px;line-height:1;
  color:var(--muted);cursor:pointer;padding:6px;
}
.field{margin-bottom:14px;}
.field label{display:block;font-size:14px;font-weight:500;margin-bottom:6px;}
.field input,.field textarea{
  width:100%;padding:13px 14px;font-size:16px;
  border:1px solid #d9d9dc;border-radius:10px;
  font-family:inherit;
}
.field input:focus,.field textarea:focus{outline:2px solid var(--ink);border-color:transparent;}
.field input.error{border-color:#e5484d;}
.field .err-msg{color:#e5484d;font-size:13px;margin-top:4px;display:none;}
.field.invalid .err-msg{display:block;}
.modal .btn{width:100%;justify-content:center;margin-top:6px;}
.modal .btn:disabled{opacity:.6;cursor:default;}
.form-status{font-size:14px;margin-top:12px;text-align:center;display:none;}
.form-status.ok{display:block;color:#1a7f37;}
.form-status.fail{display:block;color:#e5484d;}
.modal-success{text-align:center;padding:20px 0;display:none;}
.modal-success .icon{
  width:56px;height:56px;border-radius:50%;background:var(--green);
  display:flex;align-items:center;justify-content:center;
  font-size:26px;margin:0 auto 16px;
}
.modal-success h3{margin-bottom:8px;}
.modal-success p{color:var(--muted);font-size:15px;}

@media(max-width:720px){
  .grid3,.tpl-grid{grid-template-columns:1fr;}
  .cols2{grid-template-columns:1fr;}
  .callout{padding:28px 24px;}
  .final{padding:40px 28px;}
  section{padding:40px 0;}
}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
