/* =====================================================================
   cog_craft.css — consolidated Cognitive Craftsman stylesheet
   Version: V2

   Consolidates:
   - proylaw_style.css
   - style (1).css / Cognitive Craftsman skin
   - shared and page-specific CSS formerly embedded in the four HTML heads

   Visual direction:
   - Proy Law typography and readable sizing
   - Cognitive Craftsman palette: Daintree #012435, Corn Harvest #906A30,
     Romance #FDFDFD
   ===================================================================== */

/* =====================================================================
   style_V2.css â€” Cognitive Craftsman site skin
   Purpose:
   - Keep the Cognitive Craftsman color scheme and identity
   - Mirror the Proy Law site structure, spacing, typography, and layout
   - Preserve legacy selectors so older HTML continues to render cleanly
   ===================================================================== */

/* ---- Legacy baseline (compatibility) ---- */
body{
  padding:0;
  margin:0;
  background-color:#FDFDFD;
}

table{ border-collapse:collapse; border:0; }

table, td{
  width:100%;
  height:100%;
  border:0;
}

td{ vertical-align:top; padding:0; }

a:hover{ text-decoration:none; }

img{
  border:0;
  max-width:100%;
  height:auto;
}

.main_text, table, li, input, textarea{
  font-size:large;
  color:#4C4C4C;
  text-align:justify;
}

/* ---- Theme tokens ---- */
:root{
  --brand-blue:#012435;      /* mapped to Cognitive Craftsman ink */
  --brand-ink:#012435;       /* Daintree */
  --brand-accent:#906A30;    /* Corn Harvest */
  --brand-paper:#FDFDFD;     /* Romance */
  --brand-black:#000000;

  --text:#4C4C4C;
  --bg:var(--brand-paper);
  --muted:#6A6A6A;
  --card-border:rgba(1,36,53,0.18);
  --focus:var(--brand-accent);

  --body-font:'Trebuchet MS','Segoe UI',Tahoma,Verdana,Arial,Helvetica,sans-serif;
  --logo-font:'Goudy Old Style', var(--body-font);

  --wrap-min:980px;
  --wrap-fluid:92vw;
  --wrap-max:1400px;

  --radius-lg:16px;
  --radius-md:12px;
  --img-radius:12px;
}

*, *::before, *::after{ box-sizing:border-box; }

html{ font-size:18px; }

body{
  font-family:var(--body-font);
  font-size:1rem;
  line-height:1.65;
  color:var(--text);
  background:var(--bg);
  font-weight:400;
}

p, li, .sidebar-card, .site-footer{
  font-size:1rem;
  line-height:1.65;
  font-weight:400;
}

.main_text, table, li, input, textarea, select, button,
.style1,.style2,.style3,.style4,.style5,.style6,.style7,.style8,.style9,.style10,.style11,.style12{
  font-family:var(--body-font);
}

/* ---- Links ---- */
a,
a:visited{
  color:var(--brand-ink);
  text-decoration:none;
  border-bottom:1px solid rgba(1,36,53,0.42);
  padding-bottom:0.02em;
  text-underline-offset:0.15em;
}

a:hover,
a:active{
  color:var(--brand-accent);
  border-bottom-color:rgba(144,106,48,0.65);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:2px;
  border-radius:10px;
}

.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  background:var(--brand-paper);
  color:var(--brand-ink);
  padding:10px 14px;
  border:2px solid var(--brand-ink);
  border-radius:12px;
}
.skip-link:focus{
  left:12px;
  top:12px;
  z-index:9999;
}

/* ---- Headings ---- */
h1,h2,h3,h4,h5,h6{
  font-family:inherit;
  font-size:1em;
  font-weight:inherit;
  line-height:1.65;
  margin:0 0 1rem;
  color:inherit;
}

/* ---- Layout ---- */
.site-wrap{
  width:100%;
  max-width:clamp(var(--wrap-min), var(--wrap-fluid), var(--wrap-max));
  margin:0 auto;
  padding:24px 16px 48px;
}

.layout{
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  grid-template-areas:"sidebar main";
  gap:34px;
  align-items:start;
}

.sidebar{ grid-area:sidebar; }
.main-content{ grid-area:main; min-width:0; }

@media (max-width: 900px){
  .site-wrap{ padding:16px 14px 40px; }
  .layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "main"
      "sidebar";
    gap:22px;
  }
}

/* ---- Logos / sidebar ---- */
.logo-block{ margin:6px 0 14px; }
.logo,
.logo-link{
  display:block;
  border-bottom:0 !important;
  text-decoration:none !important;
}
.logo-link svg{ display:block; width:100%; max-width:260px; height:auto; }

.sidebar-card{
  background:#FFFFFF;
  border:1px solid var(--card-border);
  border-radius:var(--radius-lg);
  padding:16px 18px;
  margin:0 0 18px;
  box-shadow:0 1px 2px rgba(0,0,0,0.06);
  text-align:left;
}

.sidebar-card,
.sidebar-card *{
  font-weight:400;
}

.card-title{
  margin:0 0 10px;
  font-weight:700;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.02em;
  text-align:center;
  color:var(--brand-ink);
}

.book-link{
  display:block;
  text-align:center;
  border:1px solid var(--card-border);
  border-radius:var(--radius-md);
  padding:10px;
  border-bottom:1px solid var(--card-border);
}
.book-link:hover{ border-color:rgba(1,36,53,0.35); }
.book-link img{ border-radius:10px; }

.vcard{ text-align:left; }
.nowrap{ white-space:nowrap; }
@media (max-width:420px){ .nowrap{ white-space:normal; } }

.vcard .fn.org{
  font-weight:700;
  margin:0 0 8px;
  color:var(--brand-ink);
}
.vcard .adr{ margin:0 0 10px; }

/* ---- Header / navigation ---- */
.main-header,
.site-nav{
  margin:56px 0 24px;
}

.site-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:nowrap;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.site-nav a{
  display:inline-block;
  padding:6px 6px;
  font-size:1.3rem;
  font-weight:700;
  white-space:nowrap;
  border-bottom:0;
}

.site-nav a:hover{ color:var(--brand-accent); }

@media (max-width:700px){
  .main-header,
  .site-nav{ margin:26px 0 18px; }

  .site-nav ul{
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
  }

  .site-nav a{
    padding:10px 10px;
    font-size:1.15rem;
  }
}

/* ---- Main content ---- */
.content{ text-align:justify; }
@media (max-width:700px){ .content{ text-align:left; } }

.content p{ margin:0 0 1rem; }

.content ul{
  list-style:disc;
  margin:0 0 1rem 1.3rem;
  padding:0;
}
.content ol{
  margin:0 0 1rem 1.3rem;
  padding:0;
}
.content li{ margin:0.35rem 0; }

.content img{ border-radius:var(--img-radius); }
a.logo img,
a.logo-link img{ border-radius:0; box-shadow:none; }

.page-title{
  margin:0 0 0.6rem;
  color:var(--brand-ink);
}
.page-subtitle{
  margin:0 0 1.2rem;
  color:var(--brand-accent);
}
.gold{ color:var(--brand-accent); }

.card{
  background:#FFFFFF;
  border:1px solid var(--card-border);
  border-radius:var(--radius-lg);
  padding:16px 18px;
  margin:16px 0 0;
  box-shadow:0 1px 2px rgba(0,0,0,0.06);
}

.small{ font-size:0.9rem; }
.muted{ color:var(--muted); }
.tm{ font-size:0.8em; vertical-align:super; }

/* ---- Forms ---- */
.form-field{ margin:0 0 10px; }

input[type=text], input[type=email], input[type=tel], textarea, .sidebar-card form input[type=text], .sidebar-card form input[type=email], .sidebar-card form input[type=tel], .sidebar-card form textarea{
  width:100%;
  box-sizing:border-box;
  padding:10px 12px;
  font-size:1rem;
  font-family:var(--body-font);
  border:1px solid var(--card-border);
  border-radius:12px;
  background:#FFFFFF;
  color:var(--text);
  margin:6px 0;
}

textarea,
.sidebar-card form textarea{
  min-height:120px;
  resize:vertical;
}

::placeholder{ color:#666666; opacity:1; }
.sidebar-card form textarea::placeholder{ white-space:normal; }

.btn-primary, .sidebar-card form input[type=submit], .sidebar-card form button[type=submit]{
  display:inline-block;
  width:100%;
  box-sizing:border-box;
  margin-top:10px;
  padding:10px 12px;
  font-size:1rem;
  font-family:var(--body-font);
  border:none;
  border-radius:14px;
  background:var(--brand-ink);
  color:#FFFFFF;
  font-weight:700;
  cursor:pointer;
  transition:background-color 150ms ease, filter 150ms ease;
}

.btn-primary:hover, .sidebar-card form input[type=submit]:hover, .sidebar-card form button[type=submit]:hover{
  background:var(--brand-accent);
}

.contact-honeypot,
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  top:auto !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.form-notice,
.contact-form-note{
  margin-top:10px;
  color:#b00020;
  font-size:0.85rem;
  font-weight:400;
  text-align:center;
}

/* ---- Footer ---- */
.site-footer{
  margin-top:28px;
  text-align:center;
}
.site-footer p{ margin:0 0 10px; }

.footer-sep{
  margin:0 6px;
  color:var(--muted);
}

.footer-logo-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
  margin-top:12px;
}

.footer-logo-row a,
.footer-logo-link,
.footer-logo-link:link,
.footer-logo-link:visited,
.footer-logo-link:hover,
.footer-logo-link:active{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  border-bottom:0 !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  line-height:0;
}

.footer-logo-row svg,
.footer-logo-link svg{
  display:block;
  height:75px;
  width:auto;
  max-width:100%;
}

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

/* ---- Legacy utility classes retained ---- */
.h_text{ color:#4C4C4C; }
.h2_text{ color:#4C4C4C; }

.l_text{ color:#A2A2A2; text-decoration:none; }
.l_text:hover{ color:var(--brand-accent); }

.c_text{ color:#BFBFBF; font-size:9px; line-height:13px; }
.c2_text{ color:#7F7F7F; font-size:9px; line-height:13px; }
.c2_text a{ color:var(--brand-ink); }

.fs{ font-size:9px; }
.tt{ text-transform:uppercase; }

.no_class, form, .no_class td{
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  border:0;
}

.line{ background:#BFBFBF; height:1px; }

.bg{
  background:#FFFFFF;
  padding:3px 0 3px 2px;
  display:block;
  color:#929292;
  text-decoration:none;
}
.bg:hover{
  background:#F3EEE7;
  color:var(--brand-accent);
}

li a{
  color:var(--brand-ink);
  text-decoration:none;
}
li a:hover{ color:var(--brand-accent); }

.style-image{
  margin:5px;
  border-radius:var(--img-radius);
  box-shadow:0 1px 2px rgba(0,0,0,0.08);
}

b, strong,
.green-initiatives-link{
  font-weight:400;
}
/* Top logos: force stacked layout sitewide */
.logo-row{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  gap:8px !important;
  margin:14px auto 22px !important;
  flex-wrap:nowrap !important;
}

.logo-row a,
.logo-row a:link,
.logo-row a:visited,
.logo-row a:hover,
.logo-row a:active{
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-decoration:none !important;
  text-decoration-line:none !important;
  border-bottom:0 !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  -webkit-text-decoration:none !important;
  line-height:0 !important;
}

.logo-row a::before,
.logo-row a::after{
  content:none !important;
}

.proy-logo-link svg,
.proy-logo-link img{
  display:block !important;
  margin:0 auto !important;
  width:198px !important;
  height:67.5px !important;
  max-width:100% !important;
}

.cc-logo-link svg,
.cc-logo-link img{
  display:block !important;
  margin:0 auto !important;
  width:auto !important;
  height:113.85px !important;
  max-width:100% !important;
}

.footer-logo-link svg,
.footer-logo-link img{
  display:block !important;
  height:75px !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.footer-logo-link.footer-hobbies-logo svg,
.footer-logo-link.footer-hobbies-logo img{
  display:block !important;
  height:90px !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 auto !important;
}
.footer-logo-row{
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:16px !important;
  flex-wrap:nowrap !important;
  margin-top:12px !important;
}

.footer-logo-link,
.footer-logo-link:link,
.footer-logo-link:visited,
.footer-logo-link:hover,
.footer-logo-link:active{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  border-bottom:0 !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
  line-height:0 !important;
}

.footer-logo-link::before,
.footer-logo-link::after{
  content:none !important;
}

.footer-logo-link svg,
.footer-logo-link img{
  display:block !important;
  height:75px !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
}

.footer-logo-link.footer-hobbies-logo svg,
.footer-logo-link.footer-hobbies-logo img{
  display:block !important;
  height:90px !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
}

/* =====================================================================
   Proy Law compatibility rules retained from the supplied proylaw_style.css
   where they add behavior not already present in the Cognitive Craftsman skin.
   ===================================================================== */
.content img.headshot{
  float:right;
  width:283px;
  max-width:45%;
  margin:0 0 12px 18px;
  border-radius:10px;
}

@media (max-width:700px){
  .content img.headshot{
    float:none;
    width:100%;
    max-width:100%;
    margin:0 0 16px;
  }
}

.form{ height:20px; margin-top:1px; }
.form input{ width:201px; height:17px; padding-left:5px; font-size:10px; }
textarea{ overflow:auto; }

.cognitive-craftsman-book-cover{
  display:block;
  width:auto;
  height:207px;
  min-height:207px;
  max-height:none;
  max-width:100%;
  object-fit:contain;
  margin-left:auto;
  margin-right:auto;
}

/* Former shared HTML head rules: layout consistency */
:root{
  --brand-ink:#012435;
  --brand-accent:#906A30;
  --brand-paper:#FDFDFD;
}
.logo-row{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:8px;
  margin:14px auto 22px;
  flex-wrap:nowrap;
}
.logo-row a,.logo-row a:link,.logo-row a:visited,.logo-row a:hover,.logo-row a:active{
  text-decoration:none!important;
  text-decoration-line:none!important;
  border-bottom:0!important;
  background:none!important;
  background-image:none!important;
  box-shadow:none!important;
  -webkit-text-decoration:none!important;
  line-height:0!important;
}
.logo-row a::before,.logo-row a::after{content:none!important;}
.logo-row a{display:block;margin-left:auto;margin-right:auto;}
.proy-logo-link img,.proy-logo-link svg{width:198px!important;height:67.5px!important;max-width:100%!important;display:block;margin:0 auto;}
.cc-logo-link svg{height:113.85px!important;width:auto!important;max-width:100%!important;display:block;margin:0 auto;}
.site-nav{margin:56px 0 24px;background:var(--brand-paper);}
.site-nav a,.site-nav a:visited{color:var(--brand-ink)!important;border-bottom:0!important;transition:color .18s ease;}
.site-nav a:hover,.site-nav a:focus-visible,.site-nav a:active{color:var(--brand-accent)!important;border-bottom:0!important;}
.page-title-wrap{text-align:center;margin:0.75rem 0 0.25rem;}
.page-title-wrap.tool-title{margin:0;font-weight:800;font-size:2rem;line-height:1.2;}
@media (max-width: 650px){.page-title-wrap.tool-title{font-size:1.65rem;}}
.site-footer{text-align:center;}
.site-footer p{margin:0.5rem 0;}
.footer-link-line{margin-bottom:0.35rem;}
.footer-service-line em{font-style:italic;}
.footer-copyright{font-weight:400;color:inherit;}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

/* Former index-page marketing rules (safe sitewide union) */
.cc-hero{margin:0 auto 1.65rem;padding:1.45rem 1.25rem;border:1px solid rgba(144,106,48,.35);border-radius:18px;background:linear-gradient(180deg,rgba(144,106,48,.12),rgba(255,255,255,.82));box-shadow:0 8px 22px rgba(1,36,53,.06);}
.cc-kicker{margin:0 0 .45rem;font-size:.86rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-accent,#906A30);}
.cc-hero h1{margin:.15rem 0 .95rem;line-height:1.12;letter-spacing:-.015em;}
.cc-hero-title{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.62rem;max-width:920px;margin-left:auto!important;margin-right:auto!important;color:var(--brand-ink,#012435);}
.cc-hero-title .cc-title-line{display:block;font-size:clamp(1.55rem,3.1vw,2.65rem);font-weight:900;line-height:1.12;letter-spacing:-.025em;text-wrap:balance;}
.cc-hero-title .cc-title-amp{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:999px;border:1px solid rgba(144,106,48,.36);background:rgba(255,255,255,.72);color:var(--brand-accent,#906A30);font-family:Georgia,serif;font-size:1.2rem;font-weight:700;line-height:1;box-shadow:0 6px 16px rgba(1,36,53,.07);}
.cc-hero-title .cc-title-subline{display:block;max-width:820px;font-size:clamp(1.08rem,1.9vw,1.48rem);font-weight:400;line-height:1.38;letter-spacing:-.01em;text-wrap:balance;color:rgba(1,36,53,.92);}
.cc-lede{font-size:1.08rem;line-height:1.65;margin:.6rem 0 0;color:var(--brand-ink,#012435);}
.cc-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;}
.cc-button{display:inline-block;padding:.72rem 1rem;border-radius:999px;border:1px solid rgba(1,36,53,.25);text-decoration:none!important;font-weight:700;line-height:1.1;}
.cc-button.primary{background:var(--brand-ink,#012435);color:#fff!important;border-color:var(--brand-ink,#012435);}
.cc-button.secondary{background:#fff;color:var(--brand-ink,#012435)!important;}
.cc-section{margin:1.45rem 0;}
.cc-section h2{margin-top:0;line-height:1.22;letter-spacing:-.01em;}
.cc-section>p{line-height:1.66;}
.cc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0;}
.cc-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.cc-subcard{padding:1.05rem;border:1px solid rgba(1,36,53,.14);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(1,36,53,.06);}
.cc-subcard h3{margin:.1rem 0 .5rem;color:var(--brand-ink,#012435);line-height:1.25;}
.cc-subcard p{margin:.4rem 0;line-height:1.58;}
.cc-series-panel{margin-top:1.2rem;padding:1.08rem;border:1px solid rgba(1,36,53,.14);border-radius:18px;background:linear-gradient(180deg,#fff,rgba(144,106,48,.045));box-shadow:0 10px 24px rgba(1,36,53,.07);}
.cc-series-panel h2{margin:.1rem 0 .85rem;font-size:1.18rem;line-height:1.25;color:var(--brand-ink,#012435);letter-spacing:-.01em;}
.cc-series-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem .9rem;margin:.25rem 0 0;padding:0!important;list-style:none!important;}
.cc-series-list>*,.cc-series-list li{position:relative;padding:.78rem .88rem;border:1px solid rgba(144,106,48,.28);border-radius:15px;background:rgba(255,255,255,.78);box-shadow:0 6px 16px rgba(1,36,53,.045);line-height:1.42;font-weight:700;color:var(--brand-ink,#012435);list-style:none!important;}
.cc-series-list>*::before,.cc-series-list>*::after,.cc-series-list li::before,.cc-series-list li::after{content:none!important;display:none!important;}
.cc-series-list>*::marker,.cc-series-list li::marker{content:""!important;font-size:0!important;}
.cc-process-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;}
.cc-process-list li{padding:.75rem;border:1px solid rgba(144,106,48,.25);border-radius:14px;background:rgba(144,106,48,.07);}
.cc-process-list strong{display:block;color:var(--brand-ink,#012435);}
.cc-accordion{border:1px solid rgba(1,36,53,.16);border-radius:16px;background:#fff;margin:.9rem 0;overflow:hidden;box-shadow:0 8px 22px rgba(1,36,53,.06);}
.cc-accordion summary{cursor:pointer;padding:1rem 1.1rem;font-weight:700;color:var(--brand-ink,#012435);background:rgba(1,36,53,.045);line-height:1.35;}
.cc-accordion summary::marker{color:var(--brand-accent,#906A30);}
.cc-accordion summary:focus{outline:2px solid var(--brand-accent,#906A30);outline-offset:2px;}
.cc-accordion-content{padding:0 1.1rem 1.1rem;}
.cc-accordion-content p,.cc-accordion-content li{line-height:1.6;}
.cc-accordion-content ol{padding-left:1.35rem;}
.cc-note{font-size:.94rem;line-height:1.55;border-left:4px solid var(--brand-accent,#906A30);padding:.85rem 1rem;background:rgba(144,106,48,.08);border-radius:12px;margin:1rem 0;}
.cc-lp-note{font-size:1rem;text-align:center;border-left:0;border-top:1px solid rgba(144,106,48,.28);border-bottom:1px solid rgba(144,106,48,.18);box-shadow:0 8px 20px rgba(1,36,53,.055);}
.cc-lp-note strong{color:var(--brand-ink,#012435);}
.cc-disclaimer{font-size:.91rem;line-height:1.55;}
@media (max-width:850px){.cc-grid,.cc-grid.two,.cc-process-list,.cc-series-list{grid-template-columns:1fr}.cc-hero{padding:1.1rem}.cc-hero-title{gap:.5rem}.cc-hero-title .cc-title-amp{width:2rem;height:2rem;font-size:1rem}.cc-cta-row{display:block}.cc-button{margin:.35rem .35rem .35rem 0}}

/* Former licensing-page rules (safe sitewide union) */
.license-kicker{font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--brand-accent);margin-bottom:.25rem;}
.license-summary{font-size:1.05rem;line-height:1.65;}
.license-callout{border-left:4px solid var(--brand-accent);padding:0.9rem 1rem;margin:1rem 0;background:#fffdf8;}
.mark-list{columns:2;column-gap:2rem;}
.mark-list li{break-inside:avoid;margin-bottom:.35rem;}
@media (max-width:700px){.mark-list{columns:1;}}

/* Former shared accessibility rules */
/* Responsive overflow safeguards for legacy fixed-width content. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

.book-link {
  display: block;
  max-width: 100%;
}

.book-link img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
}

/* Focus and motion safeguards added during final production polish. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Proy Law self-hosted typography — authoritative final layer */
/*
 * Proy self-hosted typography overrides â€” final embedded production rules.
 * V1 visual refinement: use only declared font weights and a balanced responsive scale.
 * Keep this block after all other page styles.
 * No Google Fonts API or third-party font service is used.
 */

@font-face {
  font-family: "Fraunces Proy";
  src: url("https://www.proylaw.com/fonts/fraunces-latin-900-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

@font-face {
  font-family: "Della Respira Proy";
  src: url("https://www.proylaw.com/fonts/della-respira-latin-400-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "EB Garamand Proy";
  src: url("https://www.proylaw.com/fonts/eb-garamond-latin-400-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "EB Garamand Proy";
  src: url("https://www.proylaw.com/fonts/eb-garamond-latin-400-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "EB Garamand Proy";
  src: url("https://www.proylaw.com/fonts/eb-garamond-latin-700-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "EB Garamand Proy";
  src: url("https://www.proylaw.com/fonts/eb-garamond-latin-700-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 700;
  font-display: swap;
}

:root {
  --proy-font-title: "Fraunces Proy", Copperfield-Typecase, Georgia, serif;
  --proy-font-subtitle: "Della Respira Proy", Gazette, Georgia, serif;
  --proy-font-body: "EB Garamand Proy", Garamand, Palatino, Georgia, serif;

  --proy-type-body: 1rem;
  --proy-type-small: 0.9rem;
  --proy-type-nav: 1.3rem;
  --proy-type-h1: clamp(2rem, 3.6vw, 2.8rem);
  --proy-type-h2: clamp(1.5rem, 2.35vw, 1.8rem);
  --proy-type-h3: clamp(1.22rem, 1.65vw, 1.38rem);
}

/*
 * Preserve the internal family name "EB Garamand Proy".
 * The spelling is intentional for compatibility with the existing CSS.
 */

html {
  font-size: 19px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--proy-font-body);
}

body {
  font-size: var(--proy-type-body);
  font-weight: 400;
  line-height: 1.62;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

/* General reading text, controls, navigation, footer, and legacy classes */
p,
li,
dt,
dd,
td,
th,
blockquote,
address,
figcaption,
label,
legend,
.site-footer,
.site-footer a,
nav,
nav a,
.style1,
.style2,
.style3,
.style4,
.style5,
.style6,
.style7,
.style8,
.style9,
.style10,
.style11,
.style12 {
  font-family: var(--proy-font-body);
}

p,
li,
dt,
dd,
td,
th,
blockquote,
address,
figcaption,
label,
legend {
  line-height: 1.62;
}

strong,
b {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

/* Primary page titles: the supplied Fraunces file contains only weight 900. */
h1,
.page-title,
.page-title-wrap h1,
.hero-title,
h1.tool-title,
h1.auto-style2,
h1.auto-style3,
.h_text {
  font-family: var(--proy-font-title);
  font-size: var(--proy-type-h1);
  font-weight: 900;
  font-style: normal;
  line-height: 1.09;
  letter-spacing: -0.018em;
  text-wrap: balance;
}

/* Secondary headings: Della Respira is supplied at its native weight 400 only. */
h2,
h2.auto-style3,
.subtitle,
.sub-title,
.section-title,
h2.tool-title,
.contact-profile-card h2,
.h2_text {
  font-family: var(--proy-font-subtitle);
  font-size: var(--proy-type-h2);
  font-weight: 400;
  font-style: normal;
  line-height: 1.22;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

h3,
h4,
h5,
h6 {
  font-family: var(--proy-font-subtitle);
  font-weight: 400;
  font-style: normal;
  line-height: 1.28;
  text-wrap: balance;
}

h3 { font-size: var(--proy-type-h3); }
h4 { font-size: 1.16rem; }
h5 { font-size: 1.06rem; }
h6 { font-size: 1rem; }

/* Navigation and utility text */
.site-nav,
.site-nav a {
  font-size: var(--proy-type-nav);
  line-height: 1.35;
}

.site-nav a,
.sitemap-links a,
.card-title,
.cc-button,
.cc-accordion summary,
.cc-series-list > *,
.cc-series-list li,
.license-kicker {
  font-weight: 700;
}

small,
.small,
.auto-style1 {
  font-size: var(--proy-type-small);
  line-height: 1.48;
}

/* Cognitive Craftsman hero: remove unavailable synthetic 850/650/800 weights. */
.cc-kicker {
  font-family: var(--proy-font-body);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.085em;
}

.cc-hero-title .cc-title-line {
  font-family: var(--proy-font-title);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  font-style: normal;
  line-height: 1.08;
  letter-spacing: -0.022em;
}

.cc-hero-title .cc-title-amp {
  font-family: var(--proy-font-subtitle);
  font-weight: 400;
}

.cc-hero-title .cc-title-subline {
  font-family: var(--proy-font-subtitle);
  font-size: clamp(1.12rem, 1.9vw, 1.45rem);
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: -0.006em;
}

.cc-lede,
.license-summary {
  font-size: 1.1rem;
  line-height: 1.62;
}

.cc-section h2 {
  font-size: var(--proy-type-h2);
}

.cc-series-panel h2 {
  font-size: clamp(1.38rem, 2vw, 1.62rem);
}

.cc-subcard h3 {
  font-size: clamp(1.2rem, 1.55vw, 1.34rem);
}

.cc-button,
.cc-accordion summary,
.cc-series-list > *,
.cc-series-list li {
  font-weight: 700;
}

.page-subtitle {
  font-family: var(--proy-font-subtitle);
  font-size: clamp(1.14rem, 1.65vw, 1.3rem);
  font-weight: 400;
  line-height: 1.42;
}

.license-kicker {
  font-size: 0.9rem;
  line-height: 1.35;
  letter-spacing: 0.055em;
}

.sitemap-card h2 {
  font-size: clamp(1.32rem, 1.8vw, 1.52rem);
}

.sitemap-links a {
  font-weight: 700;
  line-height: 1.42;
}

/* Controls should not fall back to the browser's undersized default UI text. */
button,
input,
select,
textarea {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
}

button, input[type=button], input[type=submit], input[type=reset] {
  font-weight: 700;
}

::placeholder {
  font: inherit;
  opacity: 0.72;
}

.site-footer,
.site-footer p,
.site-footer a {
  font-size: 0.94rem;
  font-weight: 400;
  line-height: 1.5;
}

.footer-copyright {
  font-weight: 400;
}

/* Preserve readable monospace treatment for technical text. */
code,
pre,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
}

/* =====================================================================
   Final consolidated typography and navigation safeguards
   ===================================================================== */
body,
.main_text,
.content,
.content p,
.content li,
.sidebar-card,
.site-footer{
  font-family:var(--proy-font-body);
}

body,
.content p,
.content li,
.sidebar-card{
  font-size:1rem;
}

.site-nav a,
.site-nav a:visited{
  font-family:var(--proy-font-body);
  font-size:1.3rem;
  font-weight:700;
  color:var(--brand-ink)!important;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a:active{
  color:var(--brand-accent)!important;
}

@media (max-width:700px){
  html{ font-size:18px; }
  .site-nav a,
  .site-nav a:visited{ font-size:1.15rem; }
}
