:root{
  --marine:#144049;      /* dark water teal: headings, dark cards (sampled) */
  --od:#144049;          /* (legacy alias) dark water teal */
  --olive:#2F6A6E;       /* mid teal: tabs, small accents (AA on paper) */
  --sage:#4A8387;        /* water teal: borders/rules only (sampled) */
  --sage-lt:#6CA1A3;     /* light sea-glass teal: stripe accent (sampled) */
  --deep:#0F2F36;        /* deep water: header, hero, numbers, footer */
  --sand-lt:#E4DBC8;     /* light khaki/sand band background */
  --coyote-dk:#6E5432;   /* coyote text on sand (AA) */
  --coyote:#81613C;      /* coyote brown */
  --khaki:#C3B091;       /* khaki */
  --sand:#D6BE8E;        /* brand Sand */
  --gold:#FFCD83;        /* brand Coastal Gold: CTAs */
  --aqua:#20A4AB;        /* brand Coastal Aqua: focus/small accent */
  --ink:#2F2E2E;         /* brand Ink */
  --paper:#F6F2E8;
  --white:#FFFFFF;
  --head:"Avenir Next","Avenir","Nunito Sans",system-ui,sans-serif;
  --body:"Open Sans",system-ui,sans-serif;
  --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);padding:.5rem 1rem;z-index:99}
.skip:focus{left:1rem}
.wrap{width:min(1160px,92%);margin:0 auto}
.narrow{width:min(920px,92%)}
h1,h2,h3{font-family:var(--head);line-height:1.15;margin:0 0 .6em;color:var(--marine)}
h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:900;color:var(--white)}
h1 em{font-style:normal;color:var(--gold)}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:900}
h3{font-size:1.2rem;font-weight:700}
.eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--coyote);margin:0 0 .7rem}
.eyebrow.light{color:var(--khaki)}
.center{text-align:center}
.lead{font-size:1.12rem}

.btn{display:inline-block;font-family:var(--head);font-weight:700;text-decoration:none;background:var(--gold);color:var(--deep);padding:.85rem 1.5rem;border-radius:999px;border:2px solid var(--gold);transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px);background:#ffd99c}
.btn-ghost{background:transparent;color:var(--marine);border-color:var(--marine)}
.btn-ghost:hover{background:var(--marine);color:var(--white)}
.btn-ghost.light,.hero .btn-ghost{color:var(--white);border-color:var(--khaki)}
.btn-ghost.light:hover,.hero .btn-ghost:hover{background:var(--khaki);color:var(--deep)}
.btn-sm{padding:.5rem 1.1rem;font-size:.9rem}
.revshare .btn,.campus .btn,.contact .btn:not(.btn-ghost),.video-section .btn{border-color:var(--coyote)}

/* header */
.site-header{position:sticky;top:0;z-index:20;background:var(--deep);border-bottom:3px solid var(--coyote)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}
.brand img{width:104px}
.brand-sub{color:var(--khaki);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border-left:1px solid var(--coyote);padding-left:.8rem}
.nav{display:flex;align-items:center;gap:1.4rem;list-style:none;margin:0;padding:0}
.nav a{color:var(--paper);text-decoration:none;font-family:var(--head);font-weight:700;font-size:.95rem}
.nav a:not(.btn):hover{color:var(--gold)}
.nav .btn{color:var(--deep)}

/* hero */
.hero{position:relative;color:var(--paper);padding:5.5rem 0 6.5rem;
  background:
   radial-gradient(1200px 500px at 85% -10%,rgba(195,176,145,.10),transparent 60%),
   repeating-linear-gradient(135deg,rgba(255,255,255,.015) 0 2px,transparent 2px 14px),
   linear-gradient(160deg,#144049 0%,var(--deep) 60%,#0A252B 100%)}
.hero-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:3rem;align-items:center}
.hero .eyebrow{color:var(--sand)}
.hero .lead{color:#e9e3d3;max-width:38ch}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.hero-card{background:rgba(10,37,43,.55);border:1px solid rgba(195,176,145,.35);border-radius:var(--r);padding:1.8rem;backdrop-filter:blur(4px)}
.card-kicker{margin:0 0 1rem;font-family:var(--head);font-weight:700;color:var(--khaki);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}
.glance{margin:0;display:grid;gap:1rem}
.glance div{display:flex;align-items:baseline;gap:.8rem;border-bottom:1px dashed rgba(195,176,145,.3);padding-bottom:.8rem}
.glance dt{font-family:var(--head);font-weight:900;font-size:2rem;color:var(--gold);min-width:5.2ch}
.glance dd{margin:0;color:var(--paper)}
.fine{font-size:.78rem;color:var(--khaki);margin:1rem 0 0}
.stripe{position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--coyote) 0 33%,var(--sand) 33% 66%,var(--sage-lt) 66%)}

/* sections */
.section{padding:5rem 0}
.video-section{background:var(--paper)}
.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}
.tabs button{font:700 .92rem var(--head);padding:.55rem 1.2rem;border-radius:999px;border:2px solid var(--olive);background:transparent;color:var(--olive);cursor:pointer}
.tabs button[aria-selected=true]{background:var(--olive);color:var(--white)}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--deep);box-shadow:0 24px 50px -24px rgba(15,47,54,.45);border:6px solid var(--deep)}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.difference{background:var(--white)}
.compare{display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:stretch;margin-top:1.5rem}
.col{border-radius:var(--r);padding:2rem}
.col-exp{background:var(--marine);color:var(--paper)}
.col-exp h3{color:var(--gold)}
.col-trad{background:#EFE9DC;color:#5b574f}
.col-trad h3{color:var(--coyote)}
.vs{align-self:center;font:900 1.4rem var(--head);color:var(--coyote);background:var(--paper);border:2px solid var(--khaki);width:64px;height:64px;border-radius:50%;display:grid;place-items:center}
.checks,.crosses{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}
.checks li,.crosses li{padding-left:2rem;position:relative}
.checks li span{color:var(--khaki);font-size:.9rem}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--gold);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0a10 10 0 100 20 10 10 0 000-20zm-1.5 14.2L4.3 10l1.4-1.4 2.8 2.8 5.8-5.8 1.4 1.4-7.2 7.2z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 0a10 10 0 100 20 10 10 0 000-20zm-1.5 14.2L4.3 10l1.4-1.4 2.8 2.8 5.8-5.8 1.4 1.4-7.2 7.2z'/%3E%3C/svg%3E") center/contain no-repeat}
.crosses li::before{content:"\2715";position:absolute;left:.15rem;top:0;color:#a0533f;font-weight:700}

.band{padding:3rem 0}
.revshare{background:var(--sand-lt);color:var(--ink);border-top:3px solid var(--coyote)}
.revshare h2{color:var(--marine);margin-bottom:.3em}
.revshare p{margin:0;color:var(--ink)}
.band-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}

.tools{background:var(--paper)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.5rem}
.tile{display:block;text-decoration:none;background:var(--white);border:1px solid #e2dccb;border-top:4px solid var(--sage);border-radius:var(--r);padding:1.6rem;transition:transform .15s,box-shadow .15s}
.tile:hover{transform:translateY(-4px);box-shadow:0 14px 30px -18px rgba(15,47,54,.45)}
.tile-num{font:900 .85rem var(--head);color:var(--coyote);letter-spacing:.1em}
.tile h3{margin:.4rem 0}
.tile p{margin:0}
.crm{margin-top:2.5rem;background:var(--sand-lt);color:var(--ink);border:1px solid #d9cdb3;border-radius:var(--r);padding:2rem;display:grid;grid-template-columns:1fr 1.3fr;gap:2rem;align-items:center}
.crm h3{color:var(--marine);font-size:1.5rem}
.crm p{margin:0;color:var(--ink)}
.crm-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.crm-list a{display:flex;justify-content:space-between;gap:1rem;align-items:center;text-decoration:none;background:var(--white);border:1px solid #d9cdb3;padding:.9rem 1.2rem;border-radius:10px}
.crm-list a:hover{background:#fffaf0;border-color:var(--coyote)}
.crm-list strong{font-family:var(--head);font-size:1.1rem;color:var(--marine)}
.crm-list span{color:var(--coyote);font-size:.92rem;text-align:right}

.campus{background:var(--sand);color:var(--ink);padding:4rem 0}
.campus h2{color:var(--marine)}
.campus p{color:var(--ink);max-width:60ch}
.campus .eyebrow.light{color:var(--coyote-dk)}
.campus .btn-ghost.light{color:var(--marine);border-color:var(--marine)}
.campus .btn-ghost.light:hover{background:var(--marine);color:var(--white)}
.campus-inner{display:grid;grid-template-columns:1.6fr 1fr;gap:2rem;align-items:center}
.cta-col{display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}

.reach{background:var(--white)}
.reach-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem}
.big-stat{font:700 1rem var(--head);color:var(--coyote);text-transform:uppercase;letter-spacing:.08em;line-height:1.2}
.big-stat span{font-size:3.6rem;font-weight:900;color:var(--marine);float:left;line-height:.9;margin-right:.6rem}
.countries{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}
.countries li{background:var(--paper);border:1px solid var(--khaki);color:var(--marine);border-radius:999px;padding:.4rem .95rem;font-weight:600;font-size:.92rem}

.numbers{background:var(--deep);color:var(--paper)}
.numbers h2{color:var(--white)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:1.5rem 0 3rem}
.stat{background:#144049;border-left:4px solid var(--gold);border-radius:var(--r);padding:1.6rem;display:flex;flex-direction:column;gap:.2rem}
.stat strong{font:900 2.6rem var(--head);color:var(--white)}
.stat .delta{color:var(--gold);font-weight:600;font-size:.9rem}
.stat span:last-child{color:var(--khaki)}
.sub{color:var(--sand)}
.recog{list-style:none;margin:0 0 3rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.recog li{border:1px solid rgba(195,176,145,.3);border-radius:10px;padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.25rem}
.recog strong{font-family:var(--head);color:var(--white)}
.recog span{color:var(--khaki);font-size:.88rem}
.quote{margin:0;padding:2rem 2.2rem;border-radius:var(--r);background:#144049;border-left:4px solid var(--coyote);position:relative}
.quote blockquote{margin:0;font-family:var(--head);font-weight:300;font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.5;color:var(--paper)}
.quote figcaption{margin-top:1rem;color:var(--gold);font-weight:600}

.contact{background:var(--paper)}
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.contact-card{background:var(--white);border:1px solid #e2dccb;border-top:6px solid var(--coyote);border-radius:var(--r);padding:2rem}
.contact-name{font:900 1.5rem var(--head);color:var(--marine);margin:0}
.contact-sub{margin:0 0 1.2rem;color:var(--coyote);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.contact-card address{font-style:normal;margin-top:1.3rem;color:#5b574f}

.site-footer{background:var(--deep);color:var(--khaki);padding:3rem 0;border-top:4px solid var(--coyote)}
.site-footer img{width:96px;margin-bottom:1rem}
.disclaimer{font-size:.8rem;line-height:1.6;max-width:90ch;color:#b8ad93}
.copy{font-size:.8rem;margin:0}

@media (max-width:900px){
  .hero-grid,.campus-inner,.contact-grid,.crm{grid-template-columns:1fr}
  .compare{grid-template-columns:1fr}
  .vs{justify-self:center}
  .grid-3,.stats,.recog{grid-template-columns:1fr}
  .recog{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .nav li:not(:last-child){display:none}
  .brand-sub{display:none}
  .hero{padding:3.5rem 0 4.5rem}
  .section{padding:3.5rem 0}
  .recog{grid-template-columns:1fr}
  .crm-list a{flex-direction:column;align-items:flex-start;gap:.2rem}
  .crm-list span{text-align:left}
  .col{padding:1.5rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Hawaii revision: brokerage identification */
.brokerage-tag{display:inline-block;margin:0 0 1.2rem;padding:.45rem .9rem;border:1px solid rgba(195,176,145,.55);border-radius:8px;background:rgba(10,37,43,.5);font:700 .95rem var(--head);color:var(--white);letter-spacing:.02em}
.brokerage-tag span{color:var(--coyote);margin:0 .35rem}
.contact-role{margin:.15rem 0 .2rem;color:var(--coyote);font-weight:600;font-size:.92rem}
.contact-firm{margin:0 0 1.2rem;font:700 .95rem var(--head);color:var(--marine)}
.contact-firm span{color:var(--khaki);margin:0 .3rem}
.addr-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--coyote);font-weight:700}
.also-ca{margin:1rem 0 0;padding-top:.9rem;border-top:1px dashed var(--khaki);font-size:.92rem;color:#5b574f}
.firm-line{font:700 .95rem var(--head);color:var(--sand);margin:0 0 .8rem}
@media (max-width:640px){.brokerage-tag{font-size:.82rem}}
