/* ===== AbsoluteAIAlfred — shared styles ===== */
:root{
  --black:#05070a;
  --navy:#0b0f16;
  --navy-2:#10151f;
  --gold:#d4af37;
  --gold-bright:#f2cd6b;
  --text:#e9e7de;
  --muted:#9aa1ac;
  --line:rgba(212,175,55,0.18);
  --danger:#7c1d1d;
  --radius:14px;
  --maxw:1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:radial-gradient(1200px 600px at 50% -10%, #131a26 0%, var(--black) 55%) fixed, var(--black);
  color:var(--text);
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.brand{
  font-family:'Cinzel', Georgia, serif;
  letter-spacing:0.02em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.muted{color:var(--muted);}
.gold{color:var(--gold);}

/* Nav */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(5,7,10,0.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav .container{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;}
.brand{font-size:20px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px;}
.brand .bat{width:22px;height:22px;color:var(--gold);}
.nav-links{display:flex;gap:28px;align-items:center;font-size:14px;}
.nav-links a{color:var(--muted);transition:color .2s;}
.nav-links a:hover{color:var(--gold);}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border-radius:8px;font-weight:600;font-size:15px;
  border:1px solid transparent;cursor:pointer;transition:all .2s;
}
.btn-primary{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#171106;box-shadow:0 8px 24px rgba(212,175,55,0.22);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(212,175,55,0.32);}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--text);}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

/* Hero */
.hero{position:relative;padding:120px 0 90px;overflow:hidden;text-align:center;}
.hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(600px 300px at 50% 0%, rgba(212,175,55,0.14), transparent 70%);
  pointer-events:none;
}
.eyebrow{
  display:inline-block;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--gold);border:1px solid var(--line);padding:6px 14px;border-radius:999px;margin-bottom:24px;
}
.hero h1{font-size:clamp(36px,6vw,64px);line-height:1.1;margin:0 0 20px;color:var(--text);}
.hero h1 span{color:var(--gold);}
.hero p.lead{font-size:19px;color:var(--muted);max-width:640px;margin:0 auto 36px;}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.bat-glow{width:130px;height:130px;margin:0 auto 32px;opacity:0.9;color:var(--gold);filter:drop-shadow(0 0 40px rgba(212,175,55,0.35));}

/* Sections */
section{padding:80px 0;}
.section-head{text-align:center;max-width:680px;margin:0 auto 56px;}
.section-head .eyebrow{margin-bottom:16px;}
.section-head h2{font-size:clamp(28px,4vw,40px);margin:0 0 14px;}
.section-head p{color:var(--muted);font-size:17px;}

/* Pillars */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.pillar{
  background:linear-gradient(180deg,var(--navy),var(--navy-2));
  border:1px solid var(--line);border-radius:var(--radius);padding:32px 24px;text-align:left;
  transition:transform .2s, border-color .2s;
}
.pillar:hover{transform:translateY(-4px);border-color:var(--gold);}
.pillar .num{font-family:'Cinzel',serif;color:var(--gold);font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;display:block;}
.pillar h3{margin:0 0 10px;font-size:20px;}
.pillar p{color:var(--muted);font-size:15px;margin:0;}

/* Manifesto / Worker + AI */
.manifesto{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--navy);
}
.manifesto .container{max-width:820px;text-align:center;}
.manifesto h2{font-size:clamp(24px,3.4vw,34px);margin-bottom:18px;}
.manifesto p{color:var(--muted);font-size:17px;}

/* Services / What Alfred Does */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.service{
  background:var(--navy-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:34px 26px;
}
.service .icon{width:40px;height:40px;color:var(--gold);margin-bottom:18px;}
.service h3{margin:0 0 10px;font-size:19px;}
.service p{color:var(--muted);font-size:15px;margin:0 0 14px;}
.service ul{margin:0;padding-left:18px;color:var(--muted);font-size:14px;}
.service li{margin-bottom:6px;}

/* Who it's for */
.audience{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.audience-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.audience-list li{display:flex;gap:12px;align-items:flex-start;color:var(--text);font-size:15px;}
.check{width:20px;height:20px;flex:none;color:var(--gold);margin-top:2px;}
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;}
.tag{border:1px solid var(--line);color:var(--muted);font-size:13px;padding:6px 12px;border-radius:999px;}

/* Founder */
.founder{background:var(--navy);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.founder .container{max-width:760px;}
.founder blockquote{
  font-family:'Cinzel',serif;font-size:clamp(20px,2.6vw,26px);line-height:1.5;color:var(--text);
  margin:0 0 22px;font-style:normal;
}
.founder cite{color:var(--gold);font-style:normal;font-size:14px;letter-spacing:.04em;}

/* Final CTA */
.final-cta{text-align:center;}
.final-cta h2{font-size:clamp(28px,4vw,42px);margin-bottom:16px;}
.final-cta p{color:var(--muted);margin-bottom:34px;}

/* Footer */
footer{border-top:1px solid var(--line);padding:36px 0;}
footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
footer .muted{font-size:13px;}

/* Forms (book a demo) */
.form-wrap{max-width:560px;margin:0 auto;background:var(--navy);border:1px solid var(--line);border-radius:var(--radius);padding:44px;}
.field{margin-bottom:20px;}
.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:8px;letter-spacing:.02em;}
.field input,.field select,.field textarea{
  width:100%;padding:13px 14px;background:var(--black);border:1px solid var(--line);border-radius:8px;
  color:var(--text);font-size:15px;font-family:inherit;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);}
.form-note{font-size:13px;color:var(--muted);text-align:center;margin-top:18px;}
.form-wrap .btn-primary{width:100%;}

/* Thank you */
.thanks-box{max-width:640px;margin:0 auto;text-align:center;}
.thanks-icon{width:64px;height:64px;margin:0 auto 26px;color:var(--gold);}
.steps{text-align:left;display:grid;gap:16px;margin:36px 0;}
.step{display:flex;gap:16px;align-items:flex-start;background:var(--navy);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;}
.step .n{font-family:'Cinzel',serif;color:var(--gold);font-weight:700;font-size:15px;}

@media (max-width:860px){
  .pillars{grid-template-columns:repeat(2,1fr);}
  .services{grid-template-columns:1fr;}
  .audience{grid-template-columns:1fr;}
  .nav-links{display:none;}
}

/* ===== v2 additions — SEO/GEO page components ===== */

/* Breadcrumbs */
.crumbs{font-size:13px;color:var(--muted);margin-bottom:22px;}
.crumbs a{color:var(--muted);}
.crumbs a:hover{color:var(--gold);}
.crumbs span{color:var(--gold);}

/* Subpage hero */
.page-hero{padding:70px 0 30px;text-align:left;}
.page-hero h1{font-size:clamp(28px,4.6vw,44px);line-height:1.15;margin:0 0 16px;}
.page-hero h1 span{color:var(--gold);}
.page-hero .lead{font-size:18px;color:var(--muted);max-width:720px;margin:0 0 26px;}

/* Answer-first callout (GEO) */
.answer-box{
  border-left:3px solid var(--gold);
  background:var(--navy);
  border-radius:0 var(--radius) var(--radius) 0;
  padding:20px 24px;margin:26px 0;
  font-size:16px;color:var(--text);max-width:760px;
}
.answer-box strong{color:var(--gold);}

/* Definition block (entity building) */
.definition{
  background:linear-gradient(180deg,var(--navy),var(--navy-2));
  border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 32px;max-width:820px;margin:0 auto;
}
.definition h3{margin:0 0 10px;font-size:18px;color:var(--gold);}
.definition p{margin:0;color:var(--text);font-size:16px;}

/* Question sections */
.qa-section{max-width:820px;margin:0 auto 54px;}
.qa-section h2{font-size:clamp(22px,3vw,30px);margin:0 0 14px;}
.qa-section p{color:var(--muted);font-size:16px;}
.qa-section ul{color:var(--muted);font-size:15px;padding-left:20px;}
.qa-section li{margin-bottom:8px;}

/* Division of labor split */
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:900px;margin:0 auto;}
.split-col{background:var(--navy-2);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;}
.split-col.gold-edge{border-color:var(--gold);}
.split-col h3{margin:0 0 16px;font-size:17px;}
.split-col h3 .tagline{display:block;font-family:'Inter',sans-serif;font-weight:400;font-size:13px;color:var(--muted);letter-spacing:0;margin-top:4px;}
.split-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.split-col li{display:flex;gap:10px;font-size:14.5px;color:var(--muted);}
.split-col li .check{margin-top:1px;}

/* FAQ (native accordion, crawlable) */
.faq-wrap{max-width:820px;margin:0 auto;}
.faq-item{border:1px solid var(--line);border-radius:10px;background:var(--navy);margin-bottom:12px;padding:0 20px;}
.faq-item summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 0;font-weight:600;font-size:15.5px;color:var(--text);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--gold);font-size:20px;flex:none;}
.faq-item[open] summary::after{content:"\2013";}
.faq-item .faq-a{padding:0 0 18px;color:var(--muted);font-size:15px;}

/* Alfred-at-work chat card */
.chatcard{
  max-width:460px;margin:34px auto 0;text-align:left;
  background:var(--navy);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 22px 18px;box-shadow:0 20px 60px rgba(0,0,0,0.45);
}
.chatcard .stamp{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;justify-content:space-between;}
.bubble{border-radius:12px;padding:11px 14px;font-size:14px;margin-bottom:10px;max-width:88%;}
.bubble.lead-msg{background:var(--navy-2);border:1px solid var(--line);color:var(--text);}
.bubble.alfred-msg{background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.35);color:var(--text);margin-left:auto;}
.bubble .who{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.chatcard .note{font-size:12px;color:var(--muted);margin:8px 0 0;text-align:center;}

/* Hours comparison bars */
.hours{max-width:560px;margin:40px auto 0;display:grid;gap:14px;text-align:left;}
.hours .row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:14px;font-size:13px;color:var(--muted);}
.hours .bar{height:14px;border-radius:99px;background:var(--navy-2);border:1px solid var(--line);position:relative;overflow:hidden;}
.hours .bar i{position:absolute;inset:0;border-radius:99px;display:block;}
.hours .bar.full i{width:100%;background:linear-gradient(90deg,#3a2f16,#6b5518);}
.hours .bar.short i{width:25%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));}
.hours .cap{font-size:12px;color:var(--muted);text-align:center;}

/* Related pages */
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto;}
.related a{
  background:var(--navy-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:24px 22px;transition:border-color .2s, transform .2s;display:block;
}
.related a:hover{border-color:var(--gold);transform:translateY(-3px);}
.related h3{margin:0 0 8px;font-size:16px;}
.related p{margin:0;color:var(--muted);font-size:13.5px;}
.related .go{display:inline-block;margin-top:12px;color:var(--gold);font-size:13px;font-weight:600;}

/* Steps grid (how it works) */
.method{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.method .m-step{background:var(--navy-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;}
.method .m-step .n{font-family:'Cinzel',serif;color:var(--gold);font-size:13px;letter-spacing:.14em;display:block;margin-bottom:12px;}
.method .m-step h3{margin:0 0 8px;font-size:17px;}
.method .m-step p{margin:0;color:var(--muted);font-size:14px;}

@media (max-width:860px){
  .split-grid{grid-template-columns:1fr;}
  .related{grid-template-columns:1fr;}
  .method{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .method{grid-template-columns:1fr;}
}

/* Honeypot — invisible spam trap on the demo form. Must stay hidden. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* Footer legal / contact line */
.foot-legal{font-size:13px;}
.foot-legal a{color:var(--muted);border-bottom:1px solid var(--line);transition:color .2s,border-color .2s;}
.foot-legal a:hover{color:var(--gold);border-color:var(--gold);}
.form-note a{color:var(--gold);}

/* Legal / prose pages (privacy policy) */
.legal{max-width:760px;margin:0 auto;}
.legal h2{font-size:clamp(20px,2.6vw,26px);margin:38px 0 12px;}
.legal h2:first-of-type{margin-top:0;}
.legal p,.legal li{color:var(--muted);font-size:15.5px;}
.legal ul{padding-left:20px;}
.legal li{margin-bottom:8px;}
.legal a{color:var(--gold);}
.legal .updated{font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 14px;display:inline-block;margin-bottom:8px;}
.legal .todo{background:rgba(124,29,29,0.18);border:1px solid #7c1d1d;border-radius:10px;padding:16px 18px;margin:22px 0;}
.legal .todo strong{color:var(--text);}
.legal .todo p{margin:6px 0 0;font-size:14px;}

/* 404 */
.err-code{font-family:'Cinzel',serif;font-size:clamp(64px,14vw,120px);line-height:1;color:var(--gold);margin:0 0 8px;opacity:.9;}

/* ===== Language switcher ===== */
.lang-switch{position:relative;}
.lang-switch .lang-trigger{
  display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);
  border:1px solid var(--line);padding:8px 12px;border-radius:8px;cursor:pointer;
  user-select:none;transition:border-color .2s,color .2s;
}
.lang-switch .lang-trigger:hover{border-color:var(--gold);color:var(--gold);}
.lang-switch .lang-trigger svg{width:15px;height:15px;color:var(--gold);}
.lang-switch .lang-menu{
  display:none;position:absolute;right:0;top:calc(100% + 8px);
  background:var(--navy);border:1px solid var(--line);border-radius:8px;
  min-width:170px;padding:6px;font-size:13px;z-index:60;
  box-shadow:0 12px 30px rgba(0,0,0,.5);
}
.lang-switch.open .lang-menu{display:block;}
.lang-switch .lang-menu a{display:block;padding:8px 10px;border-radius:6px;color:var(--text);}
.lang-switch .lang-menu a:hover{background:rgba(212,175,55,.08);}
.lang-switch .lang-menu a.on{color:var(--gold);background:rgba(212,175,55,.08);}
.nav-right{display:flex;align-items:center;gap:16px;}
@media (max-width:860px){
  .lang-switch .lang-trigger{padding:7px 10px;}
}

/* ===== Sales / Business mode switch ===== */
.alfred-switch {
  display: inline-flex;
  flex-shrink: 0;
  border: 1px solid currentColor;
  border-radius: 999px;
  overflow: hidden;
  opacity: 0.75;
}
.alfred-switch-btn {
  background: transparent;
  border: 0;
  color: inherit;
  font: inherit;
  font-size: 13px;
  padding: 6px 14px;
  cursor: pointer;
  line-height: 1;
  white-space: nowrap;
}
.alfred-switch-btn[aria-pressed="true"] {
  font-weight: 700;
  box-shadow: inset 0 -2px 0 currentColor;
}
/* Phone fix (Option 4, approved 24 Aug 2026).
   Below 860px the nav bar wraps and the switch gets its own centred row,
   so it can never be squeezed to an empty oval. */
@media (max-width: 860px) {
  .nav .container { flex-wrap: wrap; row-gap: 10px; }
  .nav .container::after { content: ""; flex-basis: 100%; height: 0; order: 2; }
  .alfred-switch { order: 3; margin: 0 auto; flex-shrink: 0; }
}

/* Tiny phones: pill side padding drops from 14px to 8px so the longest
   label still fits inside the button. */
@media (max-width: 400px) {
  .alfred-switch-btn { padding: 6px 8px; }
}

/* ===== Sales / Business mode hide rules — must stay last ===== */
html[data-alfred-mode="sales"]    [data-mode="business"] { display: none !important; }
html[data-alfred-mode="business"] [data-mode="sales"]    { display: none !important; }