/*
Theme Name: Dave Radley Child
Template: hello-elementor
Version: 1.1.0
Description: Dave Radley design system. Self-hosted Arimo / Archivo Black / Gelasio, tokens chained to the Elementor kit, Hello reset fixes, and the scoped preflight the design depends on.
*/

/* ---------------------------------------------------------------
   1. Fonts. Self-hosted, latin + latin-ext, no fonts.googleapis.com request.
   Arimo is a variable face (wght 400-700): one file covers every weight the
   design asks for (Arial 400/700/800/900 all resolve to real Arial Bold, and
   Arimo 700 is metric-identical to it). Archivo Black stands in for Arial
   Black (single weight). Gelasio is metric-compatible with Georgia.
   --------------------------------------------------------------- */
@font-face{font-family:"Arimo";src:url("fonts/arimo-var-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;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}
@font-face{font-family:"Arimo";src:url("fonts/arimo-var-latin-ext.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;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:"Arimo";src:url("fonts/arimo-400-italic-latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;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}
@font-face{font-family:"Arimo";src:url("fonts/arimo-400-italic-latin-ext.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;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 Black";src:url("fonts/archivo-black-400-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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}
@font-face{font-family:"Archivo Black";src:url("fonts/archivo-black-400-latin-ext.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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:"Gelasio";src:url("fonts/gelasio-400-latin.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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}
@font-face{font-family:"Gelasio";src:url("fonts/gelasio-400-latin-ext.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;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:"Gelasio";src:url("fonts/gelasio-400-italic-latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;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}
@font-face{font-family:"Gelasio";src:url("fonts/gelasio-400-italic-latin-ext.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;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}

/* ---------------------------------------------------------------
   2. Tokens. ONE governed set, chained to the Elementor kit's Global Colors
   so a change in Site Settings restyles the whole site. Declared on body
   (var() resolves where declared; :root is above the kit's own declaration).
   Hex appears only as the var() fallback. Measured off the design of record
   (research/design-tokens.json + colour-census.json), rationalised per the
   plan: no orange, three greys instead of ten.
   --------------------------------------------------------------- */
body{
  --dr-lime:   var(--e-global-color-primary,   #D7FF39);
  --dr-green:  var(--e-global-color-secondary, #527000);
  --dr-ink:    var(--e-global-color-text,      #11120F);
  --dr-black:  var(--e-global-color-accent,    #090A08);
  --dr-paper:  var(--e-global-color-drpaper,   #FAF9F5);
  --dr-white:  var(--e-global-color-drwhite,   #FFFFFF);
  --dr-card:   var(--e-global-color-drcard,    #E9E8E1);
  --dr-split:  var(--e-global-color-drsplit,   #E5E1D6);
  --dr-ondark: var(--e-global-color-drondark,  #B6B8B0);
  --dr-onlight:var(--e-global-color-dronlight, #5F6059);
  --dr-tags:   var(--e-global-color-drtags,    #888888);
  --dr-night1: var(--e-global-color-drnight1,  #0D0E0C);
  --dr-night2: var(--e-global-color-drnight2,  #22241F);
  --dr-night3: var(--e-global-color-drnight3,  #0C0D0B);
  --dr-line:   var(--e-global-color-drline,    #AAAAAA);
  --dr-font-display: "Archivo Black", "Arial Black", Arial, sans-serif;
  --dr-font-body: Arimo, Arial, Helvetica, sans-serif;
  --dr-font-serif: Gelasio, Georgia, serif;
  --dr-shell: 1180px;
  background: var(--dr-paper);
  color: var(--dr-ink);
  font-family: var(--dr-font-body);
  -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; /* design renders 'auto'; Hello forces antialiased */
}
::selection{background:var(--dr-lime);color:var(--dr-black)}

/* ---------------------------------------------------------------
   3. The design's preflight, scoped. The export runs on Tailwind 4 whose
   preflight zeroes margins and makes h1-h6 inherit size + weight; every
   measured value in the parity baseline assumes it. Scoped to the page body
   and the two Elementor chrome locations, at zero specificity (:where), so
   every Global Class and design rule still wins.
   --------------------------------------------------------------- */
.dr-main :where(*,*::before,*::after),
[data-elementor-type="header"] :where(*,*::before,*::after),
[data-elementor-type="footer"] :where(*,*::before,*::after){box-sizing:border-box;margin:0;padding:0;border:0 solid}
.dr-main :where(h1,h2,h3,h4,h5,h6),
[data-elementor-type="header"] :where(h1,h2,h3,h4,h5,h6),
[data-elementor-type="footer"] :where(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit;font-family:inherit;line-height:inherit}
.dr-main :where(ul,ol){list-style:none}
.dr-main :where(figure,blockquote,p){margin:0}
.dr-main :where(img,svg,video){display:block;max-width:100%;height:auto}
.dr-main :where(a){color:inherit;text-decoration:inherit}
.dr-main :where(button,input,select,textarea){font:inherit;color:inherit;background:transparent;border-radius:0}
html{scroll-behavior:smooth}

/* ---------------------------------------------------------------
   4. Hello Elementor reset fixes (house traps).
   #c36 pink on bare buttons/links, button:hover at (0,1,1), grayscale smoothing,
   h1-h6 font-family inherit, list spacing. Pinned for rest, hover, focus and
   focus-visible, two classes deep so (0,1,1) never wins on hover.
   --------------------------------------------------------------- */
body a{color:inherit}
body a:hover,body a:focus{color:inherit}
body [type=button],body [type=submit],body [type=reset],body button{border-color:currentColor;color:inherit;background:transparent}
body [type=button]:hover,body [type=submit]:hover,body [type=reset]:hover,body button:hover,
body [type=button]:focus,body [type=submit]:focus,body [type=reset]:focus,body button:focus{background:transparent;color:inherit}
body :focus-visible{outline:2px solid var(--dr-lime);outline-offset:3px;box-shadow:0 0 0 5px var(--dr-black)} /* dual ring: holds on black AND on lime */
body ul + p,body ol + p{margin-top:.9em}

/* ---------------------------------------------------------------
   5. Elementor container defaults neutralised where the design has none.
   Left at (0,2,0) deliberately: Global Classes that GIVE padding must still win.
   --------------------------------------------------------------- */
.dr-main .e-flexbox-base,.dr-main .e-div-block-base{padding:0;min-width:auto}/* auto, not 0: Elementor's .e-con{min-width:0} stops a container sizing to its content the way the design's divs do (Andy panel, topics column; 16 Sep 2026) */
/* the design's containers are block flow unless a rule says otherwise; the transpiler mirrors every declared display at (0,3,0) above this */
.dr-main .e-flexbox-base{display:block}
[data-elementor-type="header"] .e-flexbox-base,[data-elementor-type="footer"] .e-flexbox-base{padding:0;min-width:0}
