/* AVORA⁸ shared styles. Brand colors: Deep Navy #0C1821, Bronze #A86F4A, Light Bronze #D3A27C,
   Caribbean Teal #537275, Warm Ivory #EFE4D6, Cream #F7F1EA, Slate Blue #90A2B2. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: #F7F1EA; color: #0C1821; font-family: 'Jost', system-ui, sans-serif; }
img { max-width: 100%; }
a { color: #8A5A3A; }
a:hover { color: #0C1821; }
:focus-visible { outline: 2px solid #A86F4A; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }

.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; background: #D3A27C; color: #0C1821; padding: 10px 16px; font-weight: 500; text-decoration: none; }
.skip-link:focus { top: 12px; }

/* Header */
.site-header { position: relative; z-index: 50; background: #0C1821; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px clamp(20px, 5vw, 72px); border-bottom: 1px solid rgba(239,228,214,0.14); }
.brand img { height: 60px; width: auto; display: block; }
.nav-desktop { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; font-size: 14px; letter-spacing: 0.06em; }
.nav-desktop a, .nav-mobile nav a { color: #EFE4D6; text-decoration: none; }
.nav-desktop a:hover, .nav-mobile nav a:hover { color: #D3A27C; }
.nav-desktop a[aria-current="page"], .nav-mobile nav a[aria-current="page"] { color: #D3A27C; }
.nav-desktop a.nav-cta, .nav-mobile nav a.nav-cta { color: #0C1821; background: #D3A27C; padding: 12px 20px; border-radius: 2px; font-weight: 500; min-height: 44px; display: inline-flex; align-items: center; }
.nav-desktop a.nav-cta:hover, .nav-mobile nav a.nav-cta:hover { background: #E2B898; color: #0C1821; }
.nav-mobile { display: none; }
.nav-mobile summary { list-style: none; cursor: pointer; color: #EFE4D6; font-size: 15px; letter-spacing: 0.08em; display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 4px; }
.nav-mobile summary::-webkit-details-marker { display: none; }
.nav-mobile .bars, .nav-mobile .bars::before, .nav-mobile .bars::after { display: block; width: 22px; height: 2px; background: #D3A27C; position: relative; }
.nav-mobile .bars::before, .nav-mobile .bars::after { content: ""; position: absolute; left: 0; }
.nav-mobile .bars::before { top: -7px; } .nav-mobile .bars::after { top: 7px; }
.nav-mobile nav { position: absolute; left: 0; right: 0; top: 100%; background: #0C1821; display: flex; flex-direction: column; gap: 0; padding: 8px clamp(20px, 5vw, 72px) 24px; border-top: 1px solid rgba(239,228,214,0.14); box-shadow: 0 18px 30px rgba(12,24,33,0.35); }
.nav-mobile nav a { padding: 14px 0; border-bottom: 1px solid rgba(239,228,214,0.12); font-size: 17px; }
.nav-mobile nav a.nav-cta { margin-top: 18px; justify-content: center; border-bottom: none; }
@media (max-width: 1080px) {
  .nav-desktop { display: none; }
  .nav-mobile { display: block; }
  .brand img { height: 52px; }
}

/* Footer */
.site-footer { background: #0C1821; color: #C9D3DC; padding: 56px clamp(20px, 5vw, 72px) 32px; border-top: 1px solid rgba(201,211,220,0.12); }
.footer-inner { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 40px; }
.footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 40px; }
.footer-brand { display: flex; flex-direction: column; gap: 16px; max-width: 340px; }
.footer-brand img { height: 92px; width: auto; align-self: flex-start; }
.footer-tag { margin: 0; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22px; color: #D3A27C; font-style: italic; }
.footer-cols { display: flex; flex-wrap: wrap; gap: 40px 64px; font-size: 15px; }
.footer-col { display: flex; flex-direction: column; gap: 10px; }
.footer-col a, .footer-col span { color: #EFE4D6; text-decoration: none; }
.footer-col a:hover { color: #D3A27C; }
.footer-col .footer-h { font-size: 12px; letter-spacing: 0.28em; text-transform: uppercase; color: #90A2B2; margin-bottom: 4px; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 22px; border-top: 1px solid rgba(201,211,220,0.18); font-size: 13px; color: #90A2B2; }
.footer-bottom a { color: #90A2B2; }

/* Embedded, gradient-faded section images (shared) */
.emb { position: absolute; top: 0; bottom: 0; background-size: cover; background-repeat: no-repeat; }
.emb-edge { position: absolute; inset: 0; pointer-events: none; }
.fade-down { -webkit-mask-image: linear-gradient(180deg,#000 45%,transparent 100%); mask-image: linear-gradient(180deg,#000 45%,transparent 100%); }
@media (max-width: 820px) {
  .emb { position: relative !important; display: block; width: 100% !important; height: 300px; -webkit-mask-image: linear-gradient(180deg,#000 55%,transparent 100%) !important; mask-image: linear-gradient(180deg,#000 55%,transparent 100%) !important; }
  .emb + .emb-edge { display: none; }
}

/* Forms */
.field { font: inherit; font-size: 16px; padding: 14px 16px; border: 1px solid rgba(12,24,33,0.3); background: #FFFFFF; border-radius: 2px; color: #0C1821; width: 100%; }
.field:focus { outline: 2px solid #A86F4A; outline-offset: 1px; border-color: #A86F4A; }
.hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.btn-dark { font: inherit; background: #0C1821; color: #F7F1EA; border: none; padding: 18px 30px; font-weight: 500; font-size: 15px; letter-spacing: 0.04em; border-radius: 2px; min-height: 52px; cursor: pointer; }
.btn-dark:hover { background: #1F3344; }

/* Simple content pages (privacy, thanks) */
.prose { max-width: 760px; margin: 0 auto; padding: clamp(40px, 5vw, 72px) clamp(20px, 5vw, 32px); font-size: 17px; line-height: 1.75; color: #3A4652; }
.prose h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(40px, 5vw, 58px); line-height: 1.05; color: #0C1821; margin: 0 0 12px; }
.prose h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: 28px; color: #0C1821; margin: 36px 0 8px; }
.prose ul { padding-left: 20px; }
.prose .meta { font-size: 14px; color: #8A5A3A; letter-spacing: 0.04em; }

/* Insights articles */
.emb-art{right:0;width:56%;-webkit-mask-image:linear-gradient(270deg,#000 40%,rgba(0,0,0,0.55) 65%,transparent 100%);mask-image:linear-gradient(270deg,#000 40%,rgba(0,0,0,0.55) 65%,transparent 100%)}
.article{max-width: 720px; margin: 0 auto; padding: clamp(40px, 5vw, 72px) clamp(20px, 5vw, 32px) clamp(48px, 6vw, 88px); font-size: 19px; line-height: 1.8; color: #2E3A46;}
.article p{margin: 0 0 22px;}
.article .lede{font-size: 22px; line-height: 1.65; color: #0C1821;}
.article .lede::first-letter{font-family: 'Cormorant Garamond', Georgia, serif; float: left; font-size: 78px; line-height: 0.82; padding: 8px 12px 0 0; color: #A86F4A;}
.article h2{font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; font-size: clamp(30px, 3.2vw, 38px); line-height: 1.15; color: #0C1821; margin: 52px 0 16px;}
.article .beat{font-family: 'Cormorant Garamond', Georgia, serif; font-size: 30px; font-style: italic; color: #8A5A3A; margin: 4px 0 26px;}
.article .pull{margin: 36px 0; padding: 26px 0 26px 28px; border-left: 3px solid #A86F4A; font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(26px, 2.8vw, 32px); line-height: 1.3; color: #0C1821;}
.article .compare{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; margin: 8px 0 30px;}
.article .compare div{padding: 22px 24px; border-radius: 4px; display: flex; flex-direction: column; gap: 6px;}
.article .compare .k{font-size: 12px; letter-spacing: 0.26em; text-transform: uppercase;}
.article .compare .q{font-family: 'Cormorant Garamond', Georgia, serif; font-size: 24px; line-height: 1.25;}
.article .steps{list-style: none; counter-reset: s; margin: 10px 0 30px; padding: 0; display: flex; flex-direction: column;}
.article .steps li{counter-increment: s; display: grid; grid-template-columns: 52px 1fr; gap: 6px 16px; padding: 20px 0; border-top: 1px solid rgba(12,24,33,0.14);}
.article .steps li:last-child{border-bottom: 1px solid rgba(12,24,33,0.14);}
.article .steps li::before{content: counter(s); grid-row: span 2; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 44px; line-height: 1; color: #A86F4A;}
.article .steps strong{font-weight: 500; color: #0C1821; font-size: 20px;}
.article .steps span{font-size: 17px; line-height: 1.7;}
.article .question{margin: 40px 0 30px; background: #0C1821; color: #F7F1EA; padding: clamp(28px, 4vw, 44px); border-radius: 4px; position: relative; overflow: hidden;}
.article .question .k{font-size: 12px; letter-spacing: 0.28em; text-transform: uppercase; color: #D3A27C; margin: 0 0 12px;}
.article .question p.q{font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(26px, 3vw, 34px); line-height: 1.3; margin: 0;}
.article .closing{font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(28px, 3vw, 36px); line-height: 1.25; color: #0C1821; margin-top: 8px;}
.article .closing em{color: #8A5A3A;}
.byline{display: flex; align-items: center; gap: 14px;}
.byline img{width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: center 12%; background: #EFE4D6; border: 1px solid rgba(211,162,124,0.6);}
.article .disciplines{list-style:none;margin:10px 0 30px;padding:0;display:flex;flex-direction:column}
.article .disciplines li{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-top:1px solid rgba(12,24,33,0.14)}
.article .disciplines li:last-child{border-bottom:1px solid rgba(12,24,33,0.14)}
.article .disciplines strong{display:block;font-weight:500;color:#0C1821;font-size:20px;margin-bottom:2px}
.article .disciplines span.t{font-size:17px;line-height:1.7}
.article .asks{list-style:none;margin:6px 0 26px;padding:0}
.article .asks li{position:relative;padding:10px 0 10px 30px;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.3;color:#0C1821}
.article .asks li::before{content:'';position:absolute;left:4px;top:21px;width:10px;height:10px;border-radius:50%;background:#A86F4A}
.article .asks li.key{color:#8A5A3A;font-style:italic}
.related{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;align-items:center;text-decoration:none;color:#0C1821}
.related .img{height:220px;background-size:cover;background-position:center 30%;-webkit-mask-image:linear-gradient(90deg,#000 60%,transparent 100%);mask-image:linear-gradient(90deg,#000 60%,transparent 100%)}
@media (max-width:720px){.related{grid-template-columns:1fr}.related .img{-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 60%,transparent 100%)}}

/* Signature AVORA Insight callouts */
.signature{position:relative;overflow:hidden;margin:44px 0;background:#0C1821;color:#F7F1EA;padding:clamp(30px,4vw,52px) clamp(26px,4vw,48px);border-radius:4px;box-shadow:0 18px 40px rgba(12,24,33,0.18)}
.signature::before{content:'';position:absolute;left:-10%;right:-10%;top:-120px;height:220px;border-radius:50%;border-bottom:2px solid rgba(168,111,74,0.55)}
.signature .label{position:relative;display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:0.3em;text-transform:uppercase;color:#D3A27C;margin:10px 0 16px}
.signature .label::before{content:'';width:28px;height:1px;background:#D3A27C}
.signature blockquote{position:relative;margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(28px,3.2vw,38px);line-height:1.22;color:#F7F1EA}
.signature blockquote .em{color:#D3A27C;font-style:italic}
.signature .by{position:relative;display:block;margin-top:16px;font-size:13px;letter-spacing:0.06em;color:#90A2B2}
.article .voices{margin:4px 0 26px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.article .voices li{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:26px;line-height:1.3;color:#8A5A3A}
.sig-grid .signature{margin:0}
.sig-grid .signature blockquote{font-size:clamp(24px,2.2vw,28px)}
.article .lede{display:flow-root}

/* AVORA Eight circular icon with number overlay */
.p8-badge{position:relative;flex:none;width:48px;height:48px;border-radius:50%;background:#0C1821;color:#D3A27C;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(12,24,33,0.16)}.p8-badge .num{position:absolute;top:-6px;right:-8px;min-width:24px;height:24px;padding:0 4px;box-sizing:border-box;border-radius:12px;background:#A86F4A;color:#F7F1EA;font-size:10px;font-weight:500;display:flex;align-items:center;justify-content:center;border:2px solid #EFE4D6}
.p8-sm{width:42px;height:42px}.p8-sm .num{border-color:#F7F1EA;min-width:22px;height:22px;top:-5px;right:-8px}
