/* Layout: one dark stage, Bodoni headlines on a wide left axis, condensed backstage-pass labels, champagne hairlines. Brand look is single-theme by choice. */
:root{
  color-scheme:dark;
  --stage:#000000;
  --ink:#0C0B09;
  --ink-2:#14130F;
  --bone:#EFEAE1;
  --bone-2:#D3CCBF;
  --ash:#8E8980;
  --champagne:#C9B38B;
  --line:rgba(239,234,225,.15);
  --line-soft:rgba(239,234,225,.075);
  --tint:rgba(201,179,139,.08);
  --display:"Bodoni Moda",Didot,"Bodoni 72",Georgia,serif;
  --body:"Archivo","Helvetica Neue",Arial,sans-serif;
  --pad:clamp(20px,5vw,72px);
  --gut-l:max(16px,var(--pad),env(safe-area-inset-left,0px));
  --gut-r:max(16px,var(--pad),env(safe-area-inset-right,0px));
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--body);font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:70;background:var(--ink)}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--bone);color:var(--ink);padding:8px 14px;z-index:99}
.skip:focus{left:16px}

/* type */
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:1.06;text-wrap:balance}
h1{font-size:clamp(40px,6.4vw,82px);letter-spacing:-.018em}
h2{font-size:clamp(28px,3.8vw,48px);letter-spacing:-.012em}
h3{font-size:clamp(20px,2vw,25px)}
p{margin:0}
.lede{font-size:clamp(17px,1.8vw,21px);line-height:1.56;color:var(--bone-2);max-width:56ch}
.dim{color:var(--ash)}
.small{font-size:14px;line-height:1.62}
.label{font-family:var(--body);font-stretch:75%;font-weight:500;font-size:12px;letter-spacing:.17em;text-transform:uppercase;color:var(--ash)}
.label.gold{color:var(--champagne)}
.it{font-style:italic;color:var(--champagne)}

/* header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:rgba(12,11,9,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.bar{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px var(--gut-r) 6px var(--gut-l);transition:padding .3s ease}
header.site.compact .bar{padding-top:8px}
.wordmark{font-family:var(--display);font-size:21px;letter-spacing:.07em;background:none;border:0;color:var(--bone);cursor:pointer;padding:0;white-space:nowrap;line-height:1}
.wordmark em{font-style:italic;color:var(--champagne)}
.rc-logo{display:block;max-width:100%;aspect-ratio:1200/518;background:url(rhonda-and-company-logo.png) no-repeat center/contain}
.wordmark .rc-logo{height:clamp(150px,22.5vw,294px);transition:height .3s ease}
header.site.compact .wordmark .rc-logo{height:clamp(54px,5.4vw,68px)}
.foot-logo{width:210px}
.navwrap{width:100%;min-width:0;overflow-x:auto;scrollbar-width:none}
.navwrap::-webkit-scrollbar{display:none}
nav.main{display:flex;gap:clamp(20px,3vw,42px);width:max-content;margin:0 auto}
nav.main button,nav.main a{text-decoration:none;background:none;border:0;color:var(--ash);font-size:16.25px;letter-spacing:.05em;cursor:pointer;padding:7px 0;border-bottom:1px solid transparent;white-space:nowrap;transition:color .18s,border-color .18s}
nav.main button:hover,nav.main a:hover{color:var(--bone)}
nav.main button[aria-current="page"]{color:var(--bone);border-bottom-color:var(--champagne)}
.notes-toggle{flex:none;background:none;border:1px solid var(--line);color:var(--ash);font-stretch:75%;font-weight:500;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:7px 11px;border-radius:2px;cursor:pointer;white-space:nowrap}
.notes-toggle[aria-pressed="true"]{color:var(--ink);background:var(--champagne);border-color:var(--champagne)}
.notes-toggle .n{opacity:.75}

/* layout */
.page{display:none}
.page.active{display:block;animation:fade .32s ease}
@keyframes fade{from{opacity:.4}to{opacity:1}}
section{padding:clamp(52px,7vw,104px) var(--gut-r) clamp(52px,7vw,104px) var(--gut-l);border-top:1px solid var(--line-soft)}
.page > section:first-child,.sub > section:first-child{border-top:0}
.stage{background:var(--stage)}
.wrap{max-width:1180px;margin:0 auto}
.narrow{max-width:66ch}
.stack{display:flex;flex-direction:column;gap:22px}
.stack-lg{display:flex;flex-direction:column;gap:clamp(30px,4vw,48px)}
.head{display:flex;flex-direction:column;gap:18px;margin-bottom:clamp(30px,4vw,48px)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(28px,4vw,60px)}
.two > *{min-width:0}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--stage);padding-top:clamp(88px,13vw,168px);padding-bottom:clamp(64px,9vw,120px);border-top:0}
#dust{position:absolute;inset:0;width:100%;height:100%}
.hero .glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(80% 70% at 78% 38%,rgba(239,234,225,.11),rgba(239,234,225,.03) 42%,transparent 70%)}
.hero-inner{position:relative;z-index:2;max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:26px}
.hero h1{font-size:clamp(48px,9vw,128px);line-height:.96;letter-spacing:-.025em}
.hero h1 span{display:block}
.hero .meta{display:flex;flex-wrap:wrap;gap:10px 28px}

/* credentials */
.creds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));border-top:1px solid var(--line)}
.cred{padding:22px 24px 6px 0;display:flex;flex-direction:column;gap:6px}
.cred + .cred{padding-left:24px;border-left:1px solid var(--line-soft)}
.cred b{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,36px);line-height:1}
.cred span{font-size:13px;color:var(--ash);line-height:1.5}
@media (max-width:640px){.cred + .cred{padding-left:0;border-left:0;border-top:1px solid var(--line-soft)}}

/* placements wall */
.wall-group{max-width:1180px;margin:0 auto 42px;display:flex;flex-direction:column;gap:14px}
.wall-group:last-of-type{margin-bottom:0}
.wall-group .label{padding-bottom:9px;border-bottom:1px solid var(--line-soft)}
.wall-type{font-family:var(--display);line-height:1.04;display:flex;flex-wrap:wrap;align-items:baseline;gap:.08em .44em}
.wall-type i{font-style:normal;color:#E8E2D7;transition:color .2s}
.wall-type i:hover{color:var(--champagne)}
.w-xl{font-size:clamp(36px,6.6vw,86px)}
.w-lg{font-size:clamp(27px,4.4vw,56px)}
.w-md{font-size:clamp(21px,3vw,38px);font-style:italic!important}
.w-sm{font-size:clamp(16px,1.9vw,25px);color:var(--ash)!important}
.wall-foot{max-width:1180px;margin:44px auto 0;border-top:1px solid var(--line);padding-top:20px}

/* grids & cells */
.grid{display:grid;gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.cell{background:var(--ink);padding:28px;display:flex;flex-direction:column;gap:12px;min-width:0}
.stage .cell{background:var(--stage)}
.cell .proof{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--champagne);line-height:1.5}
.cell .proof .label{display:block;margin-bottom:4px}

/* client mark (stands in for licensed logos) */
.logo{height:200px;display:flex;align-items:center;justify-content:center;padding:18px;background:#000;border:1px solid var(--line-soft)}
.logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.mark{height:200px;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;background:var(--stage);border:1px solid var(--line-soft);font-family:var(--display);font-style:italic;font-size:clamp(22px,2.3vw,28px);color:var(--bone);letter-spacing:.01em}
.scope{font-size:13px;color:var(--champagne);line-height:1.5}
.more{background:none;border:0;border-top:1px solid var(--line-soft);color:var(--champagne);font-size:12.5px;letter-spacing:.06em;padding:12px 0 0;text-align:left;cursor:pointer;margin-top:auto;display:flex;justify-content:space-between}
.more::after{content:"+";font-size:15px;line-height:1}
.more[aria-expanded="true"]::after{content:"−"}

/* placeholders */
.ph{position:relative;max-width:100%;border:1px solid var(--line-soft);background:
  radial-gradient(90% 80% at 70% 30%,rgba(239,234,225,.08),transparent 65%),
  repeating-linear-gradient(115deg,rgba(239,234,225,.028) 0 1px,transparent 1px 7px),var(--ink-2)}
.ph::after{content:attr(data-cap);position:absolute;left:14px;bottom:12px;font-stretch:75%;font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(239,234,225,.36)}
.ph.portrait{aspect-ratio:4/5}
.photo{margin:0;max-width:100%;overflow:hidden;background:var(--ink-2);border:1px solid var(--line-soft);position:relative}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.head{aspect-ratio:2/3}
.photo.hero-portrait{aspect-ratio:2/3;width:100%;max-width:340px;justify-self:end}
.photo.shot{aspect-ratio:3/2}
.photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 11px;font-size:12.5px;color:var(--bone-2);background:linear-gradient(transparent,rgba(0,0,0,.78))}
@media (max-width:640px){.photo.hero-portrait{justify-self:start}}
.ph.wide{aspect-ratio:16/9}
.ph.square{aspect-ratio:3/2}

/* timeline */
.tl{border-left:1px solid var(--line);padding-left:28px;display:flex;flex-direction:column;gap:30px}
.tl > div{position:relative;display:flex;flex-direction:column;gap:6px}
.tl > div::before{content:"";position:absolute;left:-32px;top:8px;width:7px;height:7px;background:var(--champagne);border-radius:50%}
.tl .yr{font-family:var(--display);font-size:17px;color:var(--champagne)}

/* table */
.tablewrap{overflow-x:auto;max-width:780px}
table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:480px}
th,td{text-align:left;padding:14px 16px 14px 0;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{font-stretch:75%;font-weight:500;color:var(--ash);font-size:12px;letter-spacing:.15em;text-transform:uppercase}
td.num{white-space:nowrap;font-family:var(--display);font-size:18px;font-variant-numeric:tabular-nums}

/* gear */
.gear{columns:3 220px;column-gap:40px;font-size:14px}
.gear div{break-inside:avoid;margin-bottom:26px}
.gear h4{font-stretch:75%;font-weight:500;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne);margin:0 0 8px}
.gear ul{list-style:none;margin:0;padding:0}
.gear li{padding:5px 0;color:var(--bone-2);border-bottom:1px solid var(--line-soft)}

/* buttons */
.btn{display:inline-flex;align-items:center;background:var(--bone);color:var(--ink);text-decoration:none;font-size:13.5px;letter-spacing:.05em;padding:13px 26px;border:1px solid var(--bone);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:transparent;color:var(--bone)}
.btn.ghost{background:transparent;color:var(--bone);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--bone)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.linkbtn{background:none;border:0;padding:0;color:var(--champagne);cursor:pointer;font-size:13px;letter-spacing:.05em;border-bottom:1px solid rgba(201,179,139,.4)}
.linkbtn:hover{border-bottom-color:var(--champagne)}

/* sub nav */
.subnav{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);padding:0 var(--gut-r) 0 var(--gut-l);background:var(--ink-2)}
.subnav::-webkit-scrollbar{display:none}
.subnav button{flex:none;background:none;border:0;border-bottom:2px solid transparent;color:var(--ash);font-size:13px;padding:16px 0;cursor:pointer;letter-spacing:.04em;white-space:nowrap}
.subnav button:hover{color:var(--bone)}
.subnav button[aria-current="true"]{color:var(--bone);border-bottom-color:var(--champagne)}
.sub{display:none}
.sub.active{display:block}

/* lists */
ul.plain{list-style:none;padding:0;margin:0}
ul.plain li{padding:11px 0;border-bottom:1px solid var(--line-soft);font-size:14.5px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
ul.plain li:first-child{border-top:1px solid var(--line-soft)}

/* services strip on home */
.svc-line{display:flex;flex-wrap:wrap;gap:6px 0;font-family:var(--display);font-size:clamp(20px,2.4vw,30px);line-height:1.35}
.svc-line span{white-space:nowrap}
.svc-line span:not(:last-child)::after{content:"·";color:var(--champagne);margin:0 .5em}

/* press bios */
.tabs{display:flex;gap:0;border:1px solid var(--line);width:max-content;max-width:100%}
.tabs button{background:none;border:0;padding:10px 18px;font-size:13px;letter-spacing:.05em;color:var(--ash);cursor:pointer}
.tabs button + button{border-left:1px solid var(--line)}
.tabs button[aria-selected="true"]{background:var(--bone);color:var(--ink)}
.bio{max-width:68ch;display:flex;flex-direction:column;gap:1em;font-size:16px;color:var(--bone-2)}
.biobar{display:flex;gap:18px;align-items:center;flex-wrap:wrap}

/* contact */
.addr{font-size:15px;color:var(--champagne);word-break:break-all;text-decoration:none;border-bottom:1px solid rgba(201,179,139,.35)}
.addr:hover{border-bottom-color:var(--champagne)}
.copy-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:14px;border-top:1px solid var(--line-soft)}

/* estimator */
.est{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);max-width:980px}
.est > div{background:var(--ink);padding:28px;display:flex;flex-direction:column;gap:18px;min-width:0}
.field{display:flex;flex-direction:column;gap:7px}
.field label,.field legend{font-stretch:75%;font-weight:500;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--ash);padding:0}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
input[type=date],input[type=number],select{background:var(--ink-2);border:1px solid var(--line);color:var(--bone);font:inherit;font-size:15px;padding:10px 12px;border-radius:0;width:100%}
input:focus,select:focus{border-color:var(--champagne);outline:none}
.check{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--bone-2);cursor:pointer}
.check input{accent-color:var(--champagne);width:16px;height:16px}
.total{font-family:var(--display);font-size:clamp(44px,5vw,64px);line-height:1;font-variant-numeric:tabular-nums}
.toast{font-size:13px;color:var(--champagne);min-height:1.4em}

/* IA annotation */
.ia{display:none;border-left:2px solid var(--champagne);background:var(--tint);padding:14px 18px;font-size:13.5px;line-height:1.62;color:#DDD5C6;max-width:82ch}
.ia b{color:var(--champagne);font-weight:500}
.ia + .ia{margin-top:14px}
body.show-ia .ia{display:block}
.ia-gap{margin-bottom:28px}

/* pitch page */
.private{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);padding:6px 12px}
.private::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--champagne)}

/* footer */
footer{padding:48px var(--gut-r) 48px var(--gut-l);border-top:1px solid var(--line-soft);color:var(--ash);font-size:13px}
footer .wrap{display:flex;gap:28px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer nav button,footer nav a{text-decoration:none;background:none;border:0;padding:0;color:var(--ash);cursor:pointer;font-size:13px}
footer nav button:hover,footer nav a:hover{color:var(--bone)}
.ext::after{content:" ↗";font-size:.85em;opacity:.7}

@media (prefers-reduced-motion: reduce){*{animation-duration:.001s!important;transition-duration:.001s!important}}

/* ---------- client & nonprofit layout: even rows, centered leftovers, open cards ---------- */
#homeClients,#clientGrid,#homeNonprofits,#workNonprofits{
  display:flex;flex-wrap:wrap;justify-content:center;gap:44px 28px;
  background:none;border:0;
}
#homeClients > .cell,#clientGrid > .cell,#homeNonprofits > .cell,#workNonprofits > .cell{
  background:none;padding:0;gap:10px;min-width:0;flex:0 0 100%;
}
#homeClients .logo,#clientGrid .logo,#homeNonprofits .logo,#workNonprofits .logo,
#homeClients .mark,#clientGrid .mark,#homeNonprofits .mark,#workNonprofits .mark{
  height:auto;aspect-ratio:4/3;margin-bottom:8px;padding:22px;
  transition:border-color .25s ease;
}
#homeClients .cell:hover .logo,#clientGrid .cell:hover .logo,
#homeNonprofits .cell:hover .logo,#workNonprofits .cell:hover .logo{border-color:rgba(201,179,139,.45)}
#clientGrid .more{margin-top:6px}

/* five homepage clients: one row on wide screens, 3 + 2 on tablets, 2 + 2 + 1 on phones */
#homeClients > .cell{flex-basis:calc((100% - 28px)/2)}
@media (min-width:640px){ #homeClients > .cell{flex-basis:calc((100% - 56px)/3)} }
@media (min-width:1040px){ #homeClients{gap:44px 22px} #homeClients > .cell{flex-basis:calc((100% - 88px)/5)} }

/* Work page: three across, two across on tablets */
@media (min-width:600px){ #clientGrid > .cell{flex-basis:calc((100% - 28px)/2)} }
@media (min-width:960px){ #clientGrid > .cell{flex-basis:calc((100% - 56px)/3)} }

/* nonprofits: a centered pair */
#homeNonprofits,#workNonprofits{max-width:820px;margin-inline:auto}
@media (min-width:600px){ #homeNonprofits > .cell,#workNonprofits > .cell{flex-basis:calc((100% - 28px)/2)} }
#homeNonprofits{width:100%}
#homeClients .logo,#clientGrid .logo,#homeNonprofits .logo,#workNonprofits .logo{position:relative;min-height:0;overflow:hidden;padding:0}
#homeClients .logo img,#clientGrid .logo img,#homeNonprofits .logo img,#workNonprofits .logo img{position:absolute;inset:13% 15%;width:70%;height:74%;max-width:none;max-height:none;object-fit:contain}
#homeClients .mark,#clientGrid .mark,#homeNonprofits .mark,#workNonprofits .mark{min-height:0}
#clientGrid .more{margin-top:auto}
#homeNonprofits,#workNonprofits{max-width:620px}
