/* Israelyan Atelier — shared 2026 design/CRO layer */
:root {
  --font-serif: "Cormorant Garamond", "Noto Serif Georgian", Georgia, serif;
  --font-sans: "Montserrat", "Noto Sans Georgian", system-ui, -apple-system, "Segoe UI", sans-serif;
  --space-1: clamp(.5rem, .4rem + .3vw, .75rem);
  --space-2: clamp(.9rem, .7rem + .5vw, 1.25rem);
  --space-3: clamp(1.4rem, 1rem + 1vw, 2rem);
  --space-4: clamp(2.2rem, 1.5rem + 2vw, 3.75rem);
  --space-5: clamp(3.5rem, 2.5rem + 4vw, 7rem);
  --focus-ring: 0 0 0 3px rgba(231, 197, 109, .32);
}

html { scroll-behavior: smooth; }
body { font-family: var(--font-sans); text-rendering: optimizeLegibility; }
h1, h2, h3, .hero-wordmark, .logo { font-family: var(--font-serif); }
section[id] { scroll-margin-top: calc(var(--header-height, 82px) + 22px); }

a, button, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--accent-gold-light, #e7c56d);
  outline-offset: 3px;
  box-shadow: var(--focus-ring);
}

.hero-frame { margin: clamp(8px, 1.5vw, 22px); }
.hero { min-height: min(760px, 86vh); padding-block: var(--space-4); }
.hero-text-block { max-width: 650px; }
.hero-wordmark { font-size: clamp(1rem, 1.4vw, 1.15rem); letter-spacing: .22em; opacity: .82; margin-bottom: var(--space-2); }
.hero-title {
  font-size: clamp(2.65rem, 5.6vw, 5.6rem);
  line-height: .96;
  letter-spacing: -.025em;
  color: var(--text-primary);
  margin-bottom: var(--space-3);
  max-width: 13ch;
}
.hero-description { font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.75; max-width: 56ch; margin-bottom: var(--space-3); }
.hero-actions.single { gap: 12px; margin-bottom: var(--space-2); }
.btn-phone-circle { display: none !important; }
.btn-hero-contact { min-height: 54px; padding-inline: clamp(1.35rem, 3vw, 2.4rem); }
.hero-secondary-link { margin: 0 0 var(--space-3); }
.hero-secondary-link > span { display: none; }
.hero-secondary-link a { color: var(--text-primary); font-weight: 600; }
.hero-microtext { border-top: 1px solid var(--border-color); padding-top: var(--space-2); }
.hero-microtext > span:nth-child(even) { opacity: .35; }

main > section { padding-block: var(--space-5); }
section h2 { font-size: clamp(2.15rem, 4.6vw, 4rem); line-height: 1; letter-spacing: -.02em; }
.section-subtitle { max-width: 62ch; margin-inline: auto; line-height: 1.7; }

/* Refined single-weight line icon treatment */
.problem-icon, .category-title > i, .trust-icon, .process-icon {
  background: transparent !important;
  border: 1px solid rgba(231, 197, 109, .5) !important;
  color: var(--accent-gold-light) !important;
  box-shadow: none !important;
}
.problem-icon i, .category-title > i, .trust-icon i, .process-icon i { font-size: 1.15rem !important; }

/* Services: real project imagery, not icon placeholders */
.services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
.service-card { border-radius: 4px; min-height: 100%; transform: translateZ(0); }
.service-card:hover { transform: translateY(-6px); box-shadow: 0 22px 55px rgba(0,0,0,.28); }
.service-media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: #081d17; border-bottom: 1px solid var(--border-color); }
.service-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.service-card:hover .service-media img { transform: scale(1.035); }
.service-media::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(4,20,15,.58)); pointer-events:none; }
.service-img-placeholder { display: none !important; }
.service-body { padding: clamp(20px, 2.5vw, 30px); }
.service-title { font-size: clamp(1.55rem, 2vw, 2rem); line-height: 1.05; }
.service-body > p { line-height: 1.7; }
.service-price { border-top: 1px solid var(--border-color); }
.service-body .btn { align-self: flex-start; }

/* Portfolio cases and filters */
.portfolio-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin: var(--space-3) 0; }
.portfolio-filter { appearance:none; border:1px solid var(--border-color); color:var(--text-secondary); background:transparent; border-radius:999px; padding:10px 18px; font:600 .86rem var(--font-sans); cursor:pointer; transition:.25s ease; }
.portfolio-filter:is(:hover,.is-active) { color:var(--bg-primary); background:var(--accent-gold); border-color:var(--accent-gold); }
.portfolio-grid { gap: clamp(18px,2vw,28px); }
.portfolio-item { aspect-ratio:auto; border-radius:4px; background:var(--bg-card); cursor:zoom-in; transition:opacity .25s, transform .25s; }
.portfolio-item[hidden] { display:none; }
.portfolio-item > img { width:100%; height:100%; aspect-ratio: 4 / 3; object-fit:contain !important; background:var(--bg-secondary); display:block; }
.portfolio-overlay { position:static; opacity:1; align-items:flex-start; text-align:left; background:transparent; padding:20px; min-height:124px; }
.portfolio-overlay h3 { font-size:1.35rem; margin:0 0 8px; }
.portfolio-overlay p { color:var(--text-secondary); margin:0; }
.case-meta { display:block; color:var(--accent-gold-light); margin-top:7px; font-size:.82rem; letter-spacing:.02em; }
.portfolio-item:hover { transform:translateY(-5px); border-color:var(--accent-gold); }
.portfolio-item:hover .portfolio-overlay { opacity:1; }

.case-lightbox { position:fixed; inset:0; z-index:4000; display:grid; place-items:center; padding:clamp(12px,3vw,42px); background:rgba(3,14,11,.94); backdrop-filter:blur(12px); }
.case-lightbox[hidden] { display:none; }
.case-dialog { width:min(1100px,100%); max-height:94vh; overflow:auto; background:#08271f; border:1px solid var(--border-color); box-shadow:0 28px 90px rgba(0,0,0,.6); }
.case-close { position:fixed; top:18px; right:22px; width:44px; height:44px; border-radius:50%; border:1px solid var(--border-color); color:white; background:#08271f; font-size:1.6rem; cursor:pointer; z-index:1; }
.compare { --split:50%; position:relative; aspect-ratio:16/9; overflow:hidden; touch-action:none; background:#061711; }
.compare-layer { position:absolute; inset:0; background-repeat:no-repeat; background-size:contain; background-position:center; }
.compare-after { background-position:center center; }
.compare-before { background-position:center center; clip-path:inset(0 calc(100% - var(--split)) 0 0); }
.compare-handle { position:absolute; left:var(--split); top:0; bottom:0; width:2px; background:white; transform:translateX(-1px); pointer-events:none; box-shadow:0 0 0 1px rgba(0,0,0,.18); }
.compare-handle::after { content:"↔"; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:46px; height:46px; border-radius:50%; color:#08271f; background:var(--accent-gold-light); font:700 1.05rem var(--font-sans); }
.compare-range { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; }
.compare-label { position:absolute; top:18px; padding:8px 12px; background:rgba(4,20,15,.78); color:white; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }
.compare-label.before { left:18px; }.compare-label.after { right:18px; }
.case-copy { padding:clamp(22px,4vw,40px); }
.case-copy h3 { font-size:clamp(1.8rem,3vw,2.7rem); margin:0 0 8px; }

/* Conversion bridge and review layout */
.micro-cta { margin:0; padding:clamp(28px,4vw,48px) 0; border-block:1px solid var(--border-color); background:linear-gradient(90deg,transparent,rgba(201,168,76,.07),transparent); }
.micro-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.micro-cta h3 { margin:0; font-size:clamp(1.65rem,3vw,2.5rem); }
.micro-cta p { margin:.35rem 0 0; color:var(--text-secondary); }
.testimonials-section .container { max-width:860px; }
.review-form { margin-inline:auto; }
.form-control { min-height:50px; border-radius:4px; }
.form-control:focus { border-color:var(--accent-gold-light); box-shadow:var(--focus-ring); outline:none; }
.form-control[aria-invalid="true"] { border-color:#ef9b8d; }
.field-error { display:block; color:#ffb5a8; font-size:.82rem; margin-top:6px; }

/* Brand messengers stay recognizable without breaking the palette */
.whatsapp-btn, .telegram-btn, [href*="wa.me"].floating-btn, [href*="t.me"].floating-btn { background:#123d31 !important; color:#f5e7bd !important; border:1px solid var(--accent-gold) !important; }
.whatsapp-btn:hover, .telegram-btn:hover, [href*="wa.me"].floating-btn:hover, [href*="t.me"].floating-btn:hover { background:var(--accent-gold) !important; color:#08271f !important; }

.reveal { transition:opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}*{animation-duration:.01ms!important;animation-iteration-count:1!important} }

@media (max-width: 980px) {
  .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portfolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-title { max-width:none; }
}
@media (max-width: 680px) {
  .hero { min-height:auto; }
  .hero-image-block { order:0 !important; }
  .hero-title { font-size:clamp(2.35rem,12vw,3.65rem); }
  .hero-actions.single .btn-hero-contact { width:100%; text-align:center; }
  .hero-microtext { display:grid; gap:8px; }
  .hero-microtext > span:nth-child(even) { display:none; }
  .services-grid,.portfolio-grid { grid-template-columns:1fr; }
  .category-title { font-size:1.45rem; }
  .micro-cta__inner { align-items:flex-start; flex-direction:column; }
  .micro-cta .btn { width:100%; text-align:center; }
  .compare { aspect-ratio:4/3; }
}
