/* datios.ai — page layer over assets/modernist.css.
   Lifted from the <helmet> blocks of the design handoff; hover classes are generated
   by build.py from the designs' style-hover attributes. */

/* Archivo, self-hosted (variable font; one file per subset serves 400–800). */
@font-face {
  font-family: 'Archivo'; font-style: normal; font-weight: 400 800; font-stretch: 100%; font-display: swap;
  src: url("fonts/archivo-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: 'Archivo'; font-style: normal; font-weight: 400 800; font-stretch: 100%; font-display: swap;
  src: url("fonts/archivo-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: 'Archivo'; font-style: normal; font-weight: 400 800; font-stretch: 100%; font-display: swap;
  src: url("fonts/archivo-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;
}

body { margin: 0; background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); -webkit-font-smoothing: antialiased; font-size: 16px; }
a { color: var(--color-accent-700); }
a:hover { color: var(--color-accent); }

/* Ruled cell grids collapse to one column; vertical rules become horizontal. */
@media (max-width: 1120px) {
  [data-cells] { grid-template-columns: minmax(0,1fr) !important }
  [data-cells] > * { border-left: 0 !important; padding-left: 0 !important; padding-right: 0 !important; border-top: 2px solid var(--color-divider) !important }
  [data-cells] > *:first-child { border-top: 0 !important }
  /* Framed variant keeps horizontal padding, or the copy would touch the frame. */
  [data-cells-framed] { grid-template-columns: minmax(0,1fr) !important }
  [data-cells-framed] > * { border-left: 0 !important; border-top: 2px solid var(--color-divider) !important }
  [data-cells-framed] > *:first-child { border-top: 0 !important }
}

/* Header collapse. */
@media (max-width: 900px) { [data-navlinks] { display: none !important } [data-hamburger] { display: inline-flex !important } }
@media (min-width: 901px) { [data-mobilepanel] { display: none !important } }
@media (max-width: 640px) { [data-navcta] { display: none } [data-langswitch] { display: none !important } }
@media (min-width: 641px) { [data-panel-extras] { display: none !important } }

/* Contact form fields. */
[data-fld] { width: 100%; min-height: 46px; padding: 11px 13px; font: inherit; font-size: 15px; color: var(--color-text); caret-color: var(--color-accent); background: var(--color-neutral-100); border: 2px solid var(--color-divider); border-radius: 0; }
[data-fld]:hover { border-color: var(--color-neutral-500); }
[data-fld]:focus { outline: none; border-color: var(--color-accent); }
textarea[data-fld] { min-height: 128px; resize: vertical; }

/* On dark grounds the primary button lightens on hover rather than darkening. */
section[style*="background:var(--color-text)"] .btn-primary:hover { background: var(--color-accent-500); }

/* Hover states (from style-hover). No transitions: the design has no motion. */
.hv1:hover { color:var(--color-accent) !important }
.hv2:hover { background:var(--color-neutral-200) !important }
.hv3:hover { border-color:var(--color-accent) !important }
.hv4:hover { background:var(--color-accent) !important }
.hv5:hover { background:var(--color-neutral-200) !important; padding-left:16px !important; padding-right:16px !important }
.hv6:hover { border-color:var(--color-accent) !important; color:var(--color-accent) !important }
