/* ============================================================
   ListeInox — hoja de estilos del sitio
   Concepto: ficha técnica de taller — plano industrial, no
   landing genérica de decoración.
   Tipografía única (Montserrat, manual de marca 2026),
   la jerarquía la da la escala. Acento: azul-acero de plano.
   ============================================================ */

@font-face{
  font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;
  src:url('../fonts/montserrat-400.woff2') format('woff2');
}
@font-face{
  font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;
  src:url('../fonts/montserrat-600.woff2') format('woff2');
}
@font-face{
  font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;
  src:url('../fonts/montserrat-800.woff2') format('woff2');
}

:root{
  --ink:#17181a;
  --paper:#fbfaf8;
  --steel-100:#eeece7;
  --steel-200:#e2dfd9;
  --steel-300:#c9c5bd;
  --steel-500:#8b8880;
  --steel-600:#5b5852;
  --charcoal:#34322e;
  --accent:#3d5b74;
  --accent-ink:#284054;
  --accent-soft:#dfe6ea;
  --line: rgba(23,24,26,.14);
  --shadow: 0 18px 40px -18px rgba(23,24,26,.35);
  --radius: 3px;
  --maxw: 1180px;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root{
    --ink:#f1efe9; --paper:#151513; --steel-100:#201f1c; --steel-200:#2a2925;
    --steel-300:#413e38; --steel-500:#948f85; --steel-600:#c7c3ba; --charcoal:#e7e4dd;
    --accent:#7fa2bd; --accent-ink:#a9c3d6; --accent-soft:#233541; --line: rgba(241,239,233,.16);
    --shadow: 0 18px 44px -18px rgba(0,0,0,.6); color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --ink:#f1efe9; --paper:#151513; --steel-100:#201f1c; --steel-200:#2a2925;
  --steel-300:#413e38; --steel-500:#948f85; --steel-600:#c7c3ba; --charcoal:#e7e4dd;
  --accent:#7fa2bd; --accent-ink:#a9c3d6; --accent-soft:#233541; --line: rgba(241,239,233,.16);
  --shadow: 0 18px 44px -18px rgba(0,0,0,.6); color-scheme: dark;
}
:root[data-theme="light"]{
  --ink:#17181a; --paper:#fbfaf8; --steel-100:#eeece7; --steel-200:#e2dfd9;
  --steel-300:#c9c5bd; --steel-500:#8b8880; --steel-600:#5b5852; --charcoal:#34322e;
  --accent:#3d5b74; --accent-ink:#284054; --accent-soft:#dfe6ea; --line: rgba(23,24,26,.14);
  --shadow: 0 18px 40px -18px rgba(23,24,26,.35); color-scheme: light;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation-duration:.01ms !important; transition-duration:.01ms !important;} }
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
h1,h2,h3,h4{font-weight:800;margin:0 0 .5em;text-wrap:balance;letter-spacing:-.01em;}
p{margin:0 0 1em;max-width:62ch;}
.tabular{font-variant-numeric:tabular-nums;}

.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600;
  color:var(--accent-ink);margin-bottom:.9em;
}
.eyebrow::before{content:"";width:3px;height:16px;background:var(--accent);flex:none;}

.section{padding:96px 0;border-top:1px solid var(--line);}
.section--tinted{background:var(--steel-100);}
.section-head{max-width:640px;margin:0 auto 52px;text-align:center;}
.section-head .eyebrow{justify-content:center;}
.section-head .eyebrow::before{display:none;}
.section-head h2{font-size:clamp(1.55rem,3vw,2.15rem);}
.section-head p{color:var(--steel-600);margin:0 auto;}

.bracketed{position:relative;}
.bracketed::before,.bracketed::after{
  content:"";position:absolute;width:22px;height:22px;
  border:2px solid var(--paper);opacity:.9;pointer-events:none;
}
.bracketed::before{top:14px;left:14px;border-right:none;border-bottom:none;}
.bracketed::after{bottom:14px;right:14px;border-left:none;border-top:none;}

.site-header{
  position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:110px;flex-wrap:nowrap;gap:12px 24px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.03em;font-size:1.05rem;flex:none;order:3;}
.logo img{height:84px;width:auto;flex:none;}
nav.main-nav{display:flex;gap:34px;order:1;}
nav.main-nav a{
  font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--steel-600);padding:6px 0;border-bottom:1px solid transparent;
  transition:border-color .2s,color .2s;
}
nav.main-nav a:hover{color:var(--ink);border-color:var(--accent);}
.btn{
  display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:var(--radius);
  font-weight:600;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
  border:1px solid var(--ink);cursor:pointer;transition:transform .15s,background .2s,color .2s,border-color .2s;
  white-space:nowrap;
}
.btn--primary{background:var(--ink);color:var(--paper);}
.btn--primary:hover{background:var(--accent-ink);border-color:var(--accent-ink);}
.btn--ghost{background:transparent;color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:var(--paper);}
.btn--light{border-color:rgba(255,255,255,.75);color:#fff;}
.btn--light:hover{background:#fff;color:var(--ink);}
.btn--line{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.08);}
.btn--line:hover{background:rgba(255,255,255,.18);}
.whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:60;
  width:58px;height:58px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 28px -6px rgba(0,0,0,.45);
  transition:transform .2s,box-shadow .2s;
}
.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 14px 34px -6px rgba(0,0,0,.5);}
@media(max-width:720px){
  .whatsapp-float{right:16px;bottom:16px;width:52px;height:52px;}
  .whatsapp-float svg{width:26px;height:26px;}
}
.header-cta{display:flex;align-items:center;gap:18px;order:2;}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink);}

.hero{
  position:relative;min-height:88vh;display:flex;align-items:flex-end;color:#fff;
  background:
    linear-gradient(100deg, rgba(15,16,17,.86) 0%, rgba(15,16,17,.72) 26%, rgba(15,16,17,.28) 48%, rgba(15,16,17,0) 64%),
    linear-gradient(0deg, rgba(15,16,17,.6) 0%, rgba(15,16,17,0) 42%),
    url('../img/app-cocina-liso.jpg') center/cover no-repeat;
}
.hero .container{padding-bottom:76px;max-width:860px;position:relative;margin:0;}
.hero .eyebrow{color:#e4e7e9;text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 10px rgba(0,0,0,.5);}
.hero .eyebrow::before{background:#e4e7e9;box-shadow:0 1px 2px rgba(0,0,0,.5);}
.hero-code{
  font-size:.72rem;color:#e4e7e9;letter-spacing:.08em;margin-bottom:1.4em;
  display:flex;gap:18px;flex-wrap:wrap;
  text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 10px rgba(0,0,0,.5);
}
.hero-code span b{color:#fff;font-weight:600;}
.hero h1{text-shadow:0 2px 12px rgba(0,0,0,.4);}
.hero p{text-shadow:0 1px 6px rgba(0,0,0,.35);}
.hero h1{
  font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:1.08;margin-bottom:.42em;
  opacity:0;transform:translateY(14px);animation:rise .8s .15s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero p{font-size:1.08rem;color:#e6e3dc;max-width:520px;margin-bottom:2.1em;
  opacity:0;transform:translateY(14px);animation:rise .8s .35s cubic-bezier(.2,.7,.2,1) forwards;
}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;
  opacity:0;transform:translateY(14px);animation:rise .8s .5s cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes rise{to{opacity:1;transform:none;}}
@media (prefers-reduced-motion: reduce){ .hero h1,.hero p,.hero-actions{animation:none;opacity:1;transform:none;} }

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1;transform:none;} }

.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center;}
.about-copy p{color:var(--steel-600);}
.quote-block{
  border-left:2px solid var(--accent);padding-left:20px;margin:30px 0;
  font-style:italic;font-size:1.08rem;color:var(--ink);
}
.about-media{position:relative;}
.about-media img{border-radius:var(--radius);box-shadow:var(--shadow);}
.about-media .tag{
  position:absolute;left:-18px;bottom:-18px;background:var(--ink);color:var(--paper);
  padding:14px 20px;border-radius:var(--radius);font-size:.78rem;letter-spacing:.03em;
  box-shadow:var(--shadow);
}
.about-media .tag b{display:block;font-size:1.3rem;font-weight:800;}

.attrs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:64px;border:1px solid var(--line);}
.attr-card{background:var(--paper);padding:30px 24px;}
.attr-card .mark{
  font-family:'Montserrat',sans-serif;font-weight:800;font-size:.85rem;color:var(--accent-ink);
  margin-bottom:14px;letter-spacing:.02em;
}
.attr-card h4{font-size:.95rem;margin-bottom:.4em;}
.attr-card p{font-size:.85rem;color:var(--steel-600);margin:0;max-width:none;}

.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.product-card{background:var(--paper);overflow:hidden;transition:box-shadow .2s;}
.product-card .thumb{aspect-ratio:4/3.7;overflow:hidden;background:var(--steel-100);position:relative;}
.product-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.product-card:hover .thumb img{transform:scale(1.05);}
.profile-chip{
  position:absolute;top:12px;left:12px;background:rgba(20,21,22,.78);color:#fff;
  border-radius:2px;padding:6px 8px;display:flex;align-items:center;gap:6px;
  font-size:.68rem;letter-spacing:.05em;
}
.profile-chip svg{display:block;}
.product-card .info{padding:20px 22px 24px;}
.product-card h4{font-size:1rem;margin-bottom:.35em;}
.product-card p{font-size:.85rem;color:var(--steel-600);margin:0;}

.specs{margin-top:60px;overflow-x:auto;}
table.specs-table{width:100%;border-collapse:collapse;font-size:.88rem;background:var(--paper);}
table.specs-table caption{text-align:left;font-weight:600;margin-bottom:14px;font-size:.92rem;color:var(--steel-600);caption-side:top;}
table.specs-table th{
  background:var(--accent-ink);color:#fff;text-align:left;padding:13px 18px;font-weight:600;
  text-transform:uppercase;font-size:.68rem;letter-spacing:.06em;
}
table.specs-table td{padding:13px 18px;border-bottom:1px solid var(--line);color:var(--steel-600);}
table.specs-table td:first-child{color:var(--ink);font-weight:600;}
table.specs-table td.num{font-variant-numeric:tabular-nums;}
table.specs-table tbody tr:nth-child(odd){background:var(--steel-100);}

.carousel{position:relative;}
.carousel-track{
  display:flex;gap:2px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-ms-overflow-style:none;
}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-track .collection-card{flex:0 0 calc((100% - 4px)/3);scroll-snap-align:start;}
.project-track .project-card{flex:0 0 calc((100% - 6px)/4);scroll-snap-align:start;}
.carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;border:1px solid var(--line);
  background:var(--paper);color:var(--ink);font-size:1.3rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);
  transition:background .2s,color .2s;
}
.carousel-btn:hover{background:var(--ink);color:var(--paper);}
.carousel-btn--prev{left:-16px;}
.carousel-btn--next{right:-16px;}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:22px;}
.carousel-dots button{
  width:8px;height:8px;border-radius:50%;border:none;background:var(--steel-300);
  padding:0;cursor:pointer;transition:background .2s,transform .2s;
}
.carousel-dots button.is-active{background:var(--accent);transform:scale(1.25);}
.collection-card{position:relative;overflow:hidden;aspect-ratio:3/3.7;color:#fff;box-shadow:var(--shadow);transform:translateZ(0);}
.collection-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;transform:translateZ(0);backface-visibility:hidden;}
.collection-card:hover img{transform:scale(1.06);}
.collection-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,21,22,0) 32%,rgba(15,16,17,.94) 100%);}

.project-card{position:relative;overflow:hidden;aspect-ratio:4/5;margin:0;color:#fff;box-shadow:var(--shadow);}
.project-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.project-card:hover img{transform:scale(1.06);}
.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,21,22,0) 55%,rgba(15,16,17,.92) 100%);}
.project-card figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:14px 16px;z-index:2;
  font-size:.78rem;font-weight:600;letter-spacing:.02em;
}
.collection-card .cc-body{position:absolute;left:0;right:0;bottom:0;height:258px;padding:26px;z-index:2;}
.collection-card .eyebrow{color:#cfd6da;}
.collection-card .eyebrow::before{background:#cfd6da;}
.collection-card h3{font-size:1.32rem;margin-bottom:.28em;}
.collection-card p{font-size:.85rem;color:#dfdcd4;margin:0;max-width:none;}
.collection-models{margin-top:.9em;display:flex;gap:6px;flex-wrap:wrap;}
.collection-models span{
  font-size:.66rem;border:1px solid rgba(255,255,255,.45);padding:4px 10px;
  text-transform:uppercase;letter-spacing:.05em;font-variant-numeric:tabular-nums;
}

.finish-note{
  margin-top:44px;padding:24px 28px;background:var(--paper);border:1px solid var(--line);
  border-left:3px solid var(--accent);font-size:.9rem;color:var(--steel-600);
  display:flex;gap:16px;align-items:flex-start;
}
.finish-note strong{color:var(--ink);}

.gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:130px;gap:2px;}
.gallery figure{margin:0;position:relative;overflow:hidden;}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.gallery figure:hover img{transform:scale(1.07);}
.gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:12px 16px;
  background:linear-gradient(0deg,rgba(15,16,17,.86),transparent);
  color:#fff;font-size:.74rem;font-weight:600;letter-spacing:.02em;
  opacity:0;transition:opacity .25s;
}
.gallery figure:hover figcaption{opacity:1;}
.g-1{grid-column:span 3;grid-row:span 3;}
.g-2{grid-column:span 3;grid-row:span 2;}
.g-3{grid-column:span 2;grid-row:span 2;}
.g-4{grid-column:span 2;grid-row:span 2;}
.g-5{grid-column:span 2;grid-row:span 2;}
.g-6{grid-column:span 3;grid-row:span 2;}
.a-1{grid-column:span 3;grid-row:span 3;}
.a-2{grid-column:span 3;grid-row:span 3;}
.a-3{grid-column:span 2;grid-row:span 2;}
.a-4{grid-column:span 2;grid-row:span 2;}
.a-5{grid-column:span 2;grid-row:span 2;}

.cta-band{background:var(--ink);color:var(--paper);text-align:center;padding:80px 0;}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.1rem);}
.cta-band p{color:var(--steel-300);max-width:520px;margin:0 auto 34px;}
.cta-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}

.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;}
.contact-list{list-style:none;margin:30px 0 0;padding:0;}
.contact-list li{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line);}
.contact-list .ico{
  width:38px;height:38px;flex:none;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);color:var(--accent-ink);
}
.contact-list .ico svg{width:18px;height:18px;}
.contact-list h4{margin:0 0 3px;font-size:.9rem;}
.contact-list p{margin:0;color:var(--steel-600);font-size:.9rem;}
.contact-list a{font-weight:600;color:var(--ink);}
.contact-list a:hover{color:var(--accent-ink);}
.export-note{
  margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);
  font-size:.85rem;color:var(--steel-600);
}
.map-card{
  background:var(--ink);color:var(--paper);padding:38px 34px;display:flex;flex-direction:column;
  justify-content:center;gap:18px;position:relative;overflow:hidden;
}
.map-card::before{
  content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(255,255,255,.05) 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(255,255,255,.05) 39px 40px);
}
.map-card > *{position:relative;}
.map-card h3{font-size:1.2rem;}
.map-card p{color:var(--steel-300);font-size:.92rem;margin:0;max-width:none;}
.map-perks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.map-perks li{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--steel-300);}
.map-perks li::before{
  content:"";flex:none;width:8px;height:8px;margin-top:6px;
  background:var(--accent);
}

/* ---------- notas técnicas (cómo se coloca) ---------- */
.notes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:8px;border:1px solid var(--line);}
.note-card{background:var(--paper);padding:30px 24px;}
.note-card .mark{
  font-weight:800;font-size:.72rem;color:var(--accent-ink);
  margin-bottom:14px;letter-spacing:.1em;text-transform:uppercase;
}
.note-card h4{font-size:.95rem;margin-bottom:.4em;}
.note-card p{font-size:.85rem;color:var(--steel-600);margin:0;max-width:none;}
.notes-foot{margin-top:32px;text-align:center;font-size:.9rem;color:var(--steel-600);}
.notes-foot a{color:var(--accent-ink);font-weight:600;border-bottom:1px solid var(--accent);}
.notes-foot a:hover{color:var(--ink);}

/* ---------- presupuesto (form) ---------- */
.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start;}
.quote-copy h2{font-size:clamp(1.5rem,3vw,2rem);}
.quote-copy p{color:var(--steel-600);}
.quote-perks{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:16px;}
.quote-perks li{display:flex;gap:12px;align-items:flex-start;font-size:.9rem;color:var(--steel-600);}
.quote-perks li::before{
  content:"";flex:none;width:8px;height:8px;margin-top:6px;
  background:var(--accent);
}
.quote-perks li b{color:var(--ink);}

.form-card{
  background:var(--paper);border:1px solid var(--line);padding:36px;position:relative;
}
.form-card::before{
  content:"PRESUPUESTO";position:absolute;top:-10px;left:32px;background:var(--paper);
  padding:0 10px;font-size:.66rem;letter-spacing:.14em;color:var(--steel-500);font-weight:600;
}
.form-card--cv::before{
  content:"TRABAJÁ CON NOSOTROS";
}
.field{margin-bottom:22px;}
.field label{
  display:block;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--steel-600);margin-bottom:9px;
}
.field label .req{color:var(--accent-ink);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field select,
.field textarea{
  width:100%;border:none;border-bottom:1px solid var(--steel-300);background:transparent;
  padding:8px 2px;font-family:'Montserrat',sans-serif;font-size:.92rem;color:var(--ink);
  transition:border-color .2s;
}
.field select{appearance:none;-webkit-appearance:none;background-position:right 2px center;background-repeat:no-repeat;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%235b5852' stroke-width='1.4'/></svg>");}
.field textarea{resize:vertical;min-height:88px;font-family:inherit;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);}

.field-phone{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--steel-300);transition:border-color .2s;}
.field-phone:focus-within{border-color:var(--accent);}
.field-phone__prefix{flex:none;font-family:'Montserrat',sans-serif;font-size:.92rem;color:var(--steel-600);padding:8px 0;}
.field-phone input[type="tel"]{border-bottom:none;padding-left:0;}
.field-phone input:focus{border-color:transparent;}
.field.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}

.chip-radios{display:flex;flex-wrap:wrap;gap:8px;}
.chip-radios input{position:absolute;opacity:0;width:1px;height:1px;}
.chip-radios label{
  font-size:.76rem;letter-spacing:.03em;padding:8px 14px;border:1px solid var(--steel-300);
  color:var(--steel-600);cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.chip-radios input:checked + label{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.chip-radios input:focus-visible + label{outline:2px solid var(--accent);outline-offset:2px;}

.field-checks{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
.check-row{display:flex;align-items:flex-start;gap:9px;font-size:.85rem;color:var(--steel-600);cursor:pointer;line-height:1.4;}
.check-row input{margin-top:3px;flex:none;width:15px;height:15px;accent-color:var(--accent);cursor:pointer;}
.form-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px;}
.form-fineprint{font-size:.78rem;color:var(--steel-500);}
.form-fineprint a{color:var(--accent-ink);font-weight:600;}

.form-success{
  display:none;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--steel-100);
  padding:28px 32px;align-items:flex-start;gap:14px;
}
.form-success.is-visible{display:flex;}
.form-success .ico{
  width:32px;height:32px;flex:none;border-radius:50%;background:var(--accent-ink);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;
}
.form-success h4{margin:0 0 4px;font-size:.95rem;}
.form-success p{margin:0;font-size:.86rem;color:var(--steel-600);max-width:none;}
.form-success--cv{
  flex-direction:column;align-items:center;text-align:center;gap:4px;padding:30px 28px;
  border:none;
  background:linear-gradient(135deg,#EFEFF1 0%,#9CA1A5 40%,#4F5459 75%,#8D9297 100%);
}
.form-success--cv .ico{margin-bottom:6px;background:#fff;color:#2a2925;box-shadow:0 2px 8px rgba(0,0,0,.25);}
.form-success--cv h4{font-size:.9rem;font-weight:600;max-width:360px;line-height:1.45;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.35);}
.form-success--cv p{margin-top:2px;font-weight:600;color:rgba(255,255,255,.85);letter-spacing:.06em;text-transform:uppercase;font-size:.64rem;text-shadow:0 1px 3px rgba(0,0,0,.3);}
.form-success__logo{
  width:110px;height:auto;margin-top:14px;background:#fff;padding:8px 12px;border-radius:3px;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
}
.form-card.is-hidden{display:none;}

.modal-backdrop{
  display:none;position:fixed;inset:0;background:rgba(10,10,10,.62);z-index:300;
  align-items:center;justify-content:center;padding:24px;
}
.modal-backdrop.is-visible{display:flex;}
.modal-backdrop .form-success{
  display:flex;max-width:440px;width:100%;position:relative;
  box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.modal-close{
  position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;border-radius:50%;
  background:rgba(255,255,255,.9);color:#2a2925;font-size:1.3rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .15s;
}
.modal-close:hover{background:#fff;}
.form-error{
  display:none;border-left:3px solid #a4452f;background:var(--steel-100);padding:14px 18px;
  font-size:.85rem;color:var(--steel-600);margin-bottom:22px;
}
.form-error.is-visible{display:block;}
.form-warning{
  display:none;border-left:3px solid #a4452f;background:var(--steel-100);padding:14px 18px;
  font-size:.85rem;color:var(--steel-600);margin-bottom:22px;
}
.form-warning.is-visible{display:block;}

footer{background:var(--charcoal);color:var(--steel-200);padding:38px 0;}
footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
footer .foot-logo{font-weight:800;letter-spacing:.05em;color:var(--paper);}
footer .social{display:flex;gap:18px;font-size:.82rem;}
footer .social a:hover{color:var(--accent-ink);}
footer small{color:var(--steel-500);font-size:.76rem;}

::selection{background:var(--accent-ink);color:#fff;}

@media(max-width:980px){
  .attrs{grid-template-columns:repeat(2,1fr);}
  .notes-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .carousel-track .collection-card{flex-basis:calc((100% - 2px)/2);}
  .project-track .project-card{flex-basis:calc((100% - 4px)/2);}
  .about-grid{grid-template-columns:1fr;gap:40px;}
  .about-media .tag{left:16px;}
  .contact-grid{grid-template-columns:1fr;}
  .quote-grid{grid-template-columns:1fr;gap:44px;}
  .field-row{grid-template-columns:1fr;gap:0;}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}
  .g-1,.g-2,.g-3,.g-4,.g-5,.g-6,.a-1,.a-2,.a-3,.a-4,.a-5{grid-column:span 1;grid-row:span 2;}
}
@media(max-width:720px){
  .site-header .container{height:80px;}
  .logo img{height:54px;}
  nav.main-nav{
    position:fixed;inset:80px 0 0 0;background:var(--paper);flex-direction:column;
    padding:34px 28px;gap:24px;transform:translateX(100%);transition:transform .25s;
  }
  nav.main-nav.open{transform:translateX(0);}
  .nav-toggle{display:block;}
  .header-cta .btn--primary span.long{display:none;}
  .hero{min-height:80vh;}
  .attrs{grid-template-columns:1fr 1fr;}
  .hero-code{gap:12px;}
  .carousel-track .collection-card{flex-basis:88%;}
  .project-track .project-card{flex-basis:80%;}
  .carousel-btn{width:36px;height:36px;font-size:1.1rem;}
  .carousel-btn--prev{left:-8px;}
  .carousel-btn--next{right:-8px;}
}
