/* Truss subpage styles — shared by privacy/, terms/, demo/ */
:root{
  --navy-900:#081726; --navy-800:#0B1E33; --navy-700:#102A45; --navy-600:#1B3A5B;
  --ink:#16263A; --slate:#48596B; --slate-2:#6B7C8C;
  --bg:#FFFFFF; --bg-soft:#F4F7FA; --line:#E3E9F0;
  --gold:#C2A15B; --gold-deep:#A8853F; --gold-soft:rgba(194,161,91,.14);
  --white:#FFFFFF; --maxw:1160px; --radius:4px;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;}
h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.015em;text-wrap:balance;}
h3,h4{font-family:'Manrope','Inter',sans-serif;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'Inter',sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--gold);display:inline-block;}

/* Each button's shadow is the color its hover used to turn it; hovering changes nothing but the cursor. */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-weight:700;font-size:15px;padding:14px 26px;border-radius:3px;cursor:pointer;border:1.5px solid transparent;letter-spacing:.01em;}
/* A solid right triangle the height of the text */
.btn .arr{display:inline-block;width:0;height:0;border-top:.375em solid transparent;border-bottom:.375em solid transparent;border-left:.65em solid currentColor;}
.btn-gold{background:var(--gold);color:var(--navy-900);box-shadow:0 4px 0 var(--gold-deep);}

.nav{position:sticky;top:0;z-index:50;background:rgba(8,23,38,.92);backdrop-filter:blur(10px);border-top:3px solid var(--gold);border-bottom:1px solid rgba(255,255,255,.08);}
.nav .container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;}  /* 14px above and below the 60px logo */
.brand{display:flex;align-items:center;}
.brand img{height:60px;width:auto;display:block;}
.nav-cta .btn{padding:11px 20px;font-size:14px;}

.page-head{background:linear-gradient(180deg,var(--navy-800) 0%,var(--navy-700) 100%);color:#fff;padding:64px 0;}
.page-head h1{font-size:clamp(2rem,4.5vw,3rem);color:#fff;margin:16px 0 10px;}
.page-head .meta{font-size:14px;color:rgba(255,255,255,.6);}
.page-head p.sub{font-size:18px;color:rgba(255,255,255,.78);max-width:560px;margin-top:14px;line-height:1.6;}

.page-body{padding:72px 0 96px;}
.legal{max-width:780px;margin:0 auto;}
.legal h2{font-size:28px;margin:44px 0 14px;color:var(--ink);}
.legal h2:first-child{margin-top:0;}
.legal h3{font-size:17px;font-weight:700;margin:26px 0 10px;}
.legal p{margin-bottom:14px;color:var(--slate);font-size:16px;}
.legal ul{margin:0 0 14px 22px;color:var(--slate);font-size:16px;}
.legal li{margin-bottom:8px;}
.legal a{color:var(--navy-700);border-bottom:1px solid var(--gold);}

footer{background:var(--navy-900);color:rgba(255,255,255,.5);padding:28px 0;font-size:11px;letter-spacing:.1em;text-transform:uppercase;}
footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
footer a{color:rgba(255,255,255,.7);}
footer a:hover{color:#fff;}

/* Demo page */
.demo-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start;}
.demo-copy h2{font-size:24px;margin:36px 0 14px;}
.demo-copy h2:first-child{margin-top:0;}
.demo-steps{list-style:none;counter-reset:s;margin:0 0 8px;}
.demo-steps li{counter-increment:s;position:relative;padding:0 0 18px 44px;color:var(--slate);font-size:16px;}
.demo-steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:'Manrope';font-weight:800;font-size:13px;color:var(--gold);letter-spacing:.06em;}
.demo-why{list-style:none;margin:0;}
.demo-why li{display:flex;gap:12px;padding:7px 0;color:var(--ink);font-size:15.5px;}
.demo-why li svg{width:20px;height:20px;flex:0 0 20px;margin-top:3px;stroke:var(--navy-600);}
/* Calendly booking embed: a 1px outline around Calendly's white page, whose own header (logo, photo, name, event
   details) the widget's hide_event_type_details=1 removes. data-resize on the widget makes widget.js set its height
   to Calendly's page, so nothing scrolls inside it. From 650px wide Calendly draws its own bordered card inside the
   page, so the frame stops at 640px inside its border (measured 2026-10-22). */
.calendly-frame{width:100%;max-width:642px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.calendly-inline-widget{width:100%;}
.calendly-inline-widget iframe{display:block;}

@media(max-width:920px){
  .demo-grid{grid-template-columns:1fr;gap:40px;}
  .page-head{padding:48px 0;}
  .page-body{padding:48px 0 64px;}
}

/* Centered page header (demo page) */
.page-head.center{text-align:center;}
.page-head.center .eyebrow{justify-content:center;}
.page-head.center h1{margin-left:auto;margin-right:auto;max-width:820px;}
.page-head.center p.sub{margin-left:auto;margin-right:auto;}

/* Merged nav + page header (demo page) — one continuous dark band */
.merged-head{position:relative;background:linear-gradient(180deg,var(--navy-800) 0%,var(--navy-700) 100%);border-top:3px solid var(--gold);}
.merged-head .nav{position:static;background:transparent;backdrop-filter:none;border-top:none;border-bottom:none;}
.merged-head .page-head{background:transparent;padding-top:40px;}

/* Articles (/articles and /articles/{slug}) */
.page-head .eyebrow:hover{color:#fff;}
.page-head .meta{margin-top:6px;}
.article{max-width:720px;margin:0 auto;}
.article p{font-size:17.5px;line-height:1.75;color:var(--slate);margin-bottom:20px;}
.article h2{font-size:30px;line-height:1.2;color:var(--ink);margin:52px 0 16px;}
.article h3{font-size:19px;font-weight:700;color:var(--navy-800);margin:32px 0 10px;}
.article ul,.article ol{margin:0 0 20px 22px;color:var(--slate);font-size:17.5px;line-height:1.7;}
.article li{margin-bottom:10px;padding-left:4px;}
.article strong{color:var(--ink);font-weight:600;}
.article a{color:var(--navy-700);border-bottom:1px solid var(--gold);}
.article a:hover{border-bottom-width:2px;}

/* Booking section at the end of an article */
.book{background:var(--bg-soft);border-top:1px solid var(--line);padding:80px 0 96px;}
.book-head{text-align:center;max-width:640px;margin:0 auto 36px;}
.book-head .eyebrow{justify-content:center;}
.book-head h2{font-size:clamp(1.8rem,3.6vw,2.4rem);color:var(--ink);margin:14px 0 12px;}
.book-head p{font-size:17px;color:var(--slate);line-height:1.6;}

/* Article cards on /articles (index.html has its own copy for the home page) */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.article-card{display:flex;flex-direction:column;background:var(--bg-soft);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);padding:26px 24px;transition:transform .15s ease,border-color .15s ease;}
.article-card:hover{transform:translateY(-2px);border-color:var(--navy-600);border-top-color:var(--gold);}
.article-card .read-time{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:12px;}
.article-card h2{font-family:'Manrope','Inter',sans-serif;font-size:19px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--ink);margin-bottom:8px;}
.article-card p{font-size:14.5px;color:var(--slate);line-height:1.55;margin-bottom:18px;}
.article-card .more{margin-top:auto;font-family:'Manrope',sans-serif;font-weight:700;font-size:14px;color:var(--navy-800);}

@media(max-width:920px){
  .article-grid{grid-template-columns:1fr;}
  .article h2{font-size:26px;margin-top:40px;}
  .book{padding:56px 0 64px;}
}
