/* =========================
   CLEANED NeoYoon styles
   - removed duplicates
   - kept latest/stronger variants
   ========================= */

:root{
  --bg:#fbf7f3;
  --paper:#ffffff;
  --ink:#1b1b1d;
  --muted:#6c6a6b;
  --line:rgba(27,27,29,.12);
  --soft:rgba(27,27,29,.06);
  --shadow:0 18px 50px rgba(27,27,29,.10);
  --radius:18px;
  --radius-lg:28px;

  --btn:#9b7d74;
  --btn-ink:#ffffff;

  --max:1180px;
  --sans:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";

  /* topbar tokens */
  --topbar-bg:rgba(251,247,243,.86);
  --topbar-border:rgba(27,27,29,.08);
  --nav-ink:rgba(27,27,29,.68);
  --nav-ink-strong:rgba(27,27,29,.86);

  /* premium button tokens (kept once) */
  --cta:#9b7d74;
  --cta2:#b08f85;
  --glass:rgba(255,255,255,.14);
  --glass-border:rgba(255,255,255,.22);

  /* desktop sticky bar */
  --deskbar-h:56px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{scrollbar-gutter:stable}
body{overflow-y:scroll;margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit;text-decoration:none}
img,video{max-width:100%;display:block}

.container{width:min(var(--max), calc(100% - 40px));margin:0 auto}
.section{padding:64px 0}
@media (max-width:640px){
  .container{width:min(var(--max), calc(100% - 28px))}
  .section{padding:44px 0}
}

/* ====== Topbar ====== */
.topbar{
  position:fixed;
  inset:0 0 auto 0;
  z-index:50;
  height:72px;
  display:flex;
  align-items:center;
  background:var(--topbar-bg);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--topbar-border);
}
.topbar .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

/* ===== Dark header variant ===== */
.topbar--dark{
  background:#fff;
  border-bottom:5px solid rgba(27,27,29,.08);
}

.topbar--dark .neo{
  color:#1b57c9 !important;
}
.topbar--dark .yoon{
  color:#e2383a !important;
}

 

/* ===== Desktop dark header ===== */
@media (min-width: 921px){
  body:has(.topbar--dark){
    padding-top: 80px;
  }
  
  .topbar--minimal.topbar--dark{
    border-bottom:1px solid rgba(27,27,29,.08);
    
  }


  .topbar--minimal.topbar--dark .iconbtn{
    background: rgba(27,27,29,.06);
    border-color: rgba(27,27,29,.14);
    color: rgba(27,27,29,.85); /* если используешь currentColor */
  }

  .topbar--minimal.topbar--dark .iconbtn:hover{
    background: rgba(27,27,29,.10);
  }

  /* если stroke не currentColor */
  .topbar--minimal.topbar--dark .iconbtn svg path{
    stroke: rgba(27,27,29,.85);
  }

}

.topbar--dark .brand-slogan{
  color:rgba(27,27,29,.55) !important;
}

.topbar--dark .iconbtn svg path{
  stroke:rgba(27,27,29,.85) !important;
}

/* Brand */
.brand{display:flex;align-items:center;gap:12px;min-width:220px}
.brand-lockup{display:flex;flex-direction:column;line-height:1}
.brand-logo{
  font-weight:950;
  letter-spacing:-0.6px;
  font-size:22px;
  align-items:baseline;
  text-align:center;
  gap:0;
}
.brand-logo .neo{color:#1b57c9}
.brand-logo .yoon{color:#e2383a}
.brand-slogan{
  margin-top:6px;
  font-size:11.5px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(27,27,29,.62);
  font-weight:850;
  white-space:nowrap;
}

/* Nav */
.nav{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--nav-ink)}
.nav a{
  position:relative;
  padding:10px 12px;
  border-radius:999px;
  transition:background .15s ease, color .15s ease;
}
.nav a:hover{background:rgba(27,27,29,.05);color:var(--nav-ink-strong)}
.nav a::after{
  content:"";
  position:absolute;
  left:14px;right:14px;
  bottom:6px;
  height:2px;
  border-radius:2px;
  background:rgba(155,125,116,.55);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .15s ease;
  opacity:.9;
}
.nav a:hover::after{transform:scaleX(.55)}
.nav a.is-active{
  background:rgba(155,125,116,.12);
  border:1px solid rgba(155,125,116,.16);
  color:var(--nav-ink-strong);
}
.nav a.is-active::after{transform:scaleX(1)}

/* Right side */
.nav-cta{display:flex;gap:12px;align-items:center}
.iconbtn{
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid rgba(27,27,29,.12);
  background:rgba(255,255,255,.82);
  display:grid;place-items:center;
  cursor:pointer;
  box-shadow:0 10px 30px rgba(27,27,29,.06);
}
.iconbtn:hover{background:rgba(255,255,255,.95)}

@media (max-width:920px){
  .nav{display:none}
  .nav-cta .btn.small{display:none}
  .topbar{height:68px}
  .brand{min-width:auto}
}
@media (max-width:640px){
  .brand-logo{font-size:20px}
  .brand-slogan{font-size:11px}
}

/* ====== Drawer ====== */
.drawer{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.72);
  display:none;
  z-index:1000;
}
.drawer.open{display:block}

.drawer-panel{
  position:absolute;
  left:12px;top:12px;
  width:min(360px, calc(100% - 24px));
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(27,27,29,.10);
  box-shadow:0 40px 80px rgba(0,0,0,.35), 8px 0 40px rgba(0,0,0,.25);
  z-index:1001;
}
#closeDrawer{position:relative;z-index:1002;cursor:pointer}

.drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px;
  border-bottom:1px solid rgba(27,27,29,.08);
  position:relative;
  z-index:2;
}
.drawer-head .iconbtn{
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:none;
}
.drawer-head .iconbtn:hover{background:rgba(0,0,0,.08)}

.drawer-links{display:grid;padding:10px;gap:6px}
.drawer-links a{
  padding:14px 16px;
  border-radius:14px;
  color:rgba(27,27,29,.80);
  font-weight:650;
  transition:background .15s ease, transform .1s ease;
}
.drawer-links a:hover{
  background:rgba(155,125,116,.08);
  color:var(--ink);
  transform:translateX(4px);
}
.drawer-actions{display:flex;gap:10px;padding:10px 10px 14px}
.drawer-actions .btn{flex:1}

/* Desktop: colored logo inside drawer */
@media (min-width:921px){
  .drawer .brand-logo .neo{color:#1b57c9}
  .drawer .brand-logo .yoon{color:#e2383a}
  .drawer .brand-slogan{color:rgba(27,27,29,.65)!important}
}

/* ====== Buttons (kept only ONE base; premium version is the final) ====== */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid rgba(27,27,29,.10);
  background:rgba(255,255,255,.92);
  color:var(--ink);
  font-weight:850;
  letter-spacing:.1px;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
  font-size:18px;
  box-shadow:0 18px 45px rgba(27,27,29,.10), 0 1px 0 rgba(255,255,255,.55) inset;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, filter .18s ease;
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 26px 70px rgba(27,27,29,.16), 0 1px 0 rgba(255,255,255,.62) inset;
}
.btn:active{
  transform:translateY(0);
  box-shadow:0 16px 38px rgba(27,27,29,.12), 0 1px 0 rgba(255,255,255,.55) inset;
}
.btn.primary{
  background:var(--btn);
  color:var(--btn-ink);
  border-color:transparent;
  box-shadow:0 18px 40px rgba(155,125,116,.28);
}
.btn.primary:hover{
  filter:brightness(1.04);
  box-shadow:0 30px 85px rgba(155,125,116,.40), 0 1px 0 rgba(255,255,255,.20) inset;
}
.btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(155,125,116,.22), 0 18px 55px rgba(27,27,29,.14);
}
.btn.small{padding:12px 18px;font-size:14px}

/* ====== Hero ====== */
.hero{padding-top:0}
@media (max-width:920px){.hero{padding-top:68px}}

.hero-media{
  position:relative;
  width:100%;
  height:min(74vh, 640px);
  background:#e9e2de;
  overflow:hidden;
}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.24)),
    radial-gradient(900px 420px at 50% 50%, rgba(0,0,0,.18), transparent 60%);
  pointer-events:none;
}
.hero-center{
  position:absolute;inset:0;
  display:grid;
  place-items:center;
  padding:22px;
  text-align:center;
  z-index:1;
}
.hero-title{
  color:#fff;
  font-weight:900;
  letter-spacing:-1px;
  margin:0;
  font-size:clamp(34px, 5.4vw, 68px);
  line-height:1.05;
  text-shadow:0 12px 40px rgba(0,0,0,.35);
}
.hero-sub{
  margin:14px auto 0;
  color:rgba(255,255,255,.88);
  font-size:clamp(15px, 1.6vw, 18px);
  line-height:1.55;
  max-width:64ch;
  text-shadow:0 10px 30px rgba(0,0,0,.30);
}
.hero-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:18px;
}
.hero-actions .btn{background:rgba(255,255,255,.86);border-color:rgba(255,255,255,.35)}
.hero-actions .btn:hover{background:#fff}
.hero-actions .btn.primary{background:rgba(155,125,116,.92);border-color:transparent;color:#fff}

/* premium glass for secondary hero buttons */
.hero-actions .btn:not(.primary){
  background:rgba(255,255,255,.18);
  color:rgba(255,255,255,.92);
  box-shadow:0 18px 55px rgba(0,0,0,.18);
}
.hero-actions .btn:not(.primary):hover{
  background:rgba(255,255,255,.22);
  border-color:rgba(255,255,255,.30);
}

@media (max-width:640px){
  .hero-media{height:62vh}
  .hero-sub{max-width:44ch}
}

/* ====== Press ====== */
.press-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  padding:22px 0;
  color:rgba(27,27,29,.55);
  text-align:center;
}
.press-logos{display:flex;align-items:center;gap:2px;flex-wrap:wrap;justify-content:center}
.press-logo{
  height:38px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.press-logo svg{height:65px;width:auto;display:block}
.press-row .label{font-size:20px;letter-spacing:.2px;margin-right:10px;color:#000}
.logo-pill{
  height:32px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(27,27,29,.04);
  border:1px solid rgba(27,27,29,.06);
  font-weight:800;
  letter-spacing:.6px;
  font-size:12px;
}

/* ====== Banner ====== */
.banner{padding:0}
.banner-wrap{
  position:relative;
  width:100%;
  height:min(88vh, 680px);
  overflow:hidden;
  border-top:1px solid rgba(27,27,29,.08);
  border-bottom:1px solid rgba(27,27,29,.08);
  background:#e9e2de;
}
.banner-wrap video,.banner-wrap img{width:100%;height:100%;object-fit:cover}
.banner-wrap::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.20), rgba(0,0,0,.22));
  pointer-events:none;
}
.banner-text{
  position:absolute;inset:0;
  display:grid;
  place-items:center;
  text-align:center;
  padding:22px;
  z-index:1;
  color:#fff;
  font-weight:900;
  letter-spacing:-0.6px;
  font-size:clamp(26px, 3.8vw, 46px);
  text-shadow:0 10px 30px rgba(0,0,0,.30);
}

/* ====== Carousel ====== */
.center-title{
  text-align:center;
  margin:0 0 18px;
  font-size:clamp(28px, 3.4vw, 48px);
  letter-spacing:-0.7px;
  line-height:1.08;
}
.carousel{position:relative;margin-top:18px}
.track{
  display:flex;
  gap:14px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  padding:6px 4px 14px;
  -webkit-overflow-scrolling:touch;
}
.track::-webkit-scrollbar{height:10px}
.track::-webkit-scrollbar-thumb{background:rgba(27,27,29,.12);border-radius:999px}
.slide{
  flex:0 0 min(300px, 82vw);
  scroll-snap-align:start;
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(27,27,29,.08);
  box-shadow:0 12px 30px rgba(27,27,29,.08);
}
.slide .thumb{aspect-ratio:4/5;background:#efe6e1}
.slide img{width:100%;height:100%;object-fit:cover}
.slide .cap{padding:12px 12px 14px;color:rgba(27,27,29,.72);font-size:13px;line-height:1.4}
.cap b{color:rgba(27,27,29,.88)}
.car-btn{
  position:absolute;
  top:42%;
  transform:translateY(-50%);
  width:44px;height:44px;
  border-radius:999px;
  border:1px solid rgba(27,27,29,.12);
  background:rgba(255,255,255,.92);
  display:grid;place-items:center;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(27,27,29,.12);
}
.car-btn:hover{background:#fff}
.car-btn.left{left:-6px}
.car-btn.right{right:-6px}
@media (max-width:980px){.car-btn{display:none}}

/* ====== FAQ (removed duplicate summary/chev; kept final version) ====== */
.faq{background:#fff;border-top:1px solid rgba(27,27,29,.08)}
.faq-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;align-items:start}
.faq h2{margin-top:0}
details{border-bottom:1px solid rgba(27,27,29,.10);padding:18px 0}
details summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  font-size:18px;
  font-weight:800;
  letter-spacing:-.2px;
}
details summary::-webkit-details-marker{display:none}
.chev{
  width:32px;height:32px;
  border-radius:999px;
  border:1px solid rgba(27,27,29,.14);
  background:rgba(27,27,29,.04);
  display:grid;place-items:center;
  flex:0 0 32px;
  transition:transform .35s cubic-bezier(.2,.9,.2,1), background .2s ease, border-color .2s ease, box-shadow .25s ease;
  will-change:transform;
}
.chev::before{
  content:"";
  width:8px;height:8px;
  border-right:2px solid rgba(27,27,29,.65);
  border-bottom:2px solid rgba(27,27,29,.65);
  transform:rotate(45deg);
  transition:transform .25s cubic-bezier(.4,0,.2,1);
}
details[open] .chev{background:rgba(155,125,116,.12);border-color:rgba(155,125,116,.35)}
details[open] .chev::before{transform:rotate(43deg);border-color:#9b7d74}
details p{margin:10px 0 0;color:rgba(27,27,29,.70);line-height:1.7;font-size:14px;max-width:70ch}
@media (max-width:980px){.faq-grid{grid-template-columns:1fr}}

@keyframes chev-pop{0%{transform:scale(.92)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
@keyframes arrow-bounce{0%{transform:rotate(225deg) scale(.9)}60%{transform:rotate(225deg) scale(1.08)}100%{transform:rotate(225deg) scale(1)}}

/* ====== Footer ====== */
.footer{background:rgb(251, 249, 249);padding:54px 0 28px}
.newsletter{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:center;
  border-bottom:1px solid rgba(27,27,29,.10);
  margin-bottom:26px;
  padding-bottom: 40px;
}
.newsletter h3{margin:0;font-size:24px;font-weight: 800;letter-spacing:-.2px}
.form{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.input{
  flex:1 1 240px;
  min-width:220px;
  padding:14px 16px;
  border-radius:999px;
  border:1px solid rgba(27,27,29,.14);
  background:rgba(251,247,243,.60);
  outline:none;
  font-size:15px;
}
.input:focus{border-color:rgba(155,125,116,.55);box-shadow:0 0 0 4px rgba(155,125,116,.14)}
.foot-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  gap:18px;
  padding-bottom:22px;
  margin-bottom:18px;
}
.col h4{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:.2px;
  text-transform:uppercase;
  font-weight: 800;
  color: rgba(27,27,29,.85);
}
.col a{display:block;padding:8px 0;color:rgba(27,27,29,.70);font-weight:650}
.col a:hover{color:var(--ink)}
.bottom{
  display:flex;
  gap:12px;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  color:rgba(27,27,29,.58);
  font-size:12px;
}
.bottom a{color:rgba(27,27,29,.58)}
.bottom a:hover{color:rgba(27,27,29,.82)}
@media (max-width:980px){
  .newsletter{grid-template-columns:1fr}
  .form{justify-content:flex-start}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){.foot-grid{grid-template-columns:1fr}}

/* ====== NeoYoon Video Feature ====== */
.neoyoon-feature__grid{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:center}
.neoyoon-feature__title{
  font-size:clamp(34px, 3.6vw, 56px);
  font-weight:900;
  letter-spacing:-.6px;
  line-height:1.1;
  margin:0 0 22px;
}
.neoyoon-feature__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.neoyoon-feature__list li{
  cursor:pointer;
  user-select:none;
  padding-left:22px;
  position:relative;
  font-size:20px;
  line-height:1.25;
}
.neoyoon-feature__list li::before{
  content:"";
  position:absolute;
  left:0;top:6px;
  width:4px;height:22px;
  border-radius:4px;
  background:rgba(27,27,29,.14);
}
.neoyoon-feature__list .li-progress{
  position:absolute;
  left:0;top:6px;
  width:4px;height:22px;
  border-radius:4px;
  background:#ff2b6d;
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .1s linear;
  pointer-events:none;
}
.neoyoon-feature__list li.active{color:var(--ink);font-weight:900}
.neoyoon-feature__list li:not(.active){color:rgba(27,27,29,.45);font-weight:700}
.neoyoon-feature__media{
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 26px 70px rgba(27,27,29,.12);
  background:#efe6e1;
  aspect-ratio:1/1;
  width:100%;
}
.neoyoon-feature__media video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:opacity .25s ease;
  transform:translateZ(0);
}
#featureStage{position:relative}
#featureStage .fv{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity .22s ease;
  will-change:opacity;
}
#featureStage .fv.is-active{opacity:1}
@media (max-width:980px){
  .neoyoon-feature__grid{grid-template-columns:1fr;gap:22px}
  .neoyoon-feature__title{font-size:34px}
  .neoyoon-feature__list li{font-size:18px}
}

/* Helpers */
.spacer{height:14px}
.muted{color:rgba(27,27,29,.70)}

/* ====== Origin + Trust ====== */
.origin-wrap{
  padding:64px 0;
  background:radial-gradient(1200px 420px at 10% -10%, rgba(155,125,116,.08), transparent 60%), #ffffff;
}
.origin-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.origin-title{
  font-size:clamp(26px, 3vw, 42px);
  letter-spacing:-.7px;
  line-height:1.1;
  margin:0 0 14px;
  color:#1b1b1d;
}
.origin-text{color:rgba(27,27,29,.78);font-size:16px;line-height:1.7;margin-bottom:16px}
.origin-text strong{color:#1b1b1d;font-weight:900}
.origin-list{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.origin-item{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6;color:rgba(27,27,29,.78)}
.origin-dot{width:10px;height:10px;margin-top:8px;border-radius:50%;background:#9b7d74;flex:0 0 auto}
.origin-card{
  border-radius:26px;
  border:1px solid rgba(27,27,29,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
  box-shadow:0 26px 80px rgba(27,27,29,.10);
  padding:28px;
}
.origin-badge{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.3px;
  background:rgba(155,125,116,.14);
  border:1px solid rgba(155,125,116,.28);
  color:#1b1b1d;
  margin-bottom:14px;
}
.origin-legal{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid rgba(27,27,29,.08);
  font-size:13px;
  line-height:1.6;
  color:rgba(27,27,29,.65);
}
@media (max-width:980px){
  .origin-grid{grid-template-columns:1fr;gap:32px}
}

.trustbar-items{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.trustbar-item{
  display:flex;
  align-items:center;
  gap:18px;
  padding:26px 28px;
  min-height:120px;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(27,27,29,.08);
  border-radius:22px;
  box-shadow:0 16px 40px rgba(27,27,29,.05);
}
.trustbar-icon{
  width:60px;height:60px;
  border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(155,125,116,.10);
  border:1px solid rgba(155,125,116,.18);
  flex:0 0 60px;
}
.trustbar-icon svg{width:26px;height:26px}
.trustbar-h{font-size:20px;font-weight:900;letter-spacing:-0.3px;line-height:1.15}
.trustbar-d{margin-top:6px;font-size:15px;color:rgba(27,27,29,.68);line-height:1.45}
.trustbar-item > div:last-child{display:flex;flex-direction:column;justify-content:center}
@media (max-width:980px){
  .trustbar-items{grid-template-columns:1fr;gap:14px;margin-top:18px}
  .trustbar-item{padding:20px 18px;min-height:96px;border-radius:18px}
  .trustbar-icon{width:52px;height:52px;border-radius:14px;flex:0 0 52px}
  .trustbar-h{font-size:18px}
  .trustbar-d{font-size:14px;margin-top:4px}
}
@media (max-width:640px){
  .trustbar-items{gap:12px;margin-top:16px}
  .trustbar-item{padding:18px 16px;min-height:92px;gap:14px}
  .trustbar-icon{width:48px;height:48px;flex:0 0 48px}
  .trustbar-h{font-size:17px;line-height:1.15}
  .trustbar-d{font-size:13.5px;line-height:1.4}
}

/* ===== Centered mobile logo layout (kept without duplicates) ===== */
.topbar-inner{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
@media (min-width:921px){
  .brand-center{position:static;transform:none}
}
@media (max-width:920px){
  .topbar-left{width:48px;display:flex;justify-content:flex-start}
  .topbar-right{width:110px;display:flex;justify-content:flex-end}

  .brand-center{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    text-align:center;
    min-width:auto;
  }
  .brand-center .brand-lockup{align-items:center}
  .brand-center .brand-slogan{letter-spacing:.14em}

  /* logo centered */
  .topbar .container{position:relative;justify-content:center}
  .topbar .brand{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    min-width:auto;
    gap:0;
  }
  .brand-lockup{align-items:center;text-align:center}

  .topbar .nav-cta{width:100%;justify-content:space-between;gap:10px}
  .topbar .nav-cta .iconbtn{margin-left:0}
}

/* ===== Desktop: topbar over hero video ===== */
@media (min-width:921px){
  .topbar{
    position:absolute;
    top:0;left:0;right:0;
    height:88px;
    background:transparent;
    border-bottom:none;
    backdrop-filter:none;
    z-index:100;
  }

  .brand-logo .neo,.brand-logo .yoon{color:#fff}
  .brand-slogan{color:rgba(255,255,255,.75);opacity:.9;letter-spacing:.12em}

  .nav{color:rgba(255,255,255,.85)}
  .nav a{color:inherit;background:transparent;border:none;padding:10px 10px;border-radius:10px}
  .nav a:hover{background:transparent;color:#fff;opacity:.95}

  .nav a.is-active{position:relative;color:#fff;background:transparent;border:none}
  .nav a.is-active::after{
    content:"";
    position:absolute;
    left:10px;right:10px;
    bottom:6px;
    height:2px;
    border-radius:2px;
    background:rgba(255,255,255,.85);
    transform:none;
  }

  /* burger on hero */
  .iconbtn{
    width:42px;height:42px;
    background:transparent;
    border:none;
    box-shadow:none;
  }
  .iconbtn:hover{background:rgba(255,255,255,.10);border-radius:999px}
  .iconbtn svg path{stroke:#fff}

  .btn.primary.small{
    background:rgba(155,125,116,.95);
    box-shadow:0 20px 60px rgba(0,0,0,.25);
  }
}

/* Desktop overlay readability */
@media (min-width:921px){
  .hero-media::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(0,0,0,.38) 0%, rgba(0,0,0,.18) 22%, rgba(0,0,0,.00) 52%);
    z-index:0;
    pointer-events:none;
  }
  .hero-center{z-index:1}
}

/* ===== Minimal topbar mode (kept; removed contradictions) ===== */
.topbar--minimal{
  background:transparent!important;
  border-bottom:none;
  backdrop-filter:none!important;
}
.topbar--minimal .container{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.topbar--minimal .brand{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  text-align:center;
}
.topbar--minimal .nav-cta{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
}

.topbar--minimal .nav-cta-chat{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}

.topbar--minimal .brand-logo .neo,
.topbar--minimal .brand-logo .yoon{color:#fff}
.topbar--minimal .brand-slogan{color:rgba(255,255,255,.78)}
.topbar--minimal .iconbtn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.topbar--minimal .iconbtn:hover{background:rgba(255,255,255,.18)}

/* ===== Mobile: colored logo + hide hero actions (kept once) ===== */
@media (max-width:920px){
  .topbar{
    background:#fff!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
    position:relative!important;
    top:auto;
    inset:auto;
  }
  .hero{padding-top:0!important}
  .hero-actions{display:none}

  .topbar .brand-logo .neo{color:#1b57c9!important}
  .topbar .brand-logo .yoon{color:#e2383a!important}
  .topbar .brand-slogan{color:rgba(27,27,29,.65)!important;text-shadow:none}
  .iconbtn svg path{stroke:rgba(27,27,29,.85)!important}
}

/* ===== User proof ===== */
.user-proof{background:#fff;border-top:1px solid rgba(27,27,29,.08);border-bottom:1px solid rgba(27,27,29,.08)}
.user-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.user-proof-card{
  background:rgba(251,247,243,.6);
  border:1px solid rgba(27,27,29,.08);
  border-radius:22px;
  padding:26px;
  box-shadow:0 18px 50px rgba(27,27,29,.05);
}
.user-proof-card h3{margin:0 0 10px;font-size:18px;font-weight:900;letter-spacing:-.2px}
.user-proof-card p{margin:0;color:rgba(27,27,29,.70);line-height:1.6;font-size:14px}
@media (max-width:980px){.user-proof-grid{grid-template-columns:1fr}}

/* ===== Mobile: move hero content higher ===== */
@media (max-width:640px){
  .hero-media{height:70vh}
  .hero-center{align-items:flex-start;padding-top:90px}
  .hero-title{font-size:34px;line-height:1.08}
  .hero-sub{margin-top:12px;font-size:15px}
  .hero-actions{margin-top:16px}
}

/* ===== Sticky CTA Mobile (removed duplicate .sticky-cta transition block) ===== */
.sticky-cta{
  position:fixed;
  bottom:0;left:0;right:0;
  padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  background:linear-gradient(to top, rgba(255,255,255,1) 60%, rgba(255,255,255,.95) 100%);
  backdrop-filter:blur(8px);
  box-shadow:0 -10px 30px rgba(0,0,0,.08);
  z-index:200;
  display:none;
  transition:transform .28s cubic-bezier(.2,.9,.2,1), opacity .22s ease;
  will-change:transform, opacity;
}
.sticky-btn{
  width:100%;
  height:56px;
  border-radius:999px;
  border:none;
  font-size:17px;
  font-weight:900;
  letter-spacing:.2px;
  color:#fff;
  background:linear-gradient(135deg,#a65a2b 0%, #c8743b 55%, #f2a24b 100%);
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.sticky-btn:active{transform:scale(.97)}
@media (max-width:920px){.sticky-cta{display:block}}
.sticky-cta.is-hidden{transform:translateY(110%);opacity:0;pointer-events:none}
.sticky-cta.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}

/* ===== Desktop sticky bar ===== */
@media (min-width:921px){
  .deskbar{
    position:fixed;
    top:0;left:0;right:0;
    height:var(--deskbar-h);
    display:flex;
    align-items:center;
    background:linear-gradient(180deg, #8b6f56, #7a614c);
    border-bottom:1px solid rgba(255,255,255,.12);
    box-shadow:0 10px 40px rgba(0,0,0,.15);
    z-index:120;

    opacity:0;
    transform:translateY(-110%);
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
    will-change:transform, opacity;
  }
  .deskbar.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}

  .deskbar-inner{position:relative;display:flex;align-items:center}

  .deskbar-menu{
    width:42px;height:42px;
    background:rgba(27,27,29,.04);
    border:1px solid rgba(27,27,29,.10);
    box-shadow:none;
  }
  .deskbar-menu:hover{background:rgba(27,27,29,.06)}

  .deskbar-mid{
    text-align:left;
    line-height:1.1;
    flex:1;
    margin-left:10px;
    min-width:0;
  }
  .deskbar-title{font-weight:900;font-size:18px;color:#fff;letter-spacing:-.3px}
  .deskbar-sub{
    text-align:left;
    margin-top:4px;
    font-size:12px;
    color:rgba(27,27,29,.60);
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .topbar.is-hidden{opacity:0;pointer-events:none}
}
@media (max-width:920px){.deskbar{display:none!important}}

/* ===== Feature visibility rules ===== */
@media (max-width:920px){.neoyoon-feature{display:none}}
@media (min-width:921px){.feature-mobile{display:none}}

/* Mobile feature */
.feature-mobile{padding:40px 0}
.fm-item{margin-bottom:36px}
.fm-item h3{font-size:20px;font-weight:900;margin-bottom:14px;letter-spacing:-.3px}
.fm-item video{width:100%;border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.10)}

/* ===== Pricing ===== */
.pricing-section{
  background:#f6f1ee;
  padding:70px 20px;
  font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
}
.pricing-container{max-width:1200px;margin:0 auto;text-align:center}

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(260px, 1fr));
  gap:22px;
  align-items:stretch;
}
@media (max-width:980px){
  .pricing-grid{grid-template-columns:1fr;gap:16px}
  .title{font-size:38px}
}

/* cards */
.card{
  position:relative;
  background:#fff;
  border-radius:26px;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 14px 34px rgba(0,0,0,.10);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition:transform .18s ease, box-shadow .18s ease;
}
.card:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(0,0,0,.14)}
.bundle{
  position:relative;
  overflow:visible;
  border:1px solid rgba(194,140,70,.55);
  box-shadow:0 18px 54px rgba(0,0,0,.14);
  transform:translateY(-4px);
}
@media (max-width:980px){.bundle{transform:none}}

/* badge */
.badge-float{
  position:absolute;
  top:-16px;
  left:0;right:0;
  display:flex;
  justify-content:center;
  z-index:10;
  pointer-events:none;
}
.badge-pill{
  background:#a9784f;
  color:#fff;
  padding:12px 34px;
  font-size:18px;
  border-radius:999px;
  font-weight:900;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}
.bundle .img-frame{margin-top:5px}

/* image area */
.img-frame{
  margin:10px 10px 0;
  border-radius:16px;
  background:#f2f4f6;
  padding:0;
  overflow:hidden;
}
.img-frame--bundle{background:#fff}
.card-hero{
  position:relative;
  width:100%;
  height:320px;
  background:var(--bg) center/cover no-repeat;
  display:block;
}
.card-hero--bundle{height:320px}
.card-hero::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:25px;
  background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.92) 65%, #ffffff 100%);
  pointer-events:none;
}

/* rating */
.rating-under{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin:12px 0 0;
  color:#555;
  font-weight:700;
}
.stars{letter-spacing:2px;font-size:16px;color:#b58a54}
.score{font-weight:800;color:#555}

/* body */
.card-body{padding:12px 22px 6px}
.customers{margin-top:6px;color:#777;font-weight:700}

.spec{margin-top:14px}
.spec-title{font-size:32px;font-weight:500;color:#111}
.spec-sub{margin-top:8px;color:#7b7b7b;font-weight:700;font-size:16px}

.single-price{margin-top:14px;font-size:48px;font-weight:900;color:#111;letter-spacing:-0.02em}

.bundle-lines{margin:10px auto 0;max-width:360px;text-align:left;color:#444}
.bundle-lines .line{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:15px}
.bundle-lines .dot{
  width:20px;height:20px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#efe7df;color:#a9784f;font-weight:900;flex:0 0 auto;
}

/* bundle price */
.bundle-price{margin-top:14px;display:flex;justify-content:center;align-items:baseline;gap:12px}
.bundle-price .now{font-size:50px;font-weight:900;color:#b6652b;letter-spacing:-0.02em}
.bundle-price .was{color:#9c9c9c;text-decoration:line-through;font-weight:800}
.bundle-price .save{color:#b6652b;font-weight:900}

/* pricing titles */
.pricing-section .title{font-size:54px;line-height:1.05;letter-spacing:-0.02em;margin:0 0 10px;color:#111;font-weight:900}
.pricing-section .subtitle{margin:0 0 46px;color:#666;font-size:18px;font-weight:500}

/* pricing buttons (removed internal duplicates) */
.pricing-section .btn{
  margin:10px 18px 0;
  height:48px;
  border-radius:999px;
  font-size:16px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}
.pricing-section .btn.btn-primary{
  border:0;
  background:linear-gradient(135deg,#a65a2b 0%, #c8743b 55%, #f2a24b 100%);
  color:#fff;
  box-shadow:0 12px 26px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.28);
  position:relative;
  overflow:hidden;
  animation:breathe 3s ease-in-out infinite;
  transition:transform .1s ease, box-shadow .2s ease;
}
.pricing-section .btn.btn-primary::after{
  content:"";
  position:absolute;
  top:0;
  left:-60%;
  width:50%;
  height:100%;
  background:linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.35) 50%, rgba(255,255,255,0) 100%);
  transform:skewX(-25deg);
  animation:shine 4s infinite;
}
.pricing-section .btn.btn-primary:active{transform:scale(.96)}
@keyframes shine{0%{left:-60%}100%{left:130%}}

.pricing-section .btn.btn-outline{
  background:#fff;
  border:2px solid rgba(0,0,0,.10);
  color:#111;
  box-shadow:0 8px 18px rgba(0,0,0,.06);
}
.pricing-section .btn.btn-primary:hover,
.pricing-section .btn.btn-outline:hover{transform:translateY(-2px);transition:transform .18s ease}

/* Desktop fit (merged duplicates) */
@media (min-width:981px){
  .pricing-section{padding:36px 20px}
  .pricing-section .title{font-size:44px;margin:0 0 6px}
  .pricing-grid{gap:16px}
  .rating-under{margin:8px 0 0;gap:8px}
  .card-body{padding:10px 18px 4px}
  .customers{margin-top:-2px;font-size:14px}
  .spec{margin-top:10px}
  .spec-title{font-size:26px}
  .spec-sub{margin-top:6px;font-size:14px}
  .single-price{margin-top:10px;font-size:40px}
  .bundle-price .now{font-size:44px}
  .bundle-lines{margin-top:8px}
  .bundle-lines .line{margin:8px 0;font-size:14px}
  .trust{margin:10px 18px 14px;gap:6px;font-size:14px}
  .badge-float{top:-14px}
  .badge-pill{padding:10px 28px;font-size:16px}
}

/* Trust */
.trust{
  margin:14px 22px 18px;
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#4f9c62;
  font-weight:800;
  text-align:center;
}
.trust--center{text-align:center;align-items:center}

@media (max-width:980px){.card{margin-top:25px}}

/* Mobile: bundle first */
@media (max-width:980px){
  .pricing-grid{display:flex;flex-direction:column}
  .pricing-grid .bundle{order:-1}
}

/* 1) перебиваем footer-стили ссылок ТОЛЬКО внутри соц-блока */
.col .social-soft a{
  display:inline-flex;
  padding:0;
}

/* 2) сетка и перенос */
.social-soft{
  display:grid;
  grid-template-columns: repeat(3, auto);
  gap:10px;
  justify-content:start;
  margin-top:14px;
}

/* 3) плитка как на референсе */
.soft-icon{
  width:40px;
  height:40px;
  border-radius:8px;
  background: rgba(27,27,29,.05);
  color: rgba(27,27,29,.72);

  display:flex;              /* вместо grid */
  align-items:center;        /* вертикальный центр */
  justify-content:center;    /* горизонтальный центр */

  line-height:0;             /* убирает baseline смещение */
  padding:0;                 /* на всякий случай */

  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
}

.soft-icon svg{
  width:25px;
  height:25px;
  display:block;             /* важно */
  flex:0 0 auto;
}
 
 
 
/* hover */
.soft-icon:hover{
  transform: translateY(-2px);
  background:#fff;
  color:#9b7d74;
  box-shadow: 0 12px 30px rgba(27,27,29,.10);
}


@media (max-width: 640px){

  .social-soft{
    display:flex;
    justify-content:center;   /* центрируем */
    align-items:center;
    gap:12px;
    margin-top:16px;
    flex-wrap:nowrap;
  }

  .soft-icon{
    width:44px;      /* было 56 */
    height:44px;
    border-radius:12px;
    flex:0 0 auto;
  }

  .soft-icon svg{
    width:22px;      /* уменьшили иконку */
    height:22px;
  }
}

@media (max-width: 640px){

  /* общий контейнер футера — держим одну ширину */
  .footer .container{
    width: min(520px, calc(100% - 32px));
  }

  /* -------- newsletter -------- */
  .newsletter{
    padding-bottom: 18px !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid rgba(27,27,29,.08);
    gap: 12px !important;
  }

  .newsletter h3{
    font-size: 22px !important;
    line-height: 1.25 !important;
    letter-spacing: -.2px !important;
    margin-bottom: 4px !important;
    text-align: left !important;
  }

  .form{
    justify-content:flex-start !important;
    gap: 10px !important;
  }

  .input{
    height: 50px !important;
    border-radius: 999px !important;
    text-align:left !important;
    padding: 0 16px !important;
  }

  .form .btn{
    width: 100% !important;
    max-width: none !important;
    height: 48px !important;
    border-radius: 999px !important;
    font-size: 16px !important;
  }

  /* -------- секции футера -------- */
  .foot-grid{
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    text-align: left !important;
  }

  .foot-grid .col{
    padding: 18px 0 !important;
  }

  /* одна аккуратная линия между секциями */
  .foot-grid .col + .col{
    border-top: 1px solid rgba(27,27,29,.08) !important;
  }

  /* глушим старые ::after разделители (если были) */
  .foot-grid .col::after{
    content:none !important;
  }

  /* заголовки — НЕ гигантские, но заметные */
  .col h4{
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    color: rgba(27,27,29,.85) !important;
    margin: 0 0 12px !important;
  }

  /* ссылки */
  .col a{
    font-size: 16px !important;
 
  }

  /* -------- SOCIAL (строка, компактнее, по центру) -------- */
  .social-soft{
    display:flex !important;
    justify-content:flex-start !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    margin-top: 10px !important;
  }

  .soft-icon{
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
  }

  .soft-icon svg{
    width: 20px !important;
    height: 20px !important;
  }

  /* если хочешь центром именно только соц-иконки */
  .col--social{
    text-align:left !important;
  }

  /* bottom */
  .bottom{
    border-top: 1px solid rgba(27,27,29,.08) !important;
    padding-top: 14px !important;
    margin-top: 14px !important;
    text-align: center !important;
  }
}

/* =========================
   NEED HELP — clean version
   ========================= */
 
/* Заголовок */
.helpbox h4{
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
 
 
/* =========================
   NEED HELP — unified style
   ========================= */

.helpbox--support .helpbox-sub{
  margin: 0 0 16px;
  color: rgba(27,27,29,.70);
  font-size: 15px;
  line-height: 1.2;
  font-weight: 650;
}

.helpbox--support .helpbox-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 22px;
  border-radius: 25px;
  background: #e22f74;     
  color: #fff;
  border: 1px solid transparent;
  font-weight: 900;
  font-size: 18px;
  box-shadow: 0 16px 34px rgba(226,47,116,.20);
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.helpbox--support .helpbox-cta:hover{
  transform: translateY(-2px);
  filter: brightness(1.02);
  box-shadow: 0 22px 48px rgba(226,47,116,.26);
  color:#fff;
}

.helpbox--support .helpbox-cta:active{
  transform: translateY(0);
  box-shadow: 0 14px 30px rgba(226,47,116,.20);
}


/* =========================
   Newsletter unified bar
   ========================= */

.newsletter .form{
  display:flex;
  gap:0;              /* УБИРАЕМ отступ */
}

.newsletter .input{
  flex:1;
  border-radius:999px 0 0 999px;   /* скругление слева */
  border-right:none;               /* убираем двойную линию */
}

.newsletter .btn{
  border-radius:0 999px 999px 0;   /* скругление справа */
  margin:0;                        /* убираем возможные отступы */
}

/* =========================
   MOBILE: footer centered + safe area for sticky CTA
   ========================= */
@media (max-width: 640px){

  /* 1) общий центр */
  .footer,
  .footer .container{
    text-align:center;
  }

  /* 2) сетка колонок в 1 колонку и центр */
  .foot-grid{
    grid-template-columns: 1fr;
    justify-items:center;
    text-align:center;
    gap: 22px;
  }

  .foot-grid .col{
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
  }

  /* 3) заголовки + ссылки по центру */
  .col h4{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }

  .col a{
    display:block;
    text-align:center;
  }

  /* 4) соц-иконки по центру */
  .social-soft{
    justify-content:center;
    justify-items:center;
    margin-left:auto;
    margin-right:auto;
  }

  /* если у тебя social-soft = grid */
  .social-soft{
    grid-template-columns: repeat(5, 40px); /* 5 иконок в линию */
    gap: 12px;
    justify-content:center;
  }

  /* 5) блок helpbox тоже по центру */
  .helpbox{
    max-width: 420px;
    margin: 0 auto;
    text-align:center;
  }

  .helpbox .btn{
    display:inline-flex;
    margin: 14px auto 0;
  }

  /* 6) нижний блок (копирайт/ссылки) по центру */
  .bottom{
    flex-direction: column;
    justify-content:center;
    align-items:center;
    text-align:center;
    gap: 10px;
  }

  /* 7) ВАЖНО: отступ снизу под липкую кнопку */
  .footer{
    padding-bottom: calc(110px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 640px){
  /* ВАЖНО: перебиваем все старые правила */
  .social-soft{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:12px !important;
    margin-top:12px !important;
    width:100%;
  }

  /* если вдруг родитель .col/ .col--social мешает */
  .col--social,
  .col--social *{
    text-align:center;
  }
}

@media (max-width: 640px){

  .newsletter{
    text-align:center;
  }

  .newsletter-title{
    text-align:center;
    font-size:22px;
    line-height:1.3;
    font-weight:800;
    margin-bottom:16px;
  }


}

@media (max-width: 640px){

  .newsletter .form{
    display:flex;
    gap:0;
    width:100%;
  }

  .newsletter .input{
    flex:1;
    height:52px;
    border-radius:999px 0 0 999px;
    border-right:none;
    padding:0 16px;
    font-size:15px;
  }

  .newsletter .btn{
    height:52px;
    padding:0 20px;
    border-radius:0 999px 999px 0;
    margin:0;
    font-size:15px;
    white-space:nowrap;
  }

}

@media (max-width: 640px){
  .newsletter .form{
    flex-wrap:nowrap !important;
  }
  .newsletter .input{
    min-width:0 !important;   /* важно, иначе input может выталкивать кнопку */
  }
}


@media (max-width: 640px){
  .newsletter{
    text-align:center;
  }
  .newsletter h3{
    text-align:center;
    margin:0 auto 16px;
    max-width: 320px;   /* чтобы красиво переносился */
  }  
  
  .newsletter .form{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:0 !important;
    align-items:stretch;
    max-width: 360px;
    margin: 16px auto 0; 
  }

  .newsletter .input{
    min-width: 0 !important;          /* КЛЮЧ: иначе input может схлопнуться */
    height:56px !important;
    border-radius:999px 0 0 999px !important;
    border-right:none !important;
    flex:1;
    min-width:0;
  }

  .newsletter .btn{
    flex: 0 0 auto !important;        /* кнопка НЕ должна быть flex:1 */
    height:56px !important;
    padding:0 18px !important;
    border-radius:0 999px 999px 0 !important;
    margin:0 !important;
    white-space:nowrap;
  }
}

  .newsletter .form .btn{ width:auto !important; }
  
  
/* ===== Legal pages ===== */
.legal-wrap{max-width:820px;margin:0 auto}
.legal-wrap h1{font-size:42px;letter-spacing:-.6px;margin:0 0 10px}
.legal-wrap h2{margin:28px 0 10px;font-size:20px;letter-spacing:-.2px}
.legal-wrap p,.legal-wrap li{color:rgba(27,27,29,.78);line-height:1.75;font-size:15.5px}
.legal-wrap ul{padding-left:18px}
.legal-meta{color:rgba(27,27,29,.55);font-weight:700;margin-bottom:18px}
@media (max-width:640px){
  .legal-wrap h1{font-size:30px}
}

/* ===== Contact page (NeoYoon soft palette) ===== */
.contact-page{ background:#fbf7f3; }
.contact-wrap{ max-width: 900px; margin: 0 auto; padding: 64px 0 96px; }

.contact-title{
  font-size: clamp(46px, 5.4vw, 78px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  margin: 0 0 10px;
  color: #1b1b1d;
}
.contact-sub{
  margin: 0 0 26px;
  color: rgba(27,27,29,.62);
  font-size: 17px;
  line-height: 1.55;
  max-width: 70ch;
}

.contact-list{ display:grid; gap: 18px; }

/* Card */
.contact-item{
  display: grid;
  grid-template-columns: 62px 1fr auto;
  gap: 16px;
  align-items: center;

  background: rgba(255,255,255,.78);
  border: 1px solid rgba(27,27,29,.10);
  border-radius: 22px;
  padding: 18px 18px;

  box-shadow: 0 22px 70px rgba(27,27,29,.08);
}

/* Icon bubble */
.ci-ico{
  width: 48px; height: 48px;
  border-radius: 999px;
  display: grid; place-items: center;

  background: rgba(255,255,255,.92);
  border: 1px solid rgba(27,27,29,.10);
  color: rgba(27,27,29,.92);
}
.ci-ico svg{ width: 22px; height: 22px; display:block; }

/* Text */
.ci-title{
  font-weight: 850;
  color: #1b1b1d;
  margin: 0 0 4px;
  font-size: 20px;
  letter-spacing: -0.01em;
}
.ci-value{
  margin: 0;
  color: rgba(27,27,29,.62);
  font-size: 16px;
  line-height: 1.45;
}
.ci-value a{
  color: #1b1b1d;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Chat button */
.chat-btn{
  appearance:none;
  border: 0;
  cursor: pointer;
  border-radius: 999px;
  padding: 12px 16px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #fff;

  background: #e22f74;
    box-shadow: 0 16px 34px rgba(226, 47, 116, .20);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.chat-btn:hover{ transform: translateY(-1px); box-shadow: 0 18px 52px rgba(27,27,29,.22); }
.chat-btn:active{ transform: translateY(0px); opacity:.95; }
.chat-btn:focus-visible{ outline: 3px solid rgba(208, 82, 124, .35); outline-offset: 3px; }
.chat-btn svg{ width: 18px; height: 18px; display:block; }

/* Make non-chat rows 2 columns */
.contact-item.simple{
  grid-template-columns: 62px 1fr;
}
.contact-item.simple .ci-right{ display:none; }

/* Subtle accent line (optional) */
.contact-item::before{
  content:"";
  position:absolute;
  width:0; height:0;
}
.contact-item{
  position: relative;
}
.contact-item.is-chat{
  border-color: rgba(208, 82, 124, .18);
}

/* Mobile */
@media (max-width: 640px){
  .contact-wrap{ padding: 42px 0 72px; }
  .contact-item{
    grid-template-columns: 56px 1fr;
    grid-auto-rows: auto;
    padding: 16px;
    border-radius: 18px;
  }
  .ci-title{ font-size: 18px; }
  .ci-value{ font-size: 15px; }
  .ci-right{ grid-column: 1 / -1; }
  .chat-btn{ width: 100%; justify-content: center; padding: 13px 16px; }
}