/* Inspired Agent Academy · shared styles for the catalog, course pages and the reader.
   Same tokens as the hand-built pages (index, pre-license). Light backgrounds only. */
:root{
  --paper:#FCFBF8;--sand:#F5F0E5;--sun-wash:#FCF3DF;--gulf-wash:#E9F3F1;
  --navy:#0E2A44;--navy-2:#2E4864;--slate:#6C7A89;--gold:#9E7412;--sun:#D69A2C;
  --sun-lit:#EFBB55;--gulf:#127A70;--coral:#C55C45;--rule:#E4DCCB;--rule-lite:#EFE9DC;
  --lift:0 18px 36px -20px rgba(14,42,68,.32);
  --lift-hi:0 26px 52px -22px rgba(14,42,68,.4);--wide:76rem;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--navy);
  font-family:"Hanken Grotesk",system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;}
img{max-width:100%;}
.shell{max-width:var(--wide);margin:0 auto;padding:0 1.5rem;}
.shell.narrow,.narrow{max-width:50rem;}
.shell.narrow{margin:0 auto;}
section{padding:3.4rem 0;}
.b-sand{background:var(--sand);}
.b-sun{background:var(--sun-wash);}
.b-gulf{background:var(--gulf-wash);}

.tag{font-family:"DM Mono",ui-monospace,monospace;font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.85rem;}
h1{font-family:"Fraunces",Georgia,serif;font-weight:300;
  font-size:clamp(2.2rem,5.4vw,3.8rem);line-height:1.04;letter-spacing:-.01em;margin-bottom:1rem;}
h2{font-family:"Fraunces",Georgia,serif;font-weight:400;
  font-size:clamp(1.65rem,3.4vw,2.4rem);line-height:1.08;margin-bottom:.75rem;}
h3{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.3rem;line-height:1.18;}
h1 em,h2 em{font-style:italic;color:var(--gold);}
.lede{font-size:1.06rem;color:var(--navy-2);line-height:1.58;}
.head{margin-bottom:1.8rem;}
p{color:var(--navy-2);}
a{color:var(--gulf);}

.btn{display:inline-block;font-weight:600;font-size:.96rem;padding:.85rem 1.7rem;
  border-radius:999px;text-decoration:none;border:1.6px solid transparent;cursor:pointer;
  font-family:inherit;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;}
.btn-sun{background:var(--sun);color:var(--navy);}
.btn-sun:hover{background:var(--sun-lit);}
.btn-out{border-color:var(--navy);color:var(--navy);background:transparent;}
.btn-out:hover{background:var(--navy);color:var(--paper);}
.btn:hover{transform:translateY(-2px);box-shadow:var(--lift);}
.btn:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none;}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;}

/* top bar */
.topbar{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:50;}
.topbar .shell{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:center;
  justify-content:space-between;padding-top:.85rem;padding-bottom:.85rem;}
.brand{font-family:"DM Mono",ui-monospace,monospace;font-size:.66rem;letter-spacing:.17em;
  text-transform:uppercase;color:var(--gold);text-decoration:none;}
.brand b{color:var(--navy);font-weight:500;}
.nav{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;align-items:center;}
.nav a{font-size:.86rem;color:var(--navy-2);text-decoration:none;font-weight:500;}
.nav a:hover,.nav a[aria-current]{color:var(--gold);}
.nav .btn{padding:.5rem 1.1rem;font-size:.85rem;color:var(--navy);}

/* crumbs */
.crumbs{font-family:"DM Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--slate);margin-bottom:1.2rem;}
.crumbs a{color:var(--slate);text-decoration:none;border-bottom:1px solid var(--rule);}

/* catalog */
.cat{display:grid;gap:1.3rem;}
@media(min-width:50rem){.cat{grid-template-columns:1fr 1fr;}}
.course{background:var(--paper);border:1px solid var(--rule);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.course:hover{transform:translateY(-4px);box-shadow:var(--lift-hi);border-color:var(--sun);}
.course img{display:block;width:100%;height:clamp(170px,17vw,220px);object-fit:cover;
  object-position:center 32%;border-bottom:1px solid var(--rule);}
.course-in{padding:1.2rem 1.3rem 1.35rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.course .k{font-family:"DM Mono",ui-monospace,monospace;font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gulf);}
.course p{font-size:.93rem;line-height:1.55;}
.course .foot{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--rule-lite);
  display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between;}
.course .go{font-size:.9rem;font-weight:600;color:var(--gold);text-decoration:none;}
.pill{display:inline-block;font-family:"DM Mono",ui-monospace,monospace;font-size:.58rem;
  letter-spacing:.12em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px;
  border:1px solid var(--rule);color:var(--slate);background:var(--paper);}
.pill.live{border-color:rgba(18,122,112,.45);color:var(--gulf);background:var(--gulf-wash);}
.pill.soon{border-color:rgba(214,154,44,.55);color:var(--gold);background:var(--sun-wash);}
.grouphead{font-family:"DM Mono",ui-monospace,monospace;font-size:.63rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold);margin:2.2rem 0 .9rem;padding-bottom:.5rem;
  border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem;}
.grouphead span{color:var(--slate);letter-spacing:.1em;}
.grouphead:first-of-type{margin-top:0;}

/* partner note (The CE Shop) */
.partner{border:1px solid var(--rule);border-left:4px solid var(--gulf);border-radius:14px;
  background:var(--paper);padding:1rem 1.2rem;font-size:.95rem;line-height:1.55;color:var(--navy-2);
  margin-top:1.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;justify-content:space-between;}
.partner b{color:var(--navy);}
.partner a{font-weight:600;color:var(--gulf);text-decoration:none;white-space:nowrap;}

/* course page */
.chero{padding:2.6rem 0 2.2rem;}
.chero-grid{display:grid;gap:2rem;align-items:center;}
@media(min-width:62rem){.chero-grid{grid-template-columns:1.1fr .9fr;gap:3rem;}}
.chero .lede{max-width:36rem;margin-bottom:1.5rem;}
.arch{border-radius:170px 170px 22px 22px;overflow:hidden;box-shadow:0 30px 60px -26px rgba(14,42,68,.42);
  outline:1px solid rgba(214,154,44,.5);outline-offset:-9px;}
.arch img{display:block;width:100%;height:auto;aspect-ratio:4/4.2;object-fit:cover;}
.facts{display:grid;border:1px solid var(--rule);border-radius:16px;overflow:hidden;margin-top:2rem;background:var(--paper);}
@media(min-width:46rem){.facts{grid-template-columns:repeat(4,1fr);}}
.fct{padding:.95rem 1.15rem;border-bottom:1px solid var(--rule);}
@media(min-width:46rem){.fct{border-bottom:none;border-right:1px solid var(--rule);}.fct:last-child{border-right:none;}}
.fct dt{font-family:"DM Mono",ui-monospace,monospace;font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.25rem;}
.fct dd{font-weight:700;font-size:.96rem;}
.two{display:grid;gap:1.2rem;}
@media(min-width:52rem){.two{grid-template-columns:1fr 1fr;}}
.card{background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:1.35rem 1.35rem;}
.card h3{margin-bottom:.6rem;}
.ticks{list-style:none;display:flex;flex-direction:column;gap:.55rem;}
.ticks li{position:relative;padding-left:1.4rem;color:var(--navy-2);font-size:.96rem;line-height:1.5;}
.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:.55rem;height:.55rem;
  border-radius:50%;background:var(--sun);}
.outline{border-top:1px solid var(--rule);margin-top:1.4rem;}
.mod{border-bottom:1px solid var(--rule);padding:1.1rem 0;display:grid;gap:.4rem 1.2rem;}
@media(min-width:46rem){.mod{grid-template-columns:7rem 1fr;}}
.mod .n{font-family:"DM Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);padding-top:.35rem;}
.mod h3{font-size:1.18rem;margin-bottom:.3rem;}
.mod p{font-size:.95rem;}
.mod ul{margin:.45rem 0 0 1.1rem;color:var(--navy-2);font-size:.93rem;}
.mod li{margin:.15rem 0;}
.instructor{display:grid;gap:1rem 1.4rem;align-items:start;}
@media(min-width:46rem){.instructor{grid-template-columns:5.5rem 1fr;}}
.mono{width:5.5rem;height:5.5rem;border-radius:50%;background:var(--sun-wash);border:1px solid var(--sun);
  display:flex;align-items:center;justify-content:center;font-family:"Fraunces",Georgia,serif;
  font-size:1.7rem;color:var(--gold);}
.quiet{font-size:.88rem;color:var(--slate);}

/* forms */
.fld{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem;min-width:0;}
.fld span{font-family:"DM Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);}
.fld input,.fld select,.fld textarea{font-family:inherit;font-size:1rem;padding:.72rem .85rem;
  border:1.5px solid var(--rule);border-radius:11px;background:var(--paper);color:var(--navy);
  width:100%;max-width:100%;min-width:0;}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--sun);
  box-shadow:0 0 0 3px rgba(214,154,44,.18);}
.f2{display:grid;gap:.9rem;}
@media(min-width:38rem){.f2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.hp{position:absolute;left:-9999px;}
form.interest{background:var(--paper);border:1px solid var(--rule);border-radius:18px;padding:1.5rem 1.4rem;margin-top:1.2rem;}

/* faq */
.faq{border-top:1px solid var(--rule);margin-top:1.4rem;}
.qa{border-bottom:1px solid var(--rule);}
.qa summary{cursor:pointer;list-style:none;padding:1.1rem .2rem;font-family:"Fraunces",Georgia,serif;
  font-size:1.1rem;line-height:1.25;display:flex;gap:1rem;justify-content:space-between;align-items:baseline;}
.qa summary::-webkit-details-marker{display:none;}
.qa summary::after{content:"+";color:var(--gold);font-family:"DM Mono",monospace;font-size:1.1rem;flex:none;transition:transform .2s ease;}
.qa[open] summary::after{transform:rotate(45deg);}
.qa .a{padding:0 .2rem 1.15rem;font-size:.97rem;color:var(--navy-2);line-height:1.6;max-width:46rem;}

/* footer */
footer{border-top:1px solid var(--rule);padding:1.6rem 0 3rem;background:var(--paper);}
footer .shell{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;
  font-family:"DM Mono",ui-monospace,monospace;font-size:.63rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--slate);}
footer a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(108,122,137,.4);}
footer a:hover{color:var(--gold);border-bottom-color:var(--sun);}
.family{flex-basis:100%;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:.86rem;
  letter-spacing:0;text-transform:none;color:var(--navy-2);line-height:1.55;margin-top:.9rem;
  padding-top:.9rem;border-top:1px solid var(--rule);}
.family a{color:var(--gulf);border-bottom-color:rgba(18,122,112,.35);}

.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
.rv.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}

/* ---------- reader ---------- */
.reader{display:grid;gap:1.6rem;padding:1.6rem 0 3rem;}
@media(min-width:62rem){.reader{grid-template-columns:17.5rem minmax(0,1fr);gap:2.6rem;}}
.toc{align-self:start;}
@media(min-width:62rem){.toc{position:sticky;top:4.6rem;max-height:calc(100vh - 5.5rem);overflow:auto;}}
.toc-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;}
.toc-head b{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:1.05rem;}
.bar{height:6px;border-radius:99px;background:var(--rule-lite);overflow:hidden;margin:.4rem 0 1rem;}
.bar i{display:block;height:100%;width:0;background:var(--sun);transition:width .3s ease;}
.toc details{border:1px solid var(--rule);border-radius:14px;background:var(--paper);}
.toc summary{cursor:pointer;padding:.75rem 1rem;font-weight:600;font-size:.92rem;list-style:none;}
.toc summary::-webkit-details-marker{display:none;}
@media(min-width:62rem){.toc summary{display:none;}}
.toc ol{list-style:none;padding:.2rem .6rem .8rem;}
.toc .m{font-family:"DM Mono",ui-monospace,monospace;font-size:.58rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold);padding:.8rem .4rem .3rem;}
.toc .crumbs a{display:inline;padding:0;border-radius:0;font-size:.62rem;}
.toc ol a{display:flex;gap:.55rem;align-items:flex-start;padding:.42rem .45rem;border-radius:9px;
  font-size:.9rem;color:var(--navy-2);text-decoration:none;line-height:1.35;}
.toc ol a:hover{background:var(--sand);}
.toc a[aria-current="true"]{background:var(--sun-wash);color:var(--navy);font-weight:600;}
.toc a .dot{flex:none;width:.95rem;height:.95rem;margin-top:.12rem;border-radius:50%;border:1.5px solid var(--rule);}
.toc a.done .dot{background:var(--gulf);border-color:var(--gulf);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-size:100%;}
.lesson{max-width:44rem;}
.lesson .where{font-family:"DM Mono",ui-monospace,monospace;font-size:.62rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gold);margin-bottom:.6rem;}
.lesson h2{margin-bottom:1rem;}
.prose p,.prose li{font-size:1.02rem;line-height:1.7;color:var(--navy-2);}
.prose p{margin-bottom:1rem;}
.prose h3{margin:1.6rem 0 .6rem;}
.prose ul,.prose ol{margin:0 0 1.1rem 1.25rem;}
.prose li{margin:.3rem 0;}
.prose b,.prose strong{color:var(--navy);}
.prose .say{border-left:3px solid var(--sun);background:var(--sun-wash);padding:.85rem 1.1rem;
  border-radius:0 12px 12px 0;margin:0 0 1rem;font-family:"Fraunces",Georgia,serif;font-size:1.08rem;
  color:var(--navy);line-height:1.5;}
.prose .try{border:1px dashed var(--gulf);background:var(--gulf-wash);border-radius:14px;padding:1rem 1.15rem;margin:1.2rem 0;}
.prose .try b{display:block;font-family:"DM Mono",ui-monospace,monospace;font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gulf);margin-bottom:.35rem;}
.prose .try p:last-child,.prose .try ul:last-child{margin-bottom:0;}
.prose pre{white-space:pre-wrap;background:var(--sand);border:1px solid var(--rule);border-radius:12px;
  padding:1rem 1.1rem;font-family:"DM Mono",ui-monospace,monospace;font-size:.82rem;line-height:1.6;
  color:var(--navy);margin:0 0 1rem;}
.prose table{width:100%;border-collapse:collapse;margin:0 0 1.2rem;font-size:.92rem;}
.prose th,.prose td{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--rule);vertical-align:top;color:var(--navy-2);}
.prose th{font-family:"DM Mono",ui-monospace,monospace;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);}
.tablewrap{overflow-x:auto;}
.check{border:1px solid var(--rule);border-radius:16px;padding:1.2rem 1.2rem .6rem;margin:1.6rem 0;background:var(--paper);}
.check .tag{margin-bottom:.4rem;}
.q{margin-bottom:1rem;}
.q p.qt{font-weight:600;color:var(--navy);margin-bottom:.5rem;}
.q label{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .7rem;border:1px solid var(--rule-lite);
  border-radius:10px;margin-bottom:.4rem;cursor:pointer;font-size:.95rem;color:var(--navy-2);}
.q label:hover{border-color:var(--sun);}
.q input{margin-top:.3rem;accent-color:var(--gulf);}
.q label.right{border-color:var(--gulf);background:var(--gulf-wash);}
.q label.wrong{border-color:var(--coral);background:#FBEDE9;}
.q .why{font-size:.92rem;margin:.3rem 0 .2rem;color:var(--navy-2);}
.q .why[hidden]{display:none;}
.calc{border:1px solid var(--rule);border-radius:16px;padding:1.2rem;margin:1.2rem 0;background:var(--paper);}
.calc .f2{margin-bottom:.4rem;}
.calc output{display:block;font-family:"Fraunces",Georgia,serif;font-size:1.1rem;color:var(--navy);line-height:1.5;}
.lnav{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center;
  border-top:1px solid var(--rule);margin-top:2rem;padding-top:1.3rem;}
.done-card{text-align:left;}
.certificate{border:1px solid var(--sun);outline:1px solid rgba(214,154,44,.4);outline-offset:-8px;
  border-radius:18px;padding:2rem 1.6rem;margin:1.4rem 0;background:var(--paper);text-align:center;}
.certificate .who{font-family:"Fraunces",Georgia,serif;font-size:clamp(1.6rem,4vw,2.3rem);color:var(--navy);margin:.6rem 0;}
.certificate p{font-size:.95rem;}
/* Marketing & Brand track: compact, photo-free cards so ten courses read as one set */
.mk-intro{max-width:44rem;margin:0 0 1.3rem;}
.mk-intro h2{font-size:clamp(1.5rem,3.2vw,2.1rem);margin-bottom:.5rem;}
.mk-intro p{color:var(--navy-2);font-size:.98rem;}
.mk-intro a{color:var(--gulf);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(18,122,112,.35);}
@media(min-width:68rem){.cat.mkcat{grid-template-columns:repeat(3,1fr);}}
.course.mk{border-top:3px solid var(--sun);background:linear-gradient(180deg,var(--sun-wash),var(--paper) 5.5rem);}
.course.mk h3{font-size:1.2rem;}
.course.mk p{font-size:.9rem;}
.studio{margin-top:1.4rem;padding:.8rem 1rem;border:1px solid var(--rule);border-left:3px solid var(--sun);border-radius:12px;background:var(--paper);}
.studio a{color:var(--gulf);font-weight:600;text-decoration:none;white-space:nowrap;}

@media print{
  .topbar,.toc,.lnav,footer,.noprint{display:none!important;}
  .reader{display:block;padding:0;}
  body{background:#fff;}
}

/* Access: free first chapter, the rest with enrollment (2026-09-29). Calm, never alarming. */
.lk-i{display:inline-block;vertical-align:-2px;}
.mod .n .free,.mod .n .lk{display:block;margin-top:.35rem;font-size:.56rem;letter-spacing:.12em;}
.mod .n .free{color:var(--gulf);}
.mod .n .lk{color:var(--slate);}
.mod.locked h3{color:var(--navy-2);}
.mod.locked ul{color:var(--slate);}
.enroll{background:linear-gradient(180deg,var(--paper),var(--sun-wash));border:1px solid var(--rule);
  border-top:3px solid var(--sun);border-radius:18px;padding:1.6rem 1.6rem 1.4rem;box-shadow:var(--lift);}
.enroll .tag{margin-bottom:.6rem;}
.enroll h3{font-size:clamp(1.3rem,2.6vw,1.6rem);margin-bottom:.55rem;}
.enroll h3 em{font-style:italic;color:var(--gold);}
.enroll p{font-size:.97rem;}
.enroll .cta-row{margin-top:1rem;}
.enroll .price{margin-top:.7rem;color:var(--navy);}
.enroll .inr{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--rule);font-size:.9rem;color:var(--navy);}
.enroll .inr a{color:var(--gulf);font-weight:600;text-decoration:none;white-space:nowrap;}
.toc li.lkd a{color:var(--slate);}
.toc .lk-dot{flex:none;width:.95rem;display:inline-flex;justify-content:center;margin-top:.1rem;color:var(--slate);}
#locked .outline{margin-top:1rem;}
