/* DLGI base: design tokens, typography, focus, skip link, touch targets, reduced motion.
   Loaded from resources/views/partials/header.blade.php. See AGENTS.md for conventions. */

:root{
   /* Ink */
   --color-indigo-navy:#0B0E16;
   --color-midnight-ink:#060911;
   --color-charcoal:#161a26;
   --color-obsidian:#0a0d15;
   --color-pure-black:#000000;
   --color-slate-ink:#3b3e47;
   /* Secondary and tertiary text: both meet WCAG AA (4.5:1) on white and on cloud canvas */
   --color-steel:#5f626b;
   --color-fog:#6b6e77;
   /* Lines and surfaces (not for text) */
   --color-mist:#cbcccf;
   --color-silver-lining:#e3e4e8;
   --color-cloud-canvas:#f6f6f8;
   --color-pure-white:#ffffff;
   /* Brand */
   --color-brand-blue:#02AEEE;        /* footer and primary buttons (use navy text on it) */
   --color-brand-blue-hover:#35C0F3;
   --color-seafoam-600:#00AEEF;       /* decorative accents (dots, underlines) */
   --color-seafoam-700:#006d96;       /* accent text and links: 5.4:1 on cloud canvas */
   --color-seafoam-400:#7DE0FF;
   --color-deep-sea:#08314A;
   --color-signal-orange:#C21A52;     /* errors */
   --color-peach-glow:#F47CA5;

   --focus-ring:0 0 0 3px var(--color-pure-white), 0 0 0 5px var(--color-seafoam-700);
   --font-sans:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

/* One type family across the site (replaces the theme's Roboto body and Muli headings) */
body{font-family:var(--font-sans);}
h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);}

/* Visible keyboard focus everywhere; the theme removes outlines on links and menus */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
[tabindex]:focus-visible,summary:focus-visible{
   outline:2px solid var(--color-seafoam-700) !important;
   outline-offset:3px !important;
}
#footer-2 a:focus-visible{outline-color:var(--color-indigo-navy) !important;}

/* Screen-reader-only text */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Skip link: first thing a keyboard user reaches */
.skip-link{
   position:fixed;top:8px;left:8px;z-index:10000;transform:translateY(-150%);
   background:var(--color-indigo-navy);color:#fff !important;padding:12px 18px;border-radius:8px;
   font:600 15px/1 var(--font-sans);text-decoration:none;transition:transform .15s ease;
}
.skip-link:focus{transform:translateY(0);}
#main-content:focus{outline:none;}

/* Phones: comfortable 44px touch targets for small inline links */
@media (max-width:767.98px){
   .cl-crumbs a,.cl-crumbs li{display:inline-flex;align-items:center;min-height:44px;}
   .cl-filter{min-height:44px;}
   #footer-2 .cl-foot-links a,#footer-2 .cl-foot-contact a,#footer-2 .cl-foot-bottom a{display:inline-flex;align-items:center;min-height:44px;}
   #footer-2 ul.cl-foot-links{gap:0 !important;}
   .cl-contact dd a{display:inline-flex;align-items:center;min-height:44px;}
   /* Larger tap area for the menu button. The theme already positions it absolutely,
      which anchors this pseudo-element; don't override its position. */
   #wsnavtoggle::after{content:"";position:absolute;inset:-10px;}
   .btn,.cl-btn,.dlim-page .btn,.hero-scroll-cue{min-height:44px;}
   .cl-pagination a,.cl-pagination span{min-width:44px;height:44px;}
}
.skip-link{min-height:44px;display:inline-flex;align-items:center;}
/* Keep the skip link fully off-screen until it receives keyboard focus */
.skip-link:not(:focus){top:-200px;}

/* Respect reduced-motion: keep state changes, drop decorative movement */
@media (prefers-reduced-motion:reduce){
   html{scroll-behavior:auto !important;}
   .cl-course:hover,.cl-person:hover,.cl-media:hover,.cl-btn:hover,.btn:hover,
   .cl-media:hover .cl-media-img img{transform:none !important;}
   .hero-scroll-cue svg,.animated,.wow{animation:none !important;}
}
