@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --green:#143D30; --deep-green:#0D2820; --ivory:#F5EBDD; --espresso:#2A1608; --bronze:#7A4618;
  --gold:#B9781E; --soft:#F0C15A; --sand:#D8C5A3; --ink:#221A14;
  --line:rgba(216,197,163,.34); --forest:url('/bnb-golden-valley-bg.jpg');
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:95px; }
body {
  margin:0; isolation:isolate; color:var(--ivory); background:var(--espresso);
  font:400 16px/1.65 Manrope,system-ui,sans-serif; -webkit-font-smoothing:antialiased;
}
/* The founder requires the original forest across every page and section. */
body::before { content:''; position:fixed; inset:0; z-index:-2; background:var(--forest) center/cover no-repeat; pointer-events:none; }
body::after { content:''; position:fixed; inset:0; z-index:-1; background:linear-gradient(110deg,rgba(42,22,8,.83),rgba(42,22,8,.47) 65%,rgba(42,22,8,.26)); pointer-events:none; }
html:not([lang=en]) [data-en], html[lang=en] [data-it], [hidden] { display:none!important; }
img,video { display:block; max-width:100%; }
img { height:auto; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; line-height:1.08; text-wrap:balance; }
h1 { font-size:clamp(46px,5.1vw,72px); letter-spacing:-.025em; }
h2 { font-size:clamp(37px,4vw,55px); letter-spacing:-.02em; }
h3 { font-size:29px; }
p { max-width:68ch; }
p+p { margin-top:15px; }
a { color:inherit; text-underline-offset:5px; }
button,select { font:inherit; }
button,summary { cursor:pointer; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible,video:focus-visible { outline:3px solid var(--soft); outline-offset:5px; }
.container { width:min(1220px,calc(100% - 80px)); margin-inline:auto; }
.skip { position:fixed; z-index:100; left:15px; top:-100px; padding:12px; background:var(--espresso); }
.skip:focus { top:10px; }
.site-header { position:sticky; top:0; z-index:30; background:rgba(13,40,32,.93); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.header-row { min-height:76px; display:flex; align-items:center; gap:26px; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; flex-shrink:0; }
.brand img { width:43px; height:43px; border-radius:50%; }
.brand span { font:500 26px 'Cormorant Garamond',serif; white-space:nowrap; }
.desktop-nav { display:flex; gap:22px; margin-left:auto; }
.desktop-nav a { font-size:12px; font-weight:600; text-decoration:none; }
.header-tools { display:flex; align-items:center; gap:22px; margin-left:auto; }
.language { display:flex; gap:13px; }
.language a { padding:7px 0; font-size:12px; text-decoration:none; border-bottom:2px solid transparent; }
.language a[aria-current=true] { color:var(--soft); border-color:var(--soft); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:13px 21px; border:1px solid var(--soft); border-radius:4px; color:var(--espresso); background:var(--soft); font:800 13px/1.4 Manrope,sans-serif; text-decoration:none; text-align:center; }
.button:hover { background:var(--ivory); border-color:var(--ivory); }
.button.small { min-height:40px; padding:10px 16px; font-size:11px; }
.button.secondary { background:transparent; color:var(--ivory); border-color:var(--sand); }
.link { font-size:13px; font-weight:700; }
.actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px; margin-top:24px; }
.eyebrow { color:var(--soft); font-size:12px; font-weight:700; margin-bottom:13px; }
.small-note { font-size:12px; color:var(--sand); margin-top:17px; }
.lead { font-size:17px; line-height:1.7; }

/* The medallion is the primary navigation, including on phones. */
.participation-intro { text-align:center; padding:30px 0 15px; }
.participation-intro h1 { font-size:clamp(39px,4.7vw,63px); }
.participation-intro p { margin:13px auto 0; color:var(--sand); font-size:14px; }
.medallion-stage { scroll-margin-top:92px; }
.medallion-layout { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:start; padding:15px 0 46px; }
.medallion-column { text-align:center; }
.dial { display:block; width:100%; max-width:480px; margin:0 auto; overflow:visible; touch-action:manipulation; filter:drop-shadow(0 12px 22px rgba(42,22,8,.22)); }
.wedge { cursor:pointer; outline:none; }
.wedge .shape { fill:rgba(13,40,32,.90); stroke:var(--gold); stroke-width:1.1; transition:fill .18s ease; }
.wedge text { fill:var(--soft); font:700 12px Manrope,sans-serif; pointer-events:none; }
.wedge:hover .shape { fill:var(--bronze); stroke:var(--soft); }
.wedge[aria-pressed=true] .shape { fill:url(#selected-gold); stroke:var(--soft); stroke-width:1.6; }
.wedge[aria-pressed=true] text { fill:var(--espresso); }
.wedge:focus-visible .shape { stroke:var(--ivory); stroke-width:4; }
.dial-rim { fill:none; stroke:var(--soft); stroke-width:.6; opacity:.55; }
.dial-hint { margin:8px auto 0; color:var(--sand); font-size:12px; }
.role-alternative { margin:15px auto 0; max-width:450px; text-align:left; }
.role-alternative summary { color:var(--sand); font-size:12px; text-align:center; }
.roles-menu { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:15px; }
.role-choice { text-align:left; padding:11px; color:var(--ivory); border:1px solid var(--line); background:rgba(42,22,8,.8); border-radius:4px; }
.role-choice strong { display:block; font-size:12px; }
.role-choice small { font-size:10px; color:var(--sand); }
.role-choice[aria-pressed=true] { background:var(--gold); color:var(--espresso); }
.role-choice[aria-pressed=true] small { color:var(--espresso); }
.role-detail { margin-top:12px; padding:28px 30px; min-height:416px; border:1px solid rgba(240,193,90,.4); background:rgba(13,40,32,.86); border-radius:8px; scroll-margin-top:95px; }
.role-detail h3 { font-size:36px; max-width:27ch; }
.role-detail .lead { font-size:14px; margin-top:15px; }
.role-detail .small-note { font-size:11px; }
.role-detail .actions { gap:17px; }
.role-detail .button { font-size:12px; }
.role-detail .link { font-size:12px; }
.role-figure { margin-top:22px; }
.role-figure img { width:100%; max-height:235px; object-fit:contain; object-position:left top; }
.role-figure.forest-photo img { height:auto; max-height:none; aspect-ratio:3/2; object-fit:contain; object-position:center; }
.role-figure figcaption { font-size:10px; color:var(--sand); margin-top:7px; }
.does { margin:20px 0 0; padding:0; list-style:none; }
.does li { display:grid; grid-template-columns:1fr auto; gap:14px; border-top:1px solid var(--line); padding:12px 0; }
.does b { font-size:12px; font-weight:700; }
.does p { font-size:12px; color:var(--sand); margin-top:4px; }
.tag { align-self:start; white-space:nowrap; padding:2px 6px; border:1px solid var(--sand); border-radius:3px; color:var(--sand); font-size:9px; font-weight:700; }
.tag.on { color:var(--soft); border-color:var(--soft); }
.tag.soon { border-style:dashed; }
.back-to-dial { display:none; }
.role-extra { padding:20px 0 26px; font-size:12px; text-align:center; color:var(--sand); max-width:none; border-top:1px solid var(--line); }

/* Editorial photos retain a visible layer of the brand forest. */
.forest-photo { position:relative; isolation:isolate; overflow:hidden; border-radius:5px; }
.forest-photo::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:var(--forest) center/cover; mix-blend-mode:soft-light; opacity:.43; }
.forest-photo img { width:100%; }
.forest-photo figcaption { position:relative; z-index:2; }
.investor-hero { padding:48px 0 28px; }
.investor-hero-grid { display:grid; grid-template-columns:1.13fr 1fr; gap:66px; align-items:center; }
.investor-hero h1 { max-width:14ch; font-size:clamp(49px,5.35vw,76px); }
.investor-hero .lead { margin-top:23px; max-width:47ch; font-size:16px; color:var(--ivory); }
.investor-hero .context { margin-top:16px; max-width:49ch; font-size:13px; color:var(--sand); }
.meeting-note { margin-top:18px; color:var(--sand); font-size:12px; }
.investor-story { padding:12px; background:rgba(42,22,8,.68); border:1px solid var(--line); border-radius:8px; }
.investor-story .forest-photo img { height:300px; object-fit:cover; object-position:50% 41%; }
.investor-story figcaption { position:absolute; inset:auto 0 0; padding:42px 20px 18px; background:linear-gradient(transparent,rgba(42,22,8,.96)); color:var(--ivory); font:400 28px/1.1 'Cormorant Garamond',serif; }
.story-heading { padding:18px 15px 0; color:var(--soft); font-size:12px; font-weight:700; }
.care-path { list-style:none; display:flex; gap:12px; padding:15px 15px 19px; margin:0; }
.care-path li { flex:1; padding-top:12px; border-top:1px solid var(--gold); font-size:12px; }
.care-path small { display:block; color:var(--sand); font-size:10px; margin-top:3px; }
.investor-signals { display:flex; gap:30px; justify-content:space-between; margin-top:35px; padding:22px 0 0; border-top:1px solid var(--line); font-size:12px; color:var(--sand); }
.investor-signals strong { color:var(--soft); font-weight:700; }
.section { padding:74px 0; }
.section-heading { margin-bottom:36px; max-width:760px; }
.section-heading p:not(.eyebrow) { margin-top:17px; }
.paper-section { color:var(--ink); background:rgba(245,235,221,.79); }
.paper-section .eyebrow,.paper-section .small-note { color:var(--bronze); }
.paper-section a:focus-visible,.paper-section button:focus-visible,.paper-section summary:focus-visible { outline-color:var(--bronze); }
.status-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.status-block { border-top:1px solid rgba(122,70,24,.5); padding-top:20px; }
.status-block h3 { margin:13px 0; }
.status-block p { font-size:14px; }
.status-label { display:inline-block; padding:3px 8px; border:1px solid var(--bronze); font-size:10px; font-weight:700; border-radius:3px; }
.status-label.live { color:var(--ivory); background:var(--espresso); }
.ecosystem-section { padding-top:56px; }
.ecosystem-section .section-heading { text-align:center; margin:0 auto 18px; max-width:800px; }
.ecosystem-section .section-heading p { margin-inline:auto; }
.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; }
.split-image { width:100%; aspect-ratio:1.1; object-fit:cover; }
.split h2 { margin-bottom:22px; }
.split p { font-size:15px; }
.dark { background:rgba(42,22,8,.53); color:var(--ivory); }
.business-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.statement { margin-top:22px; font-size:20px; }
.revenue-list { margin:0; padding:0; list-style:none; }
.revenue-list li { padding:20px 0; border-bottom:1px solid var(--line); }
.revenue-list li:first-child { padding-top:0; }
.revenue-list h3 { margin-bottom:10px; color:var(--soft); }
.revenue-list p { color:var(--sand); font-size:14px; }
.opportunity { display:grid; grid-template-columns:1fr 1fr; gap:55px; }
.market-number { color:var(--bronze); font:500 82px/1 'Cormorant Garamond',serif; }
.market-number>span>span { font-size:32px; }
.opportunity h3 { margin:17px 0; }
.opportunity p { font-size:14px; }
.opportunity a { font-size:12px; }
.videos-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.video-item { overflow:hidden; background:rgba(42,22,8,.83); border:1px solid var(--line); border-radius:6px; }
.video-item video { width:100%; aspect-ratio:4/3; object-fit:contain; background:rgba(42,22,8,.62); }
.video-copy { padding:20px; }
.video-copy h3 { font-size:29px; }
.video-copy p { font-size:13px; margin-top:9px; }
.video-copy a { font-size:11px; display:inline-block; margin-top:12px; }
.video-topline { display:flex; justify-content:space-between; gap:10px; color:var(--soft); font-size:10px; margin-bottom:10px; }
.detail { border-top:1px solid rgba(122,70,24,.4); padding:19px 0; }
.detail:last-child { border-bottom:1px solid rgba(122,70,24,.4); }
.detail>summary { display:flex; justify-content:space-between; gap:20px; align-items:center; list-style:none; font:500 28px/1.2 'Cormorant Garamond',serif; }
.detail>summary::after { content:'+'; font:400 24px Manrope,sans-serif; }
.detail[open]>summary::after { content:'−'; }
.detail-content { padding:28px 0 9px; }
.detail-content p,.detail-content li { font-size:14px; }
.detail-content .split { gap:35px; }
.detail-content h3 { margin:15px 0; }
.detail-content figcaption { font-size:11px; margin-top:10px; }
.detail-content img { border-radius:5px; }
.demo-controls { display:flex; gap:10px; margin:22px 0; }
.demo-controls button { padding:10px 15px; border:1px solid var(--bronze); color:var(--espresso); border-radius:3px; background:transparent; font-size:13px; }
.demo-controls button[aria-pressed=true] { color:var(--ivory); background:var(--espresso); }
.demo-screen { border:1px solid var(--bronze); padding:22px; background:rgba(245,235,221,.60); }
.contact-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:center; }
.contact-grid h2 { font-size:clamp(42px,5vw,67px); }
.contact-grid .lead { margin-top:22px; }
.contact-note { padding:25px 28px; border-left:1px solid var(--soft); background:rgba(42,22,8,.65); }
.contact-note p,.contact-note a { font-size:14px; }
.contact-note p { margin-top:14px; }
.page-footer { padding:30px 0; background:rgba(13,40,32,.84); border-top:1px solid var(--line); }
.footer-row { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.footer-row>p { font:italic 400 25px 'Cormorant Garamond',serif; color:var(--soft); }
.footer-links { display:flex; gap:22px; font-size:12px; }
.footer-small { margin-top:20px; color:var(--sand); font-size:10px; max-width:115ch; }
.sticky-meeting { display:none; }

@media (max-width:1050px) {
  .container { width:calc(100% - 48px); }
  .header-row { min-height:70px; flex-wrap:wrap; }
  .desktop-nav { order:3; width:100%; margin-left:0; justify-content:center; gap:26px; padding-bottom:9px; }
  .medallion-layout { gap:25px; }
  .role-detail { padding:23px; }
  .role-detail h3 { font-size:31px; }
  .investor-hero-grid { gap:32px; }
  .investor-hero h1 { font-size:59px; }
  .investor-story .forest-photo img { height:310px; }
  .split,.business-grid,.contact-grid { gap:35px; }
}
@media (max-width:760px) {
  body::before { background-position:78% center; }
  body::after { background:linear-gradient(rgba(42,22,8,.68),rgba(42,22,8,.48)); }
  .container { width:calc(100% - 32px); }
  .site-header { background:rgba(13,40,32,.95); }
  .header-row { min-height:65px; gap:15px; }
  .brand img { width:34px; height:34px; }
  .brand span { font-size:22px; }
  .header-tools { gap:12px; }
  .header-cta { padding:9px 12px; font-size:11px; min-height:38px; }
  .desktop-nav { gap:20px; padding-bottom:8px; }
  .desktop-nav a { font-size:11px; }
  .participation-intro { padding:24px 0 10px; }
  .participation-intro h1 { font-size:42px; max-width:15ch; margin:auto; }
  .participation-intro p { font-size:13px; max-width:38ch; margin-top:12px; }
  .medallion-layout { grid-template-columns:1fr; gap:19px; padding:8px 0 30px; }
  .dial { max-width:440px; }
  .wedge text { font-size:14px; }
  .dial-hint { font-size:11px; margin-top:0; }
  .role-alternative { margin-top:12px; }
  .role-detail { margin-top:3px; min-height:0; padding:24px; scroll-margin-top:118px; }
  .role-detail h3 { font-size:34px; }
  .does li { grid-template-columns:1fr; gap:7px; }
  .tag { justify-self:start; }
  .role-detail .actions { gap:17px; }
  .back-to-dial { display:inline-block; margin-top:23px; font-size:12px; color:var(--soft); }
  .role-extra { font-size:11px; padding:17px 0 24px; }
  .investor-hero { padding:30px 0 25px; }
  .investor-hero-grid { grid-template-columns:1fr; gap:27px; }
  .investor-hero h1 { font-size:53px; max-width:13ch; }
  .investor-hero .lead { font-size:15px; margin-top:20px; }
  .investor-hero .context { font-size:13px; }
  .investor-story .forest-photo img { height:255px; }
  .investor-story figcaption { font-size:26px; }
  .investor-signals { flex-wrap:wrap; gap:12px 24px; margin-top:25px; font-size:11px; }
  .meeting-note { font-size:11px; }
  .section { padding:48px 0; }
  .section-heading { margin-bottom:26px; }
  .section-heading p:not(.eyebrow) { font-size:14px; }
  .status-grid,.split,.business-grid,.opportunity,.contact-grid { grid-template-columns:1fr; gap:28px; }
  .split-image { aspect-ratio:1; }
  .market-number { font-size:76px; }
  .videos-grid { grid-template-columns:1fr; gap:22px; }
  .video-item { display:grid; grid-template-columns:42% 58%; align-items:center; }
  .video-item video { aspect-ratio:9/12; height:100%; min-height:205px; }
  .video-copy { padding:17px; }
  .video-copy h3 { font-size:26px; }
  .video-copy p { font-size:12px; }
  .video-copy a { font-size:10px; }
  .video-topline { font-size:9px; }
  .ecosystem-section .section-heading h2 { font-size:36px; }
  .detail>summary { font-size:24px; }
  .contact-grid .lead { font-size:16px; }
  .contact-note { padding:18px 22px; }
  .footer-row { flex-direction:column; align-items:start; gap:18px; }
  .footer-links { gap:17px; flex-wrap:wrap; }
  .footer-small { font-size:10px; }
  body[data-page=investor] .page-footer { padding-bottom:100px; }
  .sticky-meeting { display:flex; justify-content:space-between; align-items:center; gap:14px; position:fixed; inset:auto 0 0; z-index:25; padding:10px 16px max(10px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(13,40,32,.97); }
  .sticky-meeting p { font-size:10px; }
  .sticky-meeting .button { font-size:11px; min-height:42px; padding:10px 13px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation:none!important; transition:none!important; }
}

/* Founder-approved dark green, with the original forest visible underneath. */
.green-section { background:rgba(20,61,48,.87); color:var(--ivory); }
.green-section .status-block { border-color:rgba(240,193,90,.5); }
.thesis-grid h3 { color:var(--bronze); }
.campaign-section { padding:18px 0 42px; }
.campaign-art { padding:10px; background:rgba(13,40,32,.74); border:1px solid var(--line); border-radius:6px; }
.campaign-art img { width:100%; height:auto; aspect-ratio:1983/793; object-fit:contain; }
.campaign-art figcaption { margin:12px 8px 5px; color:var(--sand); font-size:12px; }
.wedge[data-pick=cittadino] text { font-size:11px; }
.tag.available { color:var(--soft); border-color:var(--soft); }
.revenue-list .link { display:inline-block; margin-top:12px; }
@media (max-width:760px) {
  .campaign-section { padding:0 0 30px; }
  .campaign-art { padding:5px; }
  .campaign-art figcaption { font-size:11px; margin:9px 7px; }
  .wedge[data-pick=cittadino] text { font-size:12px; }
}
