/*
Theme Name: LUCID Strategies
Theme URI: https://lucidpublicrelations.com
Author: LUCID Strategies
Author URI: https://lucidpublicrelations.com
Description: Custom WordPress block theme for LUCID Strategies — a boutique crisis & issues management firm. Understated, SEO-first, multilingual-ready (incl. RTL). Brand: sapphire #1F5BC9, Gilroy + Times New Roman.
Version: 0.1.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lucid-strategies
*/

/* Most styling lives in theme.json. This file holds a few things the block
   editor can't express cleanly (small-caps eyebrows, the sapphire "viewfinder"
   media frame echoing the logo, and the media-hit cards). */

:root{
  --ls-sapphire:#1F5BC9;
  --ls-ink:#0A0A0A;
  --ls-muted:#5B6470;
  --ls-line:#E7E9EE;
}

/* Eyebrow / small-caps label */
.ls-eyebrow{
  font-family:"Gilroy",sans-serif;font-weight:700;
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ls-sapphire);margin:0 0 .5rem;
}

/* Sapphire viewfinder frame for hero media (logo motif) */
.ls-frame{position:relative;aspect-ratio:16/9;background:#0d1116;border-radius:3px;overflow:hidden;}
.ls-frame::before,.ls-frame::after{content:"";position:absolute;width:54px;height:54px;border:3px solid var(--ls-sapphire);}
.ls-frame::before{top:14px;left:14px;border-right:none;border-bottom:none;}
.ls-frame::after{bottom:14px;right:14px;border-left:none;border-top:none;}

/* Two audience "path" cards on the hero */
.ls-path{display:block;border:1px solid var(--ls-line);border-left:3px solid var(--ls-sapphire);
  padding:1rem 1.15rem;border-radius:2px;transition:box-shadow .15s,border-color .15s;text-decoration:none;}
.ls-path:hover{border-color:var(--ls-sapphire);box-shadow:0 6px 24px rgba(31,91,201,.10);}

/* "As Seen In" outlet strip */
.ls-seenin{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:center;}
.ls-seenin span{font-family:"Times New Roman",serif;font-weight:700;color:#3a4048;opacity:.78;}

/* Logo masthead: keep the wordmark prominent */
.wp-block-site-logo img,.custom-logo{height:auto;}

/* RTL niceties (Arabic) */
html[dir="rtl"] .ls-path{border-left:none;border-right:3px solid var(--ls-sapphire);}

/* ---- Accessibility (WCAG 2.2 AA) ---- */
/* Skip link */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.screen-reader-text:focus{position:fixed;top:10px;left:10px;width:auto;height:auto;clip:auto;z-index:100000;background:#fff;color:var(--ls-ink);padding:10px 16px;border:2px solid var(--ls-sapphire);font-family:"Gilroy",sans-serif;font-weight:700;}
/* Visible keyboard focus */
a:focus-visible,button:focus-visible,.ls-path:focus-visible,.wp-element-button:focus-visible{outline:2px solid var(--ls-sapphire);outline-offset:2px;}
/* Footer (dark) contrast — lift links + muted text to AA on #0A0A0A */
footer a{color:#e7ebf0;text-decoration:none;}
footer a:hover{color:#fff;text-decoration:underline;}
footer .has-muted-color{color:#aeb6c2;}
/* Constrain line length on the hostage section for readability */
.ls-measure{max-width:46rem;}
/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
}

/* ============================================================
   PAGE COMPONENTS — Detained Abroad & Results (ported from approved previews)
   ============================================================ */
:root{--sapphire:#1F5BC9;--ink:#0A0A0A;--paper:#fff;--muted:#5b6470;--line:#e7e9ee;--wash:#f6f8fb;--sans:"Gilroy","Helvetica Neue",Arial,sans-serif;--serif:"Times New Roman",Times,Georgia,serif;}
.ls-page{font-family:var(--serif);font-size:18px;line-height:1.7;color:var(--ink);}
.ls-page .wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.ls-page h1,.ls-page h2,.ls-page h3{font-family:var(--sans);}
.ls-page .eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--sapphire);font-weight:700;margin:0 0 12px;}
.ls-page .btn{display:inline-block;font-family:var(--sans);font-size:13px;font-weight:700;padding:13px 22px;border-radius:2px;border:1px solid var(--ink);color:var(--ink);text-decoration:none;}
.ls-page .btn.solid{background:var(--ink);color:#fff;}
.ls-page .btn.solid:hover{background:var(--sapphire);border-color:var(--sapphire);}

.ls-page .intro{padding:70px 0 32px;}
.ls-page .intro h1{font-weight:700;font-size:clamp(33px,2rem + 2vw,44px);line-height:1.1;letter-spacing:-.02em;max-width:20ch;margin:0 0 22px;}
.ls-page .intro p{font-size:1.2rem;color:#23282f;max-width:62ch;}
.ls-page .intro .principle{font-family:var(--sans);font-weight:700;font-size:1.22rem;margin-top:24px;}

.ls-page .videohero{background:var(--ink);}
.ls-page .videohero .vid{max-width:1200px;margin:0 auto;}
.ls-page .videohero .vidframe{position:relative;aspect-ratio:16/9;width:100%;background:#0d1116;overflow:hidden;}
.ls-page .videohero .vidframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.ls-page .videohero .cap{max-width:1200px;margin:0 auto;color:#9fb0c4;font-family:var(--sans);font-size:12px;letter-spacing:.04em;padding:10px 28px 16px;}

.ls-page .help{background:var(--wash);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ls-page .help-inner{padding:54px 0;display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.ls-page .help h2{font-size:26px;margin:0 0 12px;}
.ls-page .help p{margin:0 0 14px;font-size:1.02rem;color:#33383f;}
.ls-page .help ol{margin:0;padding-left:1.1em;font-size:1.02rem;color:#33383f;}
.ls-page .help li{margin-bottom:10px;}

.ls-page .cases{padding:60px 0 16px;}
.ls-page .cases .lead-line{max-width:62ch;color:var(--muted);font-size:1.08rem;margin:0 0 8px;}
.ls-page .case{padding:40px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:210px 1fr;gap:36px;}
.ls-page .case .meta .who{font-family:var(--sans);font-weight:700;font-size:20px;line-height:1.2;}
.ls-page .case .meta .loc{font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.ls-page .case .body p{margin:0 0 12px;}
.ls-page .role{font-family:var(--sans);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--sapphire);font-weight:700;margin:0;}
.ls-page .news{font-family:var(--sans);font-size:13px;color:var(--muted);margin:14px 0 0;}
.ls-page .news .lbl{font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:11px;color:#8a94a1;margin-right:6px;}
.ls-page .news a{color:var(--sapphire);text-decoration:none;}.ls-page .news a:hover{text-decoration:underline;}
.ls-page .case .vidframe{position:relative;aspect-ratio:16/9;width:100%;max-width:560px;background:#0d1116;border-radius:3px;overflow:hidden;margin:6px 0 12px;}
.ls-page .case .vidframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

.ls-page .feature,.ls-page .lead{background:var(--ink);color:#e7ebf0;border-radius:4px;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;margin:10px 0;}
.ls-page .feature .txt,.ls-page .lead .txt{padding:38px;}
.ls-page .feature .eyebrow,.ls-page .lead .eyebrow{color:#7fb6fb;}
.ls-page .feature h2,.ls-page .lead h2{font-weight:700;font-size:25px;color:#fff;margin:0 0 6px;line-height:1.2;}
.ls-page .feature .loc,.ls-page .lead .loc{font-family:var(--sans);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#7f8b99;margin:0 0 14px;}
.ls-page .feature p,.ls-page .lead p{color:#c4ccd6;font-size:1.03rem;margin:0 0 12px;}
.ls-page .feature .role,.ls-page .lead .role{color:#7fb6fb;}
.ls-page .feature .news,.ls-page .lead .news{color:#9aa6b4;}
.ls-page .feature .news a,.ls-page .lead .news a{color:#9fc4f7;}
.ls-page .feature .news .lbl,.ls-page .lead .news .lbl{color:#7f8b99;}
.ls-page .feature .photo{background:linear-gradient(160deg,#16202c,#0d1116);display:flex;align-items:flex-end;padding:18px;color:#7f8b99;font-family:var(--sans);font-size:12px;min-height:280px;}
.ls-page .lead .media{background:#0d1116;display:flex;flex-direction:column;justify-content:center;padding:18px;}
.ls-page .lead .media .vf{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:3px;}
.ls-page .lead .media .vf iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.ls-page .lead .media .cap{font-family:var(--sans);font-size:12px;color:#9fb0c4;margin-top:8px;}

.ls-page .current{background:var(--wash);border-top:1px solid var(--line);padding:60px 0;}
.ls-page .current .lead-line{max-width:60ch;color:var(--muted);font-size:1.05rem;}

.ls-page .media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px;}
.ls-page .media-grid .vf{position:relative;aspect-ratio:16/9;background:#0d1116;border-radius:3px;overflow:hidden;}
.ls-page .media-grid .vf iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.ls-page .media-grid .cap{font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--muted);margin-top:7px;}

.ls-page .confidential{background:var(--ink);color:#e7ebf0;padding:64px 0;margin-top:30px;}
.ls-page .confidential h2{font-weight:700;font-size:28px;color:#fff;margin:0 0 14px;}
.ls-page .confidential p{color:#c4ccd6;max-width:60ch;}
.ls-page .confidential ul{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 36px;max-width:820px;}
.ls-page .confidential li{font-family:var(--serif);font-size:1.02rem;color:#c4ccd6;border-left:2px solid #2b3748;padding-left:14px;}
.ls-page .confidential .kicker{font-family:var(--sans);font-weight:700;color:#fff;font-size:1.15rem;margin-top:28px;}

.ls-page .closing{padding:60px 0 80px;border-top:1px solid var(--line);text-align:center;}
.ls-page .closing h2{font-size:28px;margin:0 0 10px;}
.ls-page .closing p{color:var(--muted);font-family:var(--sans);font-size:14px;margin:0 0 22px;}

@media(max-width:820px){
  .ls-page .help-inner,.ls-page .case,.ls-page .feature,.ls-page .lead{grid-template-columns:1fr;gap:20px;}
  .ls-page .feature .photo{min-height:200px;}
  .ls-page .media-grid,.ls-page .confidential ul{grid-template-columns:1fr;}
}

/* Footer brand mark (text wordmark — works on the dark footer) */
.ls-footer-mark{font-family:var(--sans);font-weight:700;font-size:40px;line-height:1;letter-spacing:-.01em;color:#fff;display:inline-block;}
.ls-footer-mark b{color:var(--sapphire);}
.ls-footer-mark .sub{font-weight:600;font-size:25px;letter-spacing:.16em;}

/* ============================================================
   SESSION 3 — global refinements + reusable red-top cards
   ============================================================ */
:root{--ls-red:#D2232A;}

/* Bigger eyebrow / section kicker, site-wide */
.ls-eyebrow{font-size:1rem;letter-spacing:.16em;}
.ls-page .eyebrow{font-size:16px;letter-spacing:.16em;margin-bottom:14px;}

/* Header: match the content width used across the rest of the site (~1080px) */
header.wp-block-group{padding-left:28px;padding-right:28px;}
header.wp-block-group > .wp-block-group{max-width:1080px;margin-left:auto;margin-right:auto;width:100%;}

/* Footer wordmark in a white box (mirrors the logo lockup) */
.ls-footer-mark{background:#fff;color:var(--ls-ink);padding:16px 22px;border-radius:8px;}
.ls-footer-mark .sub{color:var(--ls-ink);}

/* Reusable red-top "30-second case" card grid (matches the Travis Leake design) */
.ls-cardgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:28px 0 10px;}
.ls-cardgrid.cols-3{grid-template-columns:repeat(3,1fr);}
.ls-cardgrid.cols-2{grid-template-columns:repeat(2,1fr);}
.ls-card{background:#fff;border:1px solid var(--line);border-top:4px solid var(--ls-red);border-radius:8px;padding:24px 22px 26px;box-shadow:0 1px 3px rgba(10,10,10,.05);}
.ls-card .num{font-family:var(--sans);font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--sapphire);margin:0 0 10px;}
.ls-card h3{font-family:var(--sans);font-weight:700;font-size:1.06rem;line-height:1.25;color:var(--ink);margin:0 0 10px;}
.ls-card p{font-family:var(--serif);font-size:1rem;line-height:1.55;color:#4a525c;margin:0 0 10px;}
.ls-card p:last-child{margin-bottom:0;}
.ls-card .role{font-family:var(--sans);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sapphire);font-weight:700;}
@media(max-width:1000px){.ls-cardgrid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.ls-cardgrid,.ls-cardgrid.cols-3,.ls-cardgrid.cols-2{grid-template-columns:1fr;}}

/* Generic content pages (Services/About/News) reuse the case-page container + type */
.ls-rich{font-family:var(--serif);color:var(--ink);}
.ls-rich .wrap{max-width:1080px;margin:0 auto;padding:0 28px;}
.ls-rich h2{font-family:var(--sans);font-size:1.7rem;margin:46px 0 10px;}
.ls-rich h3{font-family:var(--sans);}
.ls-rich p{font-size:1.08rem;line-height:1.7;}
.ls-rich .eyebrow{font-family:var(--sans);font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--sapphire);font-weight:700;margin:0 0 12px;}
.ls-rich .intro-lead{font-size:1.2rem;color:#23282f;max-width:62ch;}
