/* ==============================================
   ECOLOG61 — Main Stylesheet v0.1
   Art direction: Экологические услуги → Профессиональный, доверие, природа
   Palette: Зелёный, тёмно-зелёный + белые/светлые поверхности
   Typography: Montserrat (display) + Open Sans (body)
   Density: balanced
   ============================================== */

/* ---- TOKENS ---- */
:root {
  --font-display: 'Montserrat', 'Helvetica Neue', sans-serif;
  --font-body: 'Open Sans', 'Helvetica Neue', sans-serif;

  --text-xs:   clamp(0.75rem,  0.7rem  + 0.25vw, 0.875rem);
  --text-sm:   clamp(0.875rem, 0.8rem  + 0.35vw, 1rem);
  --text-base: clamp(1rem,     0.95rem + 0.25vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 1rem    + 0.75vw, 1.5rem);
  --text-xl:   clamp(1.5rem,   1.2rem  + 1.25vw, 2.25rem);
  --text-2xl:  clamp(2rem,     1.2rem  + 2.5vw,  3.5rem);
  --text-3xl:  clamp(2.5rem,   1rem    + 4vw,    5rem);

  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem;
  --space-4: 1rem;   --space-5: 1.25rem; --space-6: 1.5rem;
  --space-8: 2rem;   --space-10: 2.5rem; --space-12: 3rem;
  --space-16: 4rem;  --space-20: 5rem;   --space-24: 6rem;

  /* Green palette */
  --color-primary:        #1b7a3e;
  --color-primary-dark:   #145a2d;
  --color-primary-deeper: #0e3d1f;
  --color-primary-light:  #d4edda;
  --color-primary-subtle: #eaf5ee;
  --color-accent:         #2eb85c;
  --color-accent-hover:   #25a050;

  --color-bg:             #f8faf8;
  --color-surface:        #ffffff;
  --color-surface-2:      #f2f7f3;
  --color-surface-offset: #e8f2eb;
  --color-border:         oklch(from #1b7a3e l c h / 0.15);
  --color-divider:        #e2e8e4;

  --color-text:           #1a2e1f;
  --color-text-muted:     #4a6351;
  --color-text-faint:     #8aaa92;
  --color-text-inverse:   #ffffff;

  --color-header-bg:      #ffffff;
  --color-header-border:  #e2e8e4;

  --radius-sm:   .375rem;
  --radius-md:   .5rem;
  --radius-lg:   .75rem;
  --radius-xl:   1rem;
  --radius-2xl:  1.5rem;
  --radius-full: 9999px;

  --shadow-sm: 0 1px 3px rgba(27,122,62,.08), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md: 0 4px 12px rgba(27,122,62,.1), 0 2px 4px rgba(0,0,0,.05);
  --shadow-lg: 0 12px 32px rgba(27,122,62,.12), 0 4px 8px rgba(0,0,0,.06);
  --shadow-xl: 0 24px 48px rgba(27,122,62,.15), 0 8px 16px rgba(0,0,0,.08);

  --transition: 180ms cubic-bezier(.16,1,.3,1);

  --content-narrow:  640px;
  --content-default: 960px;
  --content-wide:    1200px;
}

/* ---- RESET / BASE ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:5rem}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:1.65}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
ul[role="list"],ol[role="list"]{list-style:none}
input,button,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15;font-family:var(--font-display)}
p,li,figcaption{text-wrap:pretty;max-width:72ch}
button{cursor:pointer;background:none;border:none}
table{border-collapse:collapse;width:100%}
::selection{background:rgba(27,122,62,.2);color:var(--color-text)}
.service-card-featured ::selection,
.service-cta-card ::selection,
.why-us-section ::selection,
.stats-section ::selection,
.hero-section ::selection{background:rgba(255,255,255,.35);color:#fff}

:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
a,button,[role="button"],input,textarea,select{transition:color var(--transition),background var(--transition),border-color var(--transition),box-shadow var(--transition)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---- LAYOUT ---- */
.container{max-width:var(--content-wide);margin-inline:auto;padding-inline:clamp(var(--space-4),4vw,var(--space-12))}
.section{padding-block:clamp(var(--space-12),8vw,var(--space-24))}

/* ---- BUTTONS ---- */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;text-decoration:none;border:2px solid transparent;white-space:nowrap;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}
.btn:active{transform:scale(.98)}
.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}
.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}
.btn-full{width:100%;justify-content:center}
.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn-primary:hover,.btn-primary:focus-visible{background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}
.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}
.btn-outline:hover,.btn-outline:focus-visible{background:var(--color-primary);color:#fff}
.btn-outline-white{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-outline-white:hover{background:rgba(255,255,255,.15);border-color:#fff}
.btn-white{background:#fff;color:var(--color-primary);border-color:#fff}
.btn-white:hover,.btn-white:focus-visible{background:rgba(255,255,255,.9);border-color:rgba(255,255,255,.9);box-shadow:var(--shadow-md)}

.btn-white{background:#fff;color:var(--color-primary);border-color:#fff}
.btn-white:hover{background:var(--color-primary-subtle);border-color:var(--color-primary-subtle)}

/* ---- SECTION HEADER ---- */
.section-header{text-align:center;margin-bottom:clamp(var(--space-10),5vw,var(--space-16))}
.section-label{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);background:var(--color-primary-subtle);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-4)}
.section-label-light{background:rgba(255,255,255,.15);color:#fff}
.section-title{font-size:var(--text-2xl);font-weight:800;color:var(--color-text);margin-bottom:var(--space-4)}
.section-title-light{color:#fff}
.section-desc{font-size:var(--text-base);color:var(--color-text-muted);max-width:60ch;margin-inline:auto}
.section-desc-light{color:rgba(255,255,255,.85)}

/* ============================================
   HEADER
   ============================================ */
.site-header{position:sticky;top:0;z-index:100;background:var(--color-header-bg);border-bottom:1px solid var(--color-header-border);box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;gap:var(--space-6);padding-block:var(--space-3);flex-wrap:nowrap}
.site-logo img{height:50px;width:auto;max-width:180px;object-fit:contain}
.site-logo:focus-visible{border-radius:var(--radius-sm)}
.site-nav{flex:1}
.nav-list{display:flex;list-style:none;gap:var(--space-1);align-items:center}
.nav-list a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);text-decoration:none}
.nav-list a:hover{color:var(--color-primary);background:var(--color-primary-subtle)}
.nav-list .current-menu-item a,.nav-list a[aria-current="page"]{color:var(--color-primary);font-weight:600}
.header-cta{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}
.header-phone{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;text-decoration:none}
.header-phone:hover{color:var(--color-primary)}
.nav-toggle{display:none;flex-direction:column;gap:5px;padding:var(--space-2);border-radius:var(--radius-md)}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;padding:var(--space-6);border-top:1px solid var(--color-divider);background:#fff}
.mobile-nav.is-open{display:block}
.mobile-nav-list{display:flex;flex-direction:column;gap:var(--space-1);list-style:none;margin-bottom:var(--space-6)}
.mobile-nav-list a{display:block;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:500;color:var(--color-text);text-decoration:none}
.mobile-nav-list a:hover{background:var(--color-primary-subtle);color:var(--color-primary)}
@media(max-width:768px){
  .site-nav,.header-phone{display:none}
  .nav-toggle{display:flex}
}

/* ============================================
   HERO
   ============================================ */
.hero-section{position:relative;background:linear-gradient(135deg, #0e3d1f 0%, #1b7a3e 50%, #2eb85c 100%);overflow:hidden;min-height:min(90vh,780px);display:flex;align-items:center}
.hero-bg-pattern{position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle at 20% 50%, #fff 1px, transparent 1px),radial-gradient(circle at 80% 20%, #fff 1px, transparent 1px);background-size:40px 40px;pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center;padding-block:clamp(var(--space-16),10vw,var(--space-24))}
.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-5);backdrop-filter:blur(4px)}
.hero-title{font-size:var(--text-3xl);font-weight:800;color:#fff;margin-bottom:var(--space-6);line-height:1.1}
.hero-accent{color:#9FE5B8}
.hero-subtitle{font-size:var(--text-base);color:rgba(255,255,255,.85);max-width:52ch;margin-bottom:var(--space-8);line-height:1.7}
.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-10)}
.hero-trust{display:flex;align-items:center;gap:var(--space-6)}
.trust-item{display:flex;flex-direction:column}
.trust-item strong{font-size:var(--text-xl);font-weight:800;color:#fff;font-family:var(--font-display);line-height:1}
.trust-item span{font-size:var(--text-xs);color:rgba(255,255,255,.7);margin-top:2px}
.trust-divider{width:1px;height:40px;background:rgba(255,255,255,.25)}

/* Hero visual — card stack */
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}
.hero-card-stack{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:300px}
.hero-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);backdrop-filter:blur(8px);animation:fadeSlideIn .6s ease both;min-height:64px}
.hero-card-1{animation-delay:.1s}
.hero-card-2{animation-delay:.25s}
.hero-card-3{animation-delay:.4s}
@keyframes fadeSlideIn{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
.hc-icon{width:36px;height:36px;background:rgba(255,255,255,.18);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.hc-text{display:flex;flex-direction:column;gap:2px}
.hc-label{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:#fff}
.hc-sub{font-size:var(--text-xs);color:rgba(255,255,255,.7)}

.hero-scroll-hint{position:absolute;bottom:var(--space-6);left:50%;transform:translateX(-50%);color:rgba(255,255,255,.5);animation:bounce 2s ease-in-out infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}

@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr}
  .hero-visual{display:none}
}
@media(max-width:480px){
  .hero-actions{flex-direction:column}
  .hero-trust{gap:var(--space-4)}
}

/* ============================================
   SERVICES
   ============================================ */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--space-6)}
.service-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition)}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.service-card-inner{padding:var(--space-8);height:100%;display:flex;flex-direction:column;gap:var(--space-4)}
.service-card-featured{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border-color:transparent}
.service-card-featured .service-title,.service-card-featured .service-list li,.service-card-featured .service-cta{color:#fff}
.service-card-featured .service-list li::before{background:#9FE5B8}
.service-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg)}
.service-icon-air{background:var(--color-primary-subtle);color:var(--color-primary)}
.service-icon-waste{background:#fff3e0;color:#e65100}
.service-icon-passport{background:#e8f5e9;color:var(--color-primary-dark)}
.service-icon-report{background:#f3e5f5;color:#7b1fa2}
.service-icon-other{background:#e3f2fd;color:#1565c0}
.service-card-featured .service-icon{background:rgba(255,255,255,.15);color:#9FE5B8}
.service-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text);line-height:1.3}
.service-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-top:auto}
.service-list li{position:relative;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}
.service-list li::before{content:'';position:absolute;left:0;top:.5em;width:8px;height:8px;background:var(--color-primary);border-radius:50%;flex-shrink:0}
.service-cta{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-display);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);text-decoration:none;margin-top:var(--space-4);padding:var(--space-2) 0;border-bottom:2px solid transparent;transition:border-color var(--transition),gap var(--transition)}
.service-cta:hover{border-color:var(--color-primary);gap:var(--space-2)}
.service-cta-card{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary-deeper));border-color:transparent}
.cta-card-inner{justify-content:center;align-items:flex-start;gap:var(--space-6)}
.cta-card-text{font-size:var(--text-base);color:rgba(255,255,255,.9);line-height:1.6;max-width:none}

/* ============================================
   STATS
   ============================================ */
.stats-section{position:relative;overflow:hidden}
.stats-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--color-primary-deeper) 0%,var(--color-primary-dark) 40%,var(--color-primary) 100%)}
.stats-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-12),8vw,var(--space-24));align-items:center}
.why-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);margin-block:var(--space-8)}
.why-list li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-base);color:rgba(255,255,255,.9)}
.why-list li svg{flex-shrink:0;color:#9FE5B8;margin-top:.15em}
.stats-numbers{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.stat-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-xl);padding:clamp(var(--space-6),3vw,var(--space-10));backdrop-filter:blur(4px)}
.stat-value{display:block;line-height:1;margin-bottom:var(--space-2)}
.stat-number{display:inline;font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:#fff;line-height:1}
.stat-unit{display:inline;font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:#9FE5B8;margin-left:2px}
.stat-label{display:block;font-size:var(--text-xs);color:rgba(255,255,255,.7);margin-top:var(--space-2);line-height:1.4}
@media(max-width:768px){
  .stats-inner{grid-template-columns:1fr}
  .stats-numbers{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .stats-numbers{grid-template-columns:1fr}
}

/* ============================================
   GRATITUDE
   ============================================ */
.gratitude-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:var(--space-6);margin-bottom:var(--space-8)}
.gratitude-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}
.gratitude-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.gratitude-doc-icon{width:52px;height:52px;background:var(--color-primary-subtle);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}
.gratitude-quote p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;font-style:italic}
.gratitude-author{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.gratitude-author strong{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--color-text)}
.gratitude-author span{font-size:var(--text-xs);color:var(--color-text-faint)}

.gratitude-note a{color:var(--color-primary);font-weight:600;text-decoration:none}
.gratitude-note a:hover{text-decoration:underline}

/* ============================================
   PROCESS
   ============================================ */
.process-section{background:var(--color-surface-2)}
.process-steps{display:flex;align-items:stretch;gap:0;margin-top:var(--space-4)}
.process-step{flex:1;min-width:180px;padding:var(--space-8) var(--space-6);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column}
.process-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.process-arrow{display:flex;align-items:center;justify-content:center;padding:0 var(--space-2);color:var(--color-primary-light);flex-shrink:0;margin-top:var(--space-12)}
.step-num{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;color:var(--color-primary-light);line-height:1;margin-bottom:var(--space-4)}
.step-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text);margin-bottom:var(--space-3);line-height:1.3}
.step-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;max-width:none}
@media(max-width:768px){
  .process-steps{display:flex;align-items:stretch;gap:0;margin-top:var(--space-4)}
  .process-arrow{transform:rotate(90deg);margin:0 auto}
}

/* ============================================
   FAQ
   ============================================ */
.faq-container{max-width:var(--content-default)}
.faq-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}
.faq-item{border-bottom:1px solid var(--color-divider)}
.faq-item:last-child{border-bottom:none}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-6) var(--space-8);background:var(--color-surface);font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-text);text-align:left;cursor:pointer;transition:background var(--transition)}
.faq-question:hover,.faq-question[aria-expanded="true"]{background:var(--color-primary-subtle);color:var(--color-primary)}
.faq-icon{flex-shrink:0;transition:transform var(--transition)}
.faq-question[aria-expanded="true"] .faq-icon{transform:rotate(180deg)}
.faq-answer{padding:0 var(--space-8) var(--space-6);background:var(--color-surface)}
.faq-answer p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.75;max-width:none}

/* ============================================
   CONTACT FORM
   ============================================ */
.contact-section{position:relative;overflow:hidden}
.contact-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--color-primary-deeper) 0%,var(--color-primary) 100%)}
.contact-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-10),6vw,var(--space-20));align-items:start}
.contact-details{list-style:none;display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8)}
.contact-details li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-base);color:rgba(255,255,255,.9)}
.contact-details li svg{flex-shrink:0;margin-top:.15em;color:#9FE5B8}
.contact-details a{color:rgba(255,255,255,.9);text-decoration:none;font-weight:500}
.contact-details a:hover{color:#fff;text-decoration:underline}
.contact-form-wrap{background:#fff;border-radius:var(--radius-2xl);padding:clamp(var(--space-8),4vw,var(--space-12));box-shadow:var(--shadow-xl)}
.form-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--color-text);margin-bottom:var(--space-8)}
.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}
.form-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}
.form-label span{color:#c0392b}
.form-input{padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-base);color:var(--color-text);background:#fff;transition:border-color var(--transition),box-shadow var(--transition);width:100%}
.form-input:hover{border-color:rgba(27,122,62,.3)}
.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(27,122,62,.12)}
.form-input::placeholder{color:var(--color-text-faint)}
.form-textarea{resize:vertical;min-height:100px}

/* PD Notice */
.form-pd-notice{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--color-primary-subtle);border:1px solid var(--color-primary-light);border-radius:var(--radius-lg);margin-bottom:var(--space-5)}
.form-pd-notice svg{flex-shrink:0;margin-top:.15em;color:var(--color-primary)}
.form-pd-notice p{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.65;max-width:none}

/* Consent checkbox */
.form-consent{margin-bottom:var(--space-6)}
.consent-label{display:flex;align-items:flex-start;gap:var(--space-3);cursor:pointer}
.consent-checkbox{position:absolute;opacity:0;width:0;height:0}
.consent-custom{width:20px;height:20px;flex-shrink:0;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:border-color var(--transition),background var(--transition)}
.consent-checkbox:checked~.consent-custom{background:var(--color-primary);border-color:var(--color-primary)}
.consent-checkbox:checked~.consent-custom::after{content:'';display:block;width:5px;height:9px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}
.consent-checkbox:focus-visible~.consent-custom{outline:2px solid var(--color-primary);outline-offset:2px}
.consent-text{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6}
.consent-text a{color:var(--color-primary);font-weight:600}

/* Form states */
.form-submit:disabled{opacity:.6;cursor:not-allowed}
.form-message{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:500}
.form-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}
.form-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}

@media(max-width:768px){
  .contact-inner{grid-template-columns:1fr}
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer{background:var(--color-primary-deeper)}
.footer-top{padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:clamp(var(--space-6),3vw,var(--space-12))}
.footer-logo img{height:45px;width:auto;margin-bottom:var(--space-4);filter:brightness(0) invert(1) sepia(1) saturate(0.3) brightness(1.5)}
.footer-desc{font-size:var(--text-sm);color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:var(--space-6);max-width:none}
.footer-contact-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:rgba(255,255,255,.7);text-decoration:none}
.footer-contact-link:hover{color:#9FE5B8}
.footer-heading{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-5)}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}
.footer-links a{font-size:var(--text-sm);color:rgba(255,255,255,.65);text-decoration:none;transition:color var(--transition)}
.footer-links a:hover{color:#9FE5B8}
.requisites-list{display:flex;flex-direction:column;gap:0}
.requisites-list dt{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.45);margin-top:var(--space-3)}
.requisites-list dd{font-size:var(--text-sm);color:rgba(255,255,255,.75);line-height:1.5}
.requisites-list dd a{color:#9FE5B8;text-decoration:none}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:var(--space-5)}
.footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);flex-wrap:wrap}
.footer-copy,.footer-legal{font-size:var(--text-xs);color:rgba(255,255,255,.45)}
.footer-legal a{color:rgba(255,255,255,.6);text-decoration:none}
.footer-legal a:hover{color:#9FE5B8}
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom-inner{flex-direction:column;text-align:center}
}

/* ============================================
   PAGE / BLOG
   ============================================ */
.post-container{max-width:var(--content-default);padding-block:var(--space-16)}
.post-title{font-size:var(--text-2xl);font-weight:800;margin-bottom:var(--space-8)}
.post-content{font-size:var(--text-base);line-height:1.8;color:var(--color-text-muted)}
.post-content h2{font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin-top:var(--space-10);margin-bottom:var(--space-4)}
.post-content p{margin-bottom:var(--space-5);max-width:none}
.post-thumbnail{margin-bottom:var(--space-8);border-radius:var(--radius-xl);overflow:hidden}

/* === GRATITUDE CAROUSEL & MODAL === */
.gratitude-carousel-wrap{position:relative}
.gratitude-original-btn{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:auto;padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-full);color:var(--color-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background var(--transition),color var(--transition)}
.gratitude-original-btn:hover{background:var(--color-primary);color:#fff}
.carousel-dots{display:none;justify-content:center;gap:var(--space-2);margin-top:var(--space-4)}
.carousel-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-border);border:none;cursor:pointer;padding:0;transition:background var(--transition),transform var(--transition)}
.carousel-dot-active{background:var(--color-primary);transform:scale(1.3)}
@media(max-width:640px){
  .gratitude-section{overflow:visible}
  .gratitude-carousel-wrap{overflow:visible}
  .gratitude-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--space-4);padding-bottom:var(--space-2);padding-inline:var(--space-4);margin-inline:calc(-1 * var(--space-4));width:calc(100% + var(--space-8))}
  .gratitude-grid::-webkit-scrollbar{display:none}
  .gratitude-card{min-width:calc(100vw - 3rem);max-width:calc(100vw - 3rem);scroll-snap-align:start;flex-shrink:0}
  .carousel-dots{display:flex}
}
/* Modal */


.letter-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px)}
.letter-modal-box{position:relative;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:540px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}
.letter-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}
.letter-modal-company{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text)}
.letter-modal-close{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:var(--space-1);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}
.letter-modal-close:hover{color:var(--color-text);background:var(--color-surface-offset)}
.letter-modal-body{flex:1;overflow-y:auto;padding:var(--space-6)}
.letter-scan-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;padding:var(--space-10) var(--space-4);color:var(--color-text-muted)}
.letter-scan-placeholder svg{color:var(--color-text-faint)}


/* === MESSENGER BLOCK (Fix 10) === */
.messengers-section{padding-block:clamp(var(--space-10),5vw,var(--space-16));background:var(--color-surface)}
.messengers-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);align-items:center}
.messengers-text .section-label{margin-bottom:var(--space-3)}
.messengers-text .section-title{margin-bottom:var(--space-4)}
.messengers-text p{color:var(--color-text-muted);font-size:var(--text-base);max-width:44ch;line-height:1.7}
.messengers-cards{display:flex;flex-direction:column;gap:var(--space-3)}
.messenger-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-bg);text-decoration:none;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}
.messenger-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.messenger-icon{width:48px;height:48px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.messenger-wa .messenger-icon{background:#e8f5e9}
.messenger-wa:hover{border-color:#25D366}
.messenger-tg .messenger-icon{background:#e3f2fd}
.messenger-tg:hover{border-color:#229ED9}
.messenger-email .messenger-icon{background:#e8f5f5}
.messenger-email:hover{border-color:var(--color-primary)}
.messenger-label{display:flex;flex-direction:column;gap:2px}
.messenger-label strong{font-size:var(--text-base);font-weight:700;color:var(--color-text)}
.messenger-label span{font-size:var(--text-xs);color:var(--color-text-muted)}
.messenger-arrow{margin-left:auto;color:var(--color-text-faint)}
.messenger-card:hover .messenger-arrow{color:var(--color-primary)}
@media(max-width:768px){
  .messengers-inner{grid-template-columns:1fr}
}

/* === SINGLE POST PAGE === */
.post-hero{position:relative;background:linear-gradient(135deg,#0e3d1f,#1b7a3e);overflow:hidden;padding-block:clamp(var(--space-12),8vw,var(--space-20))}
.post-hero-has-img .post-hero-img{position:absolute;inset:0}
.post-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.post-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,40,15,.7) 0%,rgba(10,40,15,.85) 100%)}
.post-hero-content{position:relative;z-index:1}
.post-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-xs);color:rgba(255,255,255,.6);margin-bottom:var(--space-4)}
.post-breadcrumb a{color:rgba(255,255,255,.7);text-decoration:none}
.post-breadcrumb a:hover{color:#fff}
.post-cats{margin-bottom:var(--space-3)}
.post-cats a{display:inline-block;background:rgba(255,255,255,.15);color:#fff;font-size:var(--text-xs);font-weight:600;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);text-decoration:none;text-transform:uppercase;letter-spacing:.07em}
.post-hero-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:#fff;line-height:1.15;max-width:22ch;margin-bottom:var(--space-5)}
.post-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5)}
.post-date,.post-read-time{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:rgba(255,255,255,.7)}
.post-body-wrap{display:grid;grid-template-columns:1fr 300px;gap:var(--space-12);padding-block:var(--space-12);align-items:start}
@media(max-width:900px){.post-body-wrap{grid-template-columns:1fr}.post-sidebar{order:-1}}
.post-content-area{font-size:var(--text-base);line-height:1.8;color:var(--color-text)}
.post-content-area h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--color-text);margin:var(--space-8) 0 var(--space-4)}
.post-content-area h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;margin:var(--space-6) 0 var(--space-3)}
.post-content-area p{margin-bottom:var(--space-5)}
.post-content-area ul,.post-content-area ol{margin:var(--space-4) 0 var(--space-5) var(--space-6)}
.post-content-area li{margin-bottom:var(--space-2)}
.post-content-area img{border-radius:var(--radius-xl);margin:var(--space-6) 0;box-shadow:var(--shadow-md)}
.post-content-area blockquote{border-left:3px solid var(--color-primary);padding:var(--space-4) var(--space-6);background:var(--color-surface);border-radius:0 var(--radius-lg) var(--radius-lg) 0;margin:var(--space-6) 0;font-style:italic;color:var(--color-text-muted)}
.post-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border)}
.post-tags svg{color:var(--color-text-faint);flex-shrink:0}
.post-tag{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-surface-offset);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:none}
.post-tag:hover{background:var(--color-primary);color:#fff}
.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-10)}
@media(max-width:600px){.post-navigation{grid-template-columns:1fr}}
.post-nav-item{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-decoration:none;transition:box-shadow var(--transition),transform var(--transition)}
.post-nav-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.post-nav-next{text-align:right}
.post-nav-dir{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--color-text-faint);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
.post-nav-next .post-nav-dir{justify-content:flex-end}
.post-nav-title{font-size:var(--text-sm);font-weight:700;color:var(--color-text);line-height:1.4}
/* Sidebar */
.post-sidebar{display:flex;flex-direction:column;gap:var(--space-5)}
.sidebar-widget{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6)}
.sidebar-cta{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border-color:transparent;color:#fff}
.sidebar-cta-icon{width:48px;height:48px;background:rgba(255,255,255,.15);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}
.sidebar-cta h3{font-family:var(--font-display);font-size:var(--text-base);font-weight:800;color:#fff;margin-bottom:var(--space-2)}
.sidebar-cta p{font-size:var(--text-sm);color:rgba(255,255,255,.85);margin-bottom:var(--space-5);line-height:1.5}
.sidebar-cta .btn-primary{background:#fff;color:var(--color-primary);border-color:#fff}
.sidebar-cta .btn-primary:hover{background:rgba(255,255,255,.9)}
.sidebar-widget-title{font-family:var(--font-display);font-size:var(--text-sm);font-weight:800;color:var(--color-text);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.07em}
.related-posts-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}
.related-post-link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);color:var(--color-text);text-decoration:none;font-size:var(--text-sm);line-height:1.4;transition:background var(--transition)}
.related-post-link:hover{background:var(--color-surface-offset);color:var(--color-primary)}
.related-post-link svg{flex-shrink:0;color:var(--color-text-faint)}

/* === PAGE HERO SIMPLE === */
.page-hero-simple{background:linear-gradient(135deg,#0e3d1f,#1b7a3e);padding-block:clamp(var(--space-10),6vw,var(--space-16))}
.page-hero-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:#fff;margin:var(--space-4) 0 var(--space-3)}
.page-hero-desc{color:rgba(255,255,255,.8);font-size:var(--text-base);max-width:56ch;line-height:1.7}
/* === LETTERS ARCHIVE === */
.letters-archive-section{padding-block:clamp(var(--space-10),6vw,var(--space-16))}
.letters-archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:var(--space-6)}
.letter-archive-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-4);transition:box-shadow var(--transition),transform var(--transition)}
.letter-archive-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.letter-archive-preview{width:80px;height:96px;background:var(--color-surface-offset);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);color:var(--color-text-faint);flex-shrink:0}
.letter-archive-num{font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted)}
.letter-archive-info{display:flex;flex-direction:column;gap:var(--space-1);flex:1}
.letter-archive-info strong{font-size:var(--text-base);font-weight:700;color:var(--color-text)}
.letter-archive-info span{font-size:var(--text-xs);color:var(--color-text-faint)}
.letter-archive-info p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;margin-top:var(--space-2)}

/* === FOOTER REKVIZITY === */
.footer-rekvizity{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.1);font-size:var(--text-xs);color:rgba(255,255,255,.45);line-height:1.8}
.footer-rekvizity strong{color:rgba(255,255,255,.65);display:block;margin-bottom:var(--space-2);font-size:var(--text-sm)}

/* === SERVICE PAGE (page-service.php) === */
.service-page-hero{background:linear-gradient(135deg,#0e3d1f,#1b7a3e);padding-block:clamp(var(--space-12),8vw,var(--space-20));position:relative;overflow:hidden}
.service-page-hero-content{position:relative;z-index:1}
.service-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-full);color:#fff;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-4)}
.service-page-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:#fff;line-height:1.15;max-width:20ch;margin-bottom:var(--space-5)}
.service-page-desc{color:rgba(255,255,255,.85);font-size:var(--text-base);max-width:52ch;line-height:1.7;margin-bottom:var(--space-8)}
.service-page-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}
.service-page-body{display:grid;grid-template-columns:1fr 300px;gap:var(--space-12);padding-block:var(--space-12);align-items:start}
@media(max-width:900px){.service-page-body{grid-template-columns:1fr}}
.service-page-content h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;margin:var(--space-8) 0 var(--space-4)}
.service-page-content h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;margin:var(--space-6) 0 var(--space-3)}
.service-page-content p{margin-bottom:var(--space-5);line-height:1.8}
.service-page-content ul{margin:var(--space-4) 0 var(--space-5) var(--space-6)}
.service-page-content li{margin-bottom:var(--space-2);line-height:1.6}
/* Shortcodes */
.sc-price-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-7);margin:var(--space-6) 0;display:flex;align-items:center;gap:var(--space-5)}
.sc-price-box-icon{width:56px;height:56px;background:var(--color-primary-subtle);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}
.sc-price-box-info strong{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--color-primary)}
.sc-price-box-info span{font-size:var(--text-sm);color:var(--color-text-muted)}
.sc-checklist{list-style:none;margin:var(--space-4) 0 var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.sc-checklist li{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-base)}
.sc-checklist li::before{content:"";width:20px;height:20px;background:var(--color-primary);border-radius:var(--radius-full);flex-shrink:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;margin-top:2px}
.sc-steps{counter-reset:sc-step;display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-5) 0}
.sc-step{display:flex;gap:var(--space-4);align-items:flex-start}
.sc-step-num{width:36px;height:36px;background:var(--color-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:var(--text-sm);flex-shrink:0}
.sc-step-body strong{display:block;font-weight:700;margin-bottom:var(--space-1)}
.sc-step-body p{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}
.sc-contact-cta{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border-radius:var(--radius-xl);padding:var(--space-8) var(--space-8);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin:var(--space-8) 0;flex-wrap:wrap}
.sc-contact-cta-text h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:#fff;margin-bottom:var(--space-2)}
.sc-contact-cta-text p{color:rgba(255,255,255,.85);font-size:var(--text-sm);max-width:44ch}
.sc-warn{background:#fff8e1;border-left:4px solid #f59e0b;border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:var(--space-4) var(--space-5);margin:var(--space-5) 0;font-size:var(--text-sm);color:#92400e}
.sc-warn strong{display:block;margin-bottom:var(--space-1)}
.sc-doc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:var(--space-4);margin:var(--space-5) 0}
.sc-doc-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:600}
.sc-doc-item svg{color:var(--color-primary);flex-shrink:0}

/* Sidebar messengers (service page) */
.sidebar-messengers{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.2)}
.sidebar-messengers span{display:block;font-size:var(--text-xs);color:rgba(255,255,255,.7);margin-bottom:var(--space-3)}
.sidebar-msg-links{display:flex;gap:var(--space-2);flex-wrap:wrap}
.sidebar-msg-link{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-decoration:none;transition:opacity var(--transition)}
.sidebar-msg-link:hover{opacity:.85}
.sidebar-msg-wa{background:rgba(37,211,102,.25);color:#fff}
.sidebar-msg-tg{background:rgba(34,158,217,.25);color:#fff}
.sidebar-msg-email{background:rgba(255,255,255,.15);color:#fff}
/* Sidebar mini form */
.sidebar-mini-form .form-input{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);color:#fff}
.sidebar-mini-form .form-input::placeholder{color:rgba(255,255,255,.6)}
.sidebar-mini-form .form-input:focus{background:rgba(255,255,255,.2);border-color:#fff}
.sidebar-mini-form .btn-primary{background:#fff;color:var(--color-primary);border-color:#fff}
.sidebar-mini-form .btn-primary:hover{background:rgba(255,255,255,.9)}

/* Fix 6: Service page sidebar — no sticky, no overflow */
.service-page .post-sidebar{position:static !important;max-height:none !important}
.service-page .sidebar-widget.sidebar-cta{overflow:visible}

@media(max-width:900px){.single-post .post-sidebar{order:-1}}

/* === COOKIE NOTICE === */
.cookie-notice{position:fixed;bottom:0;left:0;right:0;z-index:9000;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 24px rgba(0,0,0,.1);padding:var(--space-4) var(--space-6);transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1)}
.cookie-notice.cookie-visible{transform:translateY(0)}
.cookie-notice{display:block}
.cookie-notice-inner{max-width:var(--content-wide);margin-inline:auto;display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}
.cookie-notice-text{display:flex;align-items:flex-start;gap:var(--space-3);flex:1;min-width:240px}
.cookie-notice-text svg{flex-shrink:0;color:var(--color-primary);margin-top:2px}
.cookie-notice-text p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;margin:0;max-width:none}
.cookie-notice-text a{color:var(--color-primary);font-weight:600}
.cookie-notice-actions{display:flex;gap:var(--space-3);align-items:center;flex-shrink:0}
@media(max-width:600px){
  .cookie-notice-inner{flex-direction:column;gap:var(--space-4)}
  .cookie-notice-actions{width:100%}
  .cookie-notice-actions .btn{flex:1;text-align:center;justify-content:center}
}

/* Fix 2: sidebar PD notice on dark bg */
.sidebar-pd-notice{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3);background:rgba(255,255,255,.08);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4)}
.sidebar-pd-notice svg{flex-shrink:0;color:rgba(255,255,255,.6);margin-top:2px}
.sidebar-pd-notice p{font-size:11px;color:rgba(255,255,255,.65);line-height:1.5;margin:0;max-width:none}
.sidebar-form-consent .consent-label{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;margin-bottom:var(--space-4)}
.sidebar-form-consent .consent-checkbox{position:absolute;opacity:0;width:0;height:0}
.sidebar-form-consent .consent-custom{width:18px;height:18px;border:2px solid rgba(255,255,255,.5);border-radius:4px;flex-shrink:0;margin-top:1px;background:rgba(255,255,255,.1);position:relative;transition:all .15s}
.sidebar-form-consent .consent-checkbox:checked + .consent-custom{background:var(--color-primary);border-color:var(--color-primary)}
.sidebar-form-consent .consent-checkbox:checked + .consent-custom::after{content:"";position:absolute;left:3px;top:0px;width:8px;height:11px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}
.sidebar-form-consent .consent-text{font-size:var(--text-xs);color:rgba(255,255,255,.75);line-height:1.5}
.sidebar-form-consent .consent-text a{color:rgba(255,255,255,.9)}

/* === 404 PAGE === */
.page-404-main{min-height:70vh;display:flex;align-items:center;padding-block:clamp(var(--space-12),8vw,var(--space-20))}
.page-404-container{width:100%}
.page-404-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}
@media(max-width:768px){.page-404-inner{grid-template-columns:1fr;text-align:center}}
.page-404-art{position:relative;display:flex;align-items:center;justify-content:center}
.page-404-svg{width:100%;max-width:320px;opacity:.6}
.page-404-number{position:absolute;font-family:var(--font-display);font-size:clamp(5rem,12vw,9rem);font-weight:900;color:var(--color-primary);opacity:.15;letter-spacing:-.04em;line-height:1;pointer-events:none;user-select:none}
.page-404-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--color-text);margin-bottom:var(--space-4);line-height:1.2}
.page-404-desc{font-size:var(--text-base);color:var(--color-text-muted);max-width:48ch;margin-bottom:var(--space-8);line-height:1.7}
@media(max-width:768px){.page-404-desc{margin-inline:auto}}
.page-404-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-8)}
@media(max-width:768px){.page-404-actions{justify-content:center}}
.page-404-popular{}
.page-404-popular-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.06em}
.page-404-links{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}
@media(max-width:768px){.page-404-links{justify-content:center}}
.page-404-links a{font-size:var(--text-sm);color:var(--color-primary);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.page-404-links a:hover{color:var(--color-primary-hover)}

/* Modal fix: gratitude section must not clip */
.gratitude-section{overflow:visible !important}
.gratitude-carousel-wrap{overflow:visible !important}
@media(max-width:640px){
  .gratitude-grid{overflow-x:auto !important}
}

/* Cookie notice — class-based visibility */
#cookie-notice:not(.cookie-visible){pointer-events:none}

/* FIX 4: Gratitude archive cards — better padding and layout */
.letters-archive-section{padding-block:clamp(var(--space-10),6vw,var(--space-16))}
.letters-archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:var(--space-6)}
.letter-archive-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);transition:box-shadow var(--transition-interactive),border-color var(--transition-interactive)}
.letter-archive-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-highlight)}
.letter-archive-preview{width:64px;height:64px;background:var(--color-primary-highlight,#cedcd8);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary);position:relative}
.letter-archive-num{position:absolute;bottom:-6px;right:-6px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--radius-full);line-height:1.4}
.letter-archive-info{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}
.letter-archive-info strong{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text);display:block;padding-top:var(--space-1)}
.letter-archive-info span{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}
.letter-archive-info p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;margin-top:var(--space-1)}
.letter-archive-card .btn{align-self:flex-start;margin-top:auto}

/* === LETTER MODAL — class/aria based (v0.7) === */
.letter-modal{
  position:fixed;inset:0;z-index:8000;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}
.letter-modal[aria-hidden="false"]{
  opacity:1;pointer-events:auto;
}
.letter-modal-backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.55);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
}
.letter-modal-box{
  position:relative;z-index:1;
  background:var(--color-surface);
  border-radius:var(--radius-xl);
  padding:var(--space-6);
  width:min(640px,90vw);
  max-height:85vh;
  overflow-y:auto;
  box-shadow:var(--shadow-lg);
  transform:translateY(16px);
  transition:transform .25s ease;
}
.letter-modal[aria-hidden="false"] .letter-modal-box{
  transform:translateY(0);
}
.letter-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}
.letter-modal-company{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text)}
.letter-modal-close{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);flex-shrink:0}
.letter-modal-close:hover{background:var(--color-surface-offset);color:var(--color-text)}
.letter-modal-body img{width:100%;border-radius:var(--radius-lg)}
.letter-scan-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-10);text-align:center;color:var(--color-text-muted)}
.letter-scan-placeholder p{font-size:var(--text-base);margin:0}
.letter-scan-placeholder small{font-size:var(--text-xs);color:var(--color-text-faint)}
.letter-scan-placeholder code{background:var(--color-surface-offset);padding:2px 6px;border-radius:4px;font-size:11px}

/* Modal aria-hidden based visibility */
.letter-modal[aria-hidden="true"]{opacity:0 !important;pointer-events:none !important}
.letter-modal[aria-hidden="false"]{opacity:1 !important;pointer-events:auto !important}

/* === SCROLL TO TOP v0.9 (floating) === */
.scroll-top-btn{
  position:fixed;
  bottom:var(--space-6);
  right:var(--space-6);
  z-index:6000;
  width:44px;height:44px;
  background:var(--color-primary);
  color:#fff;
  border-radius:var(--radius-full);
  display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-md);
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, background .15s ease;
  cursor:pointer;
  border:none;
}
.scroll-top-btn.scroll-top-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.scroll-top-btn:hover{background:var(--color-primary-hover)}
.scroll-top-btn:active{background:var(--color-primary-active)}
@media(max-width:600px){
  .scroll-top-btn{bottom:var(--space-4);right:var(--space-4);width:40px;height:40px}
}

/* Modal footer — buttons side by side, no overlap */

.letter-modal-footer .btn{flex-shrink:0}



/* === Modal footer v1.0 === */
.letter-modal-footer{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:var(--space-3);
  margin-top:var(--space-5);
  padding-top:var(--space-4);
  border-top:1px solid var(--color-border);
}
.letter-modal-footer .btn{
  min-width:100px;
  flex-shrink:0;
  white-space:nowrap;
}
@media(max-width:480px){
  .letter-modal-footer{flex-direction:column-reverse;align-items:stretch}
  .letter-modal-footer .btn{text-align:center;min-width:0;width:100%}
}

/* === Process steps — no double scroll v1.0 === */
@media(max-width:900px){
  .process-steps{
    flex-direction:column;
    gap:var(--space-4);
    overflow-x:visible !important;
    padding-bottom:0;
  }
  .process-steps .process-step{
    min-width:0;
    width:100%;
    flex:none;
  }
  .process-steps .process-arrow{
    transform:rotate(90deg);
    align-self:center;
    flex-shrink:0;
  }
}
@media(min-width:901px){
  .process-steps{
    overflow-x:visible;
    flex-wrap:nowrap;
  }
  .process-steps .process-step{
    min-width:0;
    flex:1;
  }
}

/* hero card 4 and 5 */
.hero-card-4,.hero-card-5{animation-delay:.6s}

/* === Content links — service cards, pages v1.0_fix === */
.service-list a,
.entry-content a,
.page-content a,
.service-card-inner a:not(.service-cta):not(.btn) {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color var(--transition-interactive), text-decoration-color var(--transition-interactive);
}
.service-list a:hover,
.entry-content a:hover,
.page-content a:hover,
.service-card-inner a:not(.service-cta):not(.btn):hover {
  color: var(--color-primary-hover);
  text-decoration-color: var(--color-primary-hover);
}
/* Featured card (green bg) — white underlined links */
.service-card-featured .service-list a {
  color: rgba(255,255,255,.9);
  text-decoration-color: rgba(255,255,255,.5);
}
.service-card-featured .service-list a:hover {
  color: #fff;
  text-decoration-color: #fff;
}

/* Gratitude note — centered */
.gratitude-note{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}
.gratitude-note a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.gratitude-note a:hover{color:var(--color-primary-hover)}

/* === Performance: layout containment v1.0_fix === */
.services-section,
.gratitude-section,
.process-section,
.why-us-section,
.stats-section,
.faq-section {
  contain: layout style;
}
/* Avoid will-change on non-animated elements */
.hero-card { will-change: opacity, transform; }
.scroll-top-btn { will-change: opacity, transform; }

/* === Content & service links v1.0.1 === */

/* Default service-list links (non-featured cards) */
.service-list a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  transition: color var(--transition-interactive);
}
.service-list a:hover {
  color: var(--color-primary-hover);
}

/* Featured card has GREEN background — links must be WHITE */
.service-card-featured .service-list a,
.service-card-featured .service-list a:visited {
  color: #fff !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(255,255,255,0.6) !important;
  text-underline-offset: 3px;
}
.service-card-featured .service-list a:hover {
  color: #fff !important;
  text-decoration-color: #fff !important;
}

/* Articles, pages, single posts — beautiful links */
.entry-content a,
.entry-content a:visited,
.page-content a,
.page-content a:visited,
.post-content a,
.post-content a:visited,
article .the-content a,
.wp-content a,
.single-content a,
.page-body a:not(.btn):not([class*="wp-block"]) {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in oklch, var(--color-primary) 50%, transparent);
  transition: color var(--transition-interactive), text-decoration-color var(--transition-interactive);
}
.entry-content a:hover,
.page-content a:hover,
.post-content a:hover,
article .the-content a:hover,
.single-content a:hover,
.page-body a:not(.btn):not([class*="wp-block"]):hover {
  color: var(--color-primary-hover);
  text-decoration-color: var(--color-primary-hover);
}

/* WordPress default content output class */
.entry-content a,
.wp-block-post-content a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* === БЛОКИ ВНИМАНИЯ v1.0.1 === */
.remark-block {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-lg);
  margin-block: var(--space-5);
  font-size: var(--text-base);
  line-height: 1.6;
}
.remark-icon {
  flex-shrink: 0;
  margin-top: 2px;
  display: flex;
  align-items: flex-start;
}
.remark-content {
  flex: 1;
  min-width: 0;
}
.remark-title {
  display: block;
  font-weight: 700;
  margin-bottom: var(--space-1);
}
.remark-info {
  background: color-mix(in oklch, var(--color-blue) 10%, var(--color-surface));
  border-left: 4px solid var(--color-blue);
  color: var(--color-text);
}
.remark-info .remark-icon { color: var(--color-blue); }

.remark-warning {
  background: color-mix(in oklch, var(--color-gold) 12%, var(--color-surface));
  border-left: 4px solid var(--color-gold);
  color: var(--color-text);
}
.remark-warning .remark-icon { color: var(--color-gold); }

.remark-success {
  background: color-mix(in oklch, var(--color-success) 10%, var(--color-surface));
  border-left: 4px solid var(--color-success);
  color: var(--color-text);
}
.remark-success .remark-icon { color: var(--color-success); }

.remark-danger {
  background: color-mix(in oklch, var(--color-error) 10%, var(--color-surface));
  border-left: 4px solid var(--color-error);
  color: var(--color-text);
}
.remark-danger .remark-icon { color: var(--color-error); }

.remark-note {
  background: var(--color-surface-offset);
  border-left: 4px solid var(--color-primary);
  color: var(--color-text);
}
.remark-note .remark-icon { color: var(--color-primary); }

/* === Remark blocks — text selection v1.0.3 === */
.remark-info ::selection       { background: color-mix(in oklch, var(--color-blue) 35%, transparent); color: var(--color-text); }
.remark-warning ::selection    { background: color-mix(in oklch, var(--color-gold) 40%, transparent); color: var(--color-text); }
.remark-success ::selection    { background: color-mix(in oklch, var(--color-success) 35%, transparent); color: var(--color-text); }
.remark-danger ::selection     { background: color-mix(in oklch, var(--color-error) 30%, transparent); color: var(--color-text); }
.remark-note ::selection       { background: color-mix(in oklch, var(--color-primary) 25%, transparent); color: var(--color-text); }
