/* ============================================================
   KOSTENKO GROUP — site styles
   Self-hosted Inter (subsetted woff2) + brand system.
   ============================================================ */

/* --- Inter, weight 400 --- */
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-cyrillic-ext.woff2") format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range:U+1F00-1FFF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-greek.woff2") format('woff2');
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-vietnamese.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:400; font-display:swap;
  src:url("/assets/fonts/inter-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* --- Inter, weight 500 --- */
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-cyrillic-ext.woff2") format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-cyrillic.woff2") format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-greek-ext.woff2") format('woff2');
  unicode-range:U+1F00-1FFF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-greek.woff2") format('woff2');
  unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-vietnamese.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:500; font-display:swap;
  src:url("/assets/fonts/inter-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* --- base --- */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { margin:0; background:#F4EFE6; color:#2A2520; font-family:'Inter',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:hidden; max-width:100%; }
::selection { background:#7C3A33; color:#F4EFE6; }
a { color:inherit; text-decoration:none; }

/* --- hover (replaces the design export's style-hover attributes) --- */
.nav-link { transition:color 0.18s; }
.nav-link:hover { color:#2A2520; }
.foot-link { transition:color 0.18s; }
.foot-link:hover { color:#2A2520; }
.mail-link { transition:border-color 0.18s; }
.mail-link:hover { border-color:#7C3A33; }
.proj-link { transition:border-color 0.18s, color 0.18s; }
.proj-link:hover { border-color:#7C3A33; color:#2A2520; }

/* --- legal / long-form pages --- */
.legal-body { max-width:760px; }
.legal-body h3 { margin:36px 0 12px; font-size:13px; font-weight:500; letter-spacing:0.08em;
  text-transform:uppercase; color:#7C3A33; }
.legal-body h3:first-child { margin-top:0; }
.legal-body p { margin:0 0 18px; font-size:17px; line-height:1.66; color:#2A2520; }
.legal-body ul { margin:0 0 18px; padding-left:20px; }
.legal-body li { font-size:17px; line-height:1.66; color:#2A2520; margin-bottom:10px; }
.legal-body a { border-bottom:1px solid rgba(155,146,134,0.5); }
.legal-body a:hover { border-color:#7C3A33; }
.legal-note { font-size:14px; line-height:1.6; color:#9B9286; font-style:italic; }

/* --- projects list --- */
.proj-row { display:grid; grid-template-columns:1fr 150px; gap:40px; padding:30px 0;
  border-bottom:1px solid rgba(155,146,134,0.38); align-items:start; }
.proj-name { font-size:19px; font-weight:500; color:#2A2520; margin:0 0 8px; }
.proj-oneliner { font-size:17px; line-height:1.6; color:#6B6258; margin:0; max-width:60ch; }
.proj-status { font-size:13px; font-weight:500; letter-spacing:0.06em; color:#7C3A33;
  text-transform:uppercase; text-align:right; }

/* --- cookie banner --- */
#cookie-banner { position:fixed; left:0; right:0; bottom:0; z-index:60;
  background:rgba(231,220,203,0.97); border-top:1px solid rgba(155,146,134,0.55);
  backdrop-filter:saturate(140%) blur(8px); -webkit-backdrop-filter:saturate(140%) blur(8px); }
#cookie-banner .cb-inner { max-width:1180px; margin:0 auto; padding:16px 40px;
  display:flex; align-items:center; gap:18px 24px; flex-wrap:wrap; justify-content:space-between; }
#cookie-banner p { margin:0; font-size:13.5px; line-height:1.6; color:#6B6258; max-width:80ch; }
#cookie-banner a { color:#7C3A33; border-bottom:1px solid rgba(124,58,51,0.4); }
#cookie-banner button { font-family:inherit; font-size:13px; font-weight:500; letter-spacing:0.02em;
  color:#F4EFE6; background:#7C3A33; border:none; padding:9px 20px; cursor:pointer; transition:opacity 0.18s; }
#cookie-banner button:hover { opacity:0.88; }

/* --- responsive --- */
@media (max-width:768px) {
  [data-nav] { position:static !important; height:auto !important; }
  [data-navinner] { height:auto !important; flex-wrap:wrap !important; padding:13px 22px !important; gap:11px 18px !important; }
  [data-navlinks] { width:100% !important; flex-wrap:wrap !important; gap:10px 18px !important; }
  [data-body] { padding-top:0 !important; }
  [data-hero] { padding:64px 22px 56px !important; }
  [data-eyebrow] { margin-bottom:26px !important; }
  [data-h1] { font-size:27px !important; line-height:1.28 !important; max-width:none !important; }
  [data-2col] { grid-template-columns:1fr !important; gap:26px !important; padding:60px 22px !important; }
  [data-2col] > * { min-width:0 !important; }
  [data-row] { grid-template-columns:1fr !important; gap:5px !important; }
  [data-lead] { grid-template-columns:1fr !important; gap:32px !important; }
  [data-lead] > * { min-width:0 !important; }
  [data-lead] figure { max-width:360px !important; }
  [data-mail] { font-size:22px !important; }
  [data-foot] { padding:48px 22px 44px !important; }
  .proj-row { grid-template-columns:1fr !important; gap:10px !important; }
  .proj-status { text-align:left !important; }
  #cookie-banner .cb-inner { padding:14px 22px !important; }
}
