  :root{
    --bg:#f4f0e5;
    --surface:#ffffff;
    --surface-2:#eae1c9;
    --ink:#18140f;
    --ink-muted:#615a49;
    --accent:#a15c0c;
    --line:#ddd0ac;
    --line-strong:#c7b587;

    /* fixed "steel" chrome — deliberately theme-independent for photo/plate sections */
    --chrome-bg:#0c0a07;
    --chrome-surface:#151109;
    --chrome-surface-2:#1c160d;
    --chrome-ink:#f3ecdc;
    --chrome-muted:#a99c81;
    --chrome-accent:#ffb648;
    --chrome-line:#33291a;

    /* fixed "blueprint" palette for the technical diagrams */
    --blue-bg:#0c1f36;
    --blue-line:#5f89ad;
    --blue-ink:#eaf3fb;
    --blue-accent:#ffb648;

    --font-display:"Unbounded","Arial Black",sans-serif;
    --font-body:"IBM Plex Sans","Segoe UI",sans-serif;
    --font-mono:"IBM Plex Mono","Courier New",monospace;
    --maxw:1220px;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#100d09;
      --surface:#17130d;
      --surface-2:#201a11;
      --ink:#f1ebdc;
      --ink-muted:#a89c83;
      --accent:#ffb648;
      --line:#332a1a;
      --line-strong:#493c24;
    }
  }
  :root[data-theme="dark"]{
    --bg:#100d09;
    --surface:#17130d;
    --surface-2:#201a11;
    --ink:#f1ebdc;
    --ink-muted:#a89c83;
    --accent:#ffb648;
    --line:#332a1a;
    --line-strong:#493c24;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--font-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;}
  img{max-width:100%; display:block;}
  a{color:inherit;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding-inline:clamp(18px,4.5vw,44px);}
  h1,h2,h3{font-family:var(--font-display); font-weight:800; text-wrap:balance; margin:0;}
  .num{font-family:var(--font-mono); font-variant-numeric:tabular-nums;}
  .eyebrow{font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:600;}
  .kicker{display:flex; align-items:center; gap:12px;}
  .kicker .line{height:1px; flex:none; width:40px; background:var(--accent);}
  .kicker .eyebrow{color:var(--accent);}

  .btn{display:inline-flex; align-items:center; gap:0.55em; font-family:var(--font-body); font-weight:600; font-size:1rem; padding:0.95em 1.6em; border-radius:2px; text-decoration:none; border:1.5px solid transparent; cursor:pointer; transition:transform .15s ease, filter .15s ease, background .15s ease, border-color .15s ease;}
  .btn:hover{transform:translateY(-2px);}
  .btn-solid{background:var(--chrome-accent); color:#1a1002; font-weight:700;}
  .btn-solid:hover{filter:brightness(1.08);}
  .btn-outline{background:rgba(243,236,220,0.06); color:var(--chrome-ink); border-color:rgba(243,236,220,0.4); backdrop-filter:blur(6px);}
  .btn-outline:hover{border-color:var(--chrome-accent); color:var(--chrome-accent);}
  .btn-ink{background:var(--accent); color:var(--surface); font-weight:700;}
  .btn-ink:hover{filter:brightness(1.08);}
  .btn-line{background:transparent; color:var(--ink); border-color:var(--line-strong);}
  .btn-line:hover{border-color:var(--accent); color:var(--accent);}

  /* topbar — fixed dark chrome regardless of theme */
  .topbar{position:sticky; top:0; z-index:40; background:rgba(12,10,7,0.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--chrome-line); color:var(--chrome-ink);}
  .topbar .wrap{display:flex; align-items:center; justify-content:space-between; padding-block:13px; gap:16px; flex-wrap:wrap;}
  .brand{display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:700; font-size:0.95rem; letter-spacing:0.01em;}
  .brand small{display:block; font-family:var(--font-mono); font-weight:500; font-size:0.6rem; letter-spacing:0.1em; color:var(--chrome-muted); text-transform:uppercase; margin-top:2px;}
  .topbar-right{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
  .topbar-phone{font-family:var(--font-mono); font-weight:600; font-size:0.92rem; text-decoration:none;}
  .topbar-phone:hover{color:var(--chrome-accent);}
  .topbar .btn{padding:0.6em 1.15em; font-size:0.86rem;}

  /* hero */
  .hero{position:relative; min-height:clamp(580px,86vh,780px); display:flex; align-items:flex-end; color:var(--chrome-ink); background:var(--chrome-bg); overflow:hidden;}
  .hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.8) contrast(1.08) brightness(.68); transform:scale(1.05); animation:kenburns 14s ease-out forwards;}
  @keyframes kenburns{from{transform:scale(1.08);} to{transform:scale(1);}}
  .hero::before{content:""; position:absolute; inset:0; background:
    linear-gradient(180deg, rgba(9,7,5,0.12) 0%, rgba(9,7,5,0.5) 58%, rgba(9,7,5,0.94) 100%),
    linear-gradient(100deg, rgba(9,7,5,0.65) 0%, rgba(9,7,5,0.1) 46%);}
  .hero-content{position:relative; width:100%; padding-block:clamp(120px,20vw,200px) clamp(40px,6vw,64px);}
  .hero-inner{display:grid; grid-template-columns:1.3fr 0.8fr; gap:clamp(24px,5vw,60px); align-items:end;}
  @media (max-width:900px){ .hero-inner{grid-template-columns:1fr;} }
  h1.hero-title{font-size:clamp(2.5rem,6vw,4.4rem); line-height:0.98; text-transform:uppercase; margin-top:16px;}
  h1.hero-title em{font-style:normal; color:var(--chrome-accent);}
  .hero-sub{margin-top:18px; max-width:44ch; font-size:1.12rem; color:rgba(243,236,220,0.82);}
  .hero-actions{display:flex; gap:12px; margin-top:30px; flex-wrap:wrap;}
  .price-chip{background:rgba(9,7,5,0.55); border:1px solid rgba(255,182,72,0.4); border-radius:3px; padding:18px 22px; backdrop-filter:blur(8px);}
  .price-chip .lbl{font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--chrome-muted);}
  .price-chip .amt{font-family:var(--font-display); font-weight:800; font-size:clamp(1.8rem,3.4vw,2.5rem); color:var(--chrome-accent); margin-top:4px; line-height:1;}
  .price-chip .amt small{font-family:var(--font-body); font-weight:500; font-size:0.9rem; color:rgba(243,236,220,0.7);}
  .price-chip .note{font-family:var(--font-mono); font-size:0.72rem; color:var(--chrome-muted); margin-top:8px;}

  /* plate strip — fixed chrome */
  .plate-strip{background:var(--chrome-surface); border-bottom:1px solid var(--chrome-line); color:var(--chrome-ink);}
  .plate-strip .wrap{display:grid; grid-template-columns:repeat(4,1fr);}
  .plate-cell{padding:20px clamp(14px,2.4vw,26px); border-right:1px solid var(--chrome-line);}
  .plate-cell:last-child{border-right:none;}
  @media (max-width:760px){ .plate-strip .wrap{grid-template-columns:repeat(2,1fr);} .plate-cell{border-bottom:1px solid var(--chrome-line);} .plate-cell:nth-child(2n){border-right:none;} }
  .plate-cell .lbl{font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--chrome-muted);}
  .plate-cell .val{font-family:var(--font-mono); font-size:1.4rem; font-weight:600; margin-top:5px; color:var(--chrome-ink);}
  .plate-cell .val.hl{color:var(--chrome-accent);}
  .plate-cell .val small{font-size:0.85rem; color:var(--chrome-muted); font-weight:400;}

  section{padding-block:clamp(56px,9vw,104px);}
  .section-head{max-width:64ch; margin-bottom:clamp(30px,4.5vw,48px);}
  .section-head h2{font-size:clamp(2rem,3.8vw,2.8rem); text-transform:uppercase; margin-top:10px; line-height:1.04;}
  .section-head p{color:var(--ink-muted); font-size:1.06rem; margin-top:14px; max-width:58ch;}

  /* overview */
  .overview-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(28px,5vw,68px); align-items:start;}
  @media (max-width:860px){ .overview-grid{grid-template-columns:1fr;} }
  .overview-lede{font-family:var(--font-display); font-weight:500; font-size:clamp(1.3rem,2.2vw,1.6rem); line-height:1.32; text-wrap:balance;}
  .overview-body{margin-top:22px; font-size:1.05rem; color:var(--ink-muted);}
  .overview-body p + p{margin-top:1em;}
  .fact-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; border-top:1px solid var(--line);}
  .fact-list li{display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--line); font-size:0.98rem;}
  .fact-list li span:first-child{color:var(--ink-muted);}
  .fact-list li span:last-child{font-family:var(--font-mono); font-weight:600; text-align:right;}
  .fact-list li.price span:last-child{color:var(--accent); font-size:1.1rem;}

  /* photo band */
  .band{position:relative; min-height:clamp(280px,46vh,460px); display:flex; align-items:center; background:var(--chrome-bg); overflow:hidden;}
  .band img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.05) brightness(.6);}
  .band::before{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(9,7,5,0.82) 0%, rgba(9,7,5,0.2) 55%, rgba(9,7,5,0.5) 100%);}
  .band-content{position:relative; color:var(--chrome-ink); max-width:56ch;}
  .band-content .eyebrow{color:var(--chrome-accent);}
  .band-content h3{font-size:clamp(1.5rem,3.2vw,2.3rem); text-transform:uppercase; margin-top:10px; line-height:1.08;}
  .band-content p{color:rgba(243,236,220,0.78); margin-top:12px; font-size:1rem; max-width:48ch;}

  /* specs — chrome plate */
  .specs{background:var(--chrome-surface-2); color:var(--chrome-ink);}
  .specs .section-head p{color:var(--chrome-muted);}
  .spec-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--chrome-line); border:1px solid var(--chrome-line);}
  @media (max-width:860px){ .spec-grid{grid-template-columns:repeat(2,1fr);} }
  .spec-cell{background:var(--chrome-surface); padding:24px 22px; min-height:132px; display:flex; flex-direction:column; justify-content:space-between;}
  .spec-cell .tag{font-family:var(--font-mono); font-size:0.66rem; color:var(--chrome-accent); letter-spacing:0.08em;}
  .spec-cell .name{font-size:0.98rem; color:var(--chrome-muted); margin-top:6px;}
  .spec-cell .value{font-family:var(--font-mono); font-size:1.35rem; font-weight:600; margin-top:16px; color:var(--chrome-ink);}

  /* layout */
  .levels-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,56px); align-items:center;}
  @media (max-width:900px){ .levels-grid{grid-template-columns:1fr;} }
  .level-card{border:1px solid var(--line); border-radius:4px; padding:22px 24px; background:var(--surface);}
  .level-card + .level-card{margin-top:14px;}
  .level-head{display:flex; justify-content:space-between; align-items:baseline; gap:12px;}
  .level-head b{font-family:var(--font-display); font-size:1.15rem; text-transform:uppercase; font-weight:700;}
  .level-head .area{font-family:var(--font-mono); color:var(--accent); font-weight:600;}
  .level-card p{color:var(--ink-muted); margin:10px 0 0; font-size:0.96rem;}

  /* blueprint diagram — fixed navy palette regardless of theme */
  .blueprint{background:var(--blue-bg); border-radius:6px; padding:22px; position:relative; overflow:hidden;
    background-image:radial-gradient(rgba(95,137,173,0.35) 1px, transparent 1px);
    background-size:16px 16px;}
  .blueprint svg{width:100%; height:auto; display:block; position:relative;}
  .blueprint-caption{font-family:var(--font-mono); font-size:0.68rem; color:var(--blue-line); letter-spacing:0.06em; text-transform:uppercase; margin-top:12px; text-align:center;}

  /* amenities */
  .amen-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media (max-width:860px){ .amen-grid{grid-template-columns:repeat(2,1fr);} }
  .amen-cell{background:var(--surface); padding:24px 20px;}
  .amen-cell svg{width:26px; height:26px; color:var(--accent);}
  .amen-cell .t{font-weight:600; margin-top:14px; font-size:0.98rem;}
  .amen-cell .d{color:var(--ink-muted); font-size:0.88rem; margin-top:4px;}

  /* location */
  .loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,56px); align-items:center;}
  @media (max-width:900px){ .loc-grid{grid-template-columns:1fr;} }
  .loc-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:18px;}
  .loc-list li{display:flex; gap:14px; align-items:flex-start;}
  .loc-list svg{flex:none; width:20px; height:20px; margin-top:2px; color:var(--accent);}
  .loc-list b{display:block; font-size:1rem;}
  .loc-list span{color:var(--ink-muted); font-size:0.92rem;}

  /* gallery — editorial masonry, chrome ground */
  .gallery{background:var(--chrome-bg); color:var(--chrome-ink);}
  .gallery .section-head p{color:var(--chrome-muted);}
  .gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
  @media (max-width:900px){ .gallery-grid{grid-template-columns:repeat(3,1fr);} }
  @media (max-width:600px){ .gallery-grid{grid-template-columns:repeat(2,1fr);} }
  .gallery-item{position:relative; border:1px solid var(--chrome-line); border-radius:3px; overflow:hidden; background:var(--chrome-surface); cursor:pointer; padding:0;}
  .gallery-item img{aspect-ratio:4/3; width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
  .gallery-item.feature{grid-column:span 2;}
  .gallery-item.feature img{aspect-ratio:16/7;}
  .gallery-item:hover img{transform:scale(1.05);}
  .gallery-item .cap{position:absolute; left:0; right:0; bottom:0; padding:9px 11px 8px; font-size:0.72rem; line-height:1.25; color:#fff; background:linear-gradient(0deg, rgba(0,0,0,0.75), rgba(0,0,0,0)); opacity:0; transition:opacity .2s ease;}
  .gallery-item:hover .cap, .gallery-item:focus-visible .cap{opacity:1;}
  .gallery-item:focus-visible{outline:2px solid var(--chrome-accent); outline-offset:2px;}

  dialog#lightbox{border:none; padding:0; max-width:min(92vw,1100px); width:100%; background:transparent;}
  dialog#lightbox::backdrop{background:rgba(6,5,3,0.88);}
  .lightbox-inner{background:var(--chrome-surface); border-radius:6px; overflow:hidden;}
  .lightbox-inner img{width:100%; max-height:76vh; object-fit:contain; background:#000;}
  .lightbox-foot{display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px 18px; color:var(--chrome-ink);}
  .lightbox-foot span{font-size:0.9rem; color:var(--chrome-muted);}
  .lightbox-close{font-family:var(--font-mono); font-size:0.82rem; background:none; border:1px solid var(--chrome-line); color:var(--chrome-ink); border-radius:2px; padding:0.5em 0.9em; cursor:pointer;}
  .lightbox-close:hover{border-color:var(--chrome-accent); color:var(--chrome-accent);}

  /* cta */
  .cta{position:relative; background:var(--chrome-bg); color:var(--chrome-ink); overflow:hidden;}
  .cta img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.75) contrast(1.05) brightness(.4);}
  .cta::before{content:""; position:absolute; inset:0; background:
    linear-gradient(180deg, rgba(9,7,5,0.4) 0%, rgba(9,7,5,0.78) 55%, rgba(9,7,5,0.96) 100%),
    linear-gradient(100deg, rgba(9,7,5,0.78) 0%, rgba(9,7,5,0.2) 55%);}
  .cta .wrap{position:relative;}
  .cta-grid{display:grid; grid-template-columns:1.2fr 0.8fr; gap:clamp(28px,5vw,56px); align-items:end;}
  @media (max-width:860px){ .cta-grid{grid-template-columns:1fr;} }
  .cta h2{font-size:clamp(2.1rem,4.6vw,3.4rem); text-transform:uppercase; color:var(--chrome-ink);}
  .cta p{color:rgba(243,236,220,0.72); margin-top:14px; max-width:48ch; font-size:1.05rem;}
  .cta-price{font-family:var(--font-display); font-weight:900; font-size:clamp(2.4rem,6vw,4rem); color:var(--chrome-accent); line-height:1; margin-top:20px;}
  .cta-price small{display:block; font-family:var(--font-mono); font-weight:500; font-size:0.85rem; color:var(--chrome-muted); text-transform:uppercase; letter-spacing:0.08em; margin-top:8px;}
  .cta-actions{display:flex; flex-direction:column; gap:10px; align-items:flex-start;}
  .cta-actions .btn{width:100%; justify-content:center; font-size:1.05rem;}
  .cta-note{font-family:var(--font-mono); font-size:0.76rem; color:var(--chrome-muted); margin-top:8px;}

  footer{background:var(--chrome-bg); color:var(--chrome-muted); border-top:1px solid var(--chrome-line);}
  footer .wrap{padding-block:22px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:0.8rem; font-family:var(--font-mono);}


  /* === Правки Фабрики сайтов (2026-11-01), найдены измерением на экране 375 px === */
  /* Заголовок первого экрана: «ПРОИЗВОДСТВО» (12 букв Unbounded 800) не помещалось в ширину телефона */
  h1.hero-title{font-size:clamp(1.6rem,8vw,4.4rem); overflow-wrap:anywhere;}
  .hero-inner > *{min-width:0;}
  @media (min-width:901px){
    /* колонка заголовка больше не раздувается и не выдавливает цену в плашке */
    .hero-inner{grid-template-columns:minmax(0,1.3fr) minmax(0,0.8fr);}
    h1.hero-title{font-size:clamp(2.5rem,4.6vw,3.6rem);}
  }
  .price-chip .amt{white-space:nowrap;}
  @media (max-width:900px){
    /* зоны нажатия не меньше 44 px */
    .topbar-phone{display:inline-flex; align-items:center; min-height:44px;}
    .topbar .btn{min-height:44px;}
    /* служебные подписи не мельче 12 px */
    .brand small, .eyebrow, .price-chip .lbl, .price-chip .note, .plate-cell .lbl, .blueprint-caption{font-size:0.75rem;}
  }

  /* --- мобильные правки, раунд 2 --- */
  @media (max-width:860px){
    /* блок «Свяжитесь напрямую»: «СОБСТВЕННИКОМ» не помещалось и обрезалось справа */
    .cta-grid > *{min-width:0;}
    .cta h2{font-size:clamp(1.4rem,6.8vw,3.4rem); overflow-wrap:anywhere;}
    .cta-actions .btn{white-space:normal; overflow-wrap:anywhere;}
  }
  @media (max-width:900px){
    .section-head h2{font-size:clamp(1.5rem,6.6vw,2.8rem); overflow-wrap:anywhere;}
    .spec-cell .tag{font-size:0.75rem;}
    .loc-list span{font-size:0.95rem;}
    /* схемы-чертежи: в натуральном масштабе с прокруткой внутри рамки, чтобы подписи читались (на экране 375 px масштаб был 0.57) */
    .bp-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch;}
    .bp-scroll svg[viewBox$="520 320"]{min-width:520px;}
    .bp-scroll svg[viewBox$="460 320"]{min-width:460px;}
    .bp-scroll svg text{font-size:12px;}
    .blueprint-caption::after{content:" · листайте схему ⇄";}
  }
