:root{
  --green:#0E4534;
  --green-d:#082C21;
  --peri:#A9AFF2;
  --lav:#E7E9FB;
  --cream:#EFE6D0;
  --rose:#D8B0A5;
  --rose-d:#A44C43;
  --teal:#2FB4C1;
  --bg:#FBFAF8;
  --ink:#1E211F;
  --on-dark:#F3F4F0;
  --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Jost',system-ui,sans-serif;font-weight:300;
  font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;
  overflow-wrap:break-word;
}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:'Tenor Sans',serif;font-weight:400;margin:0;line-height:1.1}
p{margin:0 0 1.1em}
section{width:100%}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,5vw,48px)}
.center{text-align:center}
:focus-visible{outline:2px solid var(--peri);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:10px 16px;z-index:200}
.skip:focus{left:8px;top:8px}

.sec-t{font-size:clamp(2rem,4.5vw,3.5rem);letter-spacing:.01em}
.sec-t.light{color:var(--peri)}
.sec-head{margin-bottom:clamp(30px,4vw,48px)}
.sec-sub{font-size:1.0625rem;color:#5c6360;max-width:44ch;margin:.7em 0 0}

/* buttons */
.btn{
  display:inline-block;font-family:'Jost',sans-serif;font-weight:400;
  letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;
  background:var(--green);color:#fff;text-decoration:none;
  padding:15px 26px;border-radius:2px;transition:.25s;min-height:44px;
}
.btn:hover{background:var(--green-d);transform:translateY(-2px)}
.btn-lg{font-size:.85rem;padding:18px 32px}
.btn-peri{background:var(--peri);color:#141a2e}
.btn-peri:hover{background:#c0c5f7;color:#141a2e}
.btn-out{background:transparent;border:1px solid var(--peri);color:var(--peri)}
.btn-out:hover{background:var(--peri);color:#141a2e}
.btn-dark{background:var(--green)}

/* header */
.hdr{position:sticky;top:0;z-index:100;background:rgba(251,250,248,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(30,33,31,.09);transition:box-shadow .3s}
.hdr.small{box-shadow:0 8px 26px rgba(8,44,33,.09)}
.hdr-in{max-width:var(--wrap);margin:0 auto;padding:14px clamp(18px,4vw,40px);display:flex;align-items:center;gap:14px}
.hdr.small .hdr-in{padding-top:9px;padding-bottom:9px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:0}
.brand img{width:32px;height:auto;transition:width .3s}
.hdr.small .brand img{width:27px}
.brand-txt{font-family:'Tenor Sans',serif;font-size:clamp(.9rem,2.3vw,1.1rem);letter-spacing:.02em;color:var(--green-d);white-space:nowrap}
@media(max-width:400px){.brand-txt{font-size:.86rem}}
.burger{margin-left:auto;width:46px;height:44px;background:none;border:0;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;flex:none}
.burger span{display:block;height:1.5px;background:var(--green-d);transition:.25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.nav{position:fixed;inset:0 0 0 auto;width:min(88%,340px);background:var(--bg);
  transform:translateX(101%);transition:transform .3s;padding:88px 26px 40px;
  overflow-y:auto;display:flex;flex-direction:column;gap:6px;box-shadow:-20px 0 60px rgba(8,44,33,.16);z-index:99}
.nav.open{transform:none}
.nav-l{list-style:none;margin:0 0 22px;padding:0}
.nav-l>li{border-bottom:1px solid rgba(30,33,31,.08)}
.nav-l a,.sub-t{
  display:block;width:100%;text-align:left;background:none;border:0;
  font-family:'Jost',sans-serif;font-size:.82rem;font-weight:400;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green-d);text-decoration:none;
  padding:14px 0;cursor:pointer;
}
.chev{display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-left:6px;vertical-align:2px;transition:.25s}
.sub-t[aria-expanded=true] .chev{transform:rotate(-135deg)}
.sub{list-style:none;margin:0;padding:0 0 10px 14px;display:none;border-left:1px solid var(--peri)}
.sub-t[aria-expanded=true]+.sub{display:block}
.sub a{font-size:.76rem;padding:9px 0;letter-spacing:.1em;text-transform:none;color:#3d4744}
.sub a:hover{color:var(--green)}
.btn-hdr{align-self:flex-start}

@media(min-width:1120px){
  .burger{display:none}
  .nav{position:static;transform:none;width:auto;background:none;padding:0;
    flex-direction:row;align-items:center;margin-left:auto;gap:clamp(14px,1.8vw,26px);box-shadow:none;overflow:visible}
  .nav-l{display:flex;align-items:center;gap:clamp(13px,1.7vw,24px);margin:0}
  .nav-l>li{border:0;position:relative}
  .nav-l a,.sub-t{padding:6px 0;font-size:.7rem;letter-spacing:.13em;white-space:nowrap;position:relative}
  .nav-l>li>a::after,.sub-t::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--peri);transition:right .3s}
  .nav-l>li>a:hover::after,.sub-t:hover::after,.has-sub:focus-within .sub-t::after{right:0}
  .sub{position:absolute;top:100%;left:-16px;min-width:250px;background:#fff;
    border:1px solid rgba(30,33,31,.1);border-left:2px solid var(--peri);
    box-shadow:0 20px 44px rgba(8,44,33,.13);padding:10px 6px;margin-top:8px}
  .sub a{padding:9px 14px;white-space:normal}
  .sub a:hover{background:var(--lav)}
  .btn-hdr{font-size:.7rem;letter-spacing:.11em;padding:13px 20px;white-space:nowrap}
}

/* hero */
.hero{position:relative;min-height:min(92vh,760px);display:flex;align-items:flex-end;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;transform:scale(1.07);transition:transform 1.6s ease-out}
.hero.in .hero-img{transform:scale(1)}
.hero-scrim{position:absolute;inset:0;background:
  linear-gradient(100deg,rgba(8,44,33,.94) 0%,rgba(8,44,33,.78) 32%,rgba(8,44,33,.24) 62%,rgba(8,44,33,.42) 100%),
  linear-gradient(to top,rgba(8,44,33,.55),rgba(8,44,33,0) 45%)}
.hero-in{position:relative;padding-top:clamp(90px,18vw,150px);padding-bottom:clamp(46px,7vw,86px)}
.hero-h{max-width:min(100%,24ch)}
.hero-pre{display:block;font-family:'Jost',sans-serif;font-weight:300;
  font-size:clamp(.75rem,2.2vw,.95rem);letter-spacing:.42em;text-transform:uppercase;
  color:var(--peri);margin-bottom:.85em}
.hero-big{display:block;font-size:clamp(2.5rem,6.2vw,5.4rem);line-height:1.06;letter-spacing:-.005em;color:#fff;text-shadow:0 2px 34px rgba(8,44,33,.45)}
.hero-in .btn{margin-top:clamp(26px,3.6vw,38px)}
.hero-note{margin:clamp(20px,3vw,30px) 0 0;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(243,244,240,.72)}

/* textures */
.tex{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;pointer-events:none}
.tex-l{opacity:.5}
.tex-taupe2{opacity:.26;mix-blend-mode:multiply}

/* spine */
.spine{position:relative;background:var(--green-d);color:var(--on-dark);
  padding:clamp(66px,9vw,120px) 0;overflow:hidden}
.spine .tex{opacity:.5}
.spine-in{position:relative}
.f{font-family:'Tenor Sans',serif;line-height:1.32;max-width:22ch}
.f1{font-size:clamp(1.55rem,3.6vw,2.7rem);margin-bottom:.55em}
.f2{font-size:clamp(1rem,1.9vw,1.3rem);color:var(--peri);letter-spacing:.06em;margin:0 0 1.9em}
.f3{font-size:clamp(1.4rem,3.3vw,2.35rem);margin:0 0 1.5em;max-width:20ch}
.f4{font-size:clamp(1.3rem,2.9vw,2.05rem);margin:0 0 1.7em}
.f4 em{color:var(--rose);font-style:italic}
.f5{font-family:'Jost',sans-serif;font-weight:300;font-size:clamp(1.02rem,1.6vw,1.2rem);max-width:46ch;line-height:1.85;color:#d6ded9;margin:0;position:relative}
.f5 .rule{display:block;width:56px;height:1px;background:var(--peri);margin-bottom:22px;opacity:.75}
@media(min-width:820px){
  .f2{margin-left:8%}
  .f3{margin-left:20%}
  .f4{margin-left:6%}
  .f5{margin-left:32%}
}

/* thought */
.thought{position:relative;background:var(--lav);padding:clamp(62px,9vw,110px) 0;overflow:hidden}
.thought-in{position:relative}
.lead{font-family:'Tenor Sans',serif;font-size:clamp(1.1rem,2.2vw,1.4rem);color:var(--green);letter-spacing:.06em;margin-bottom:1.2em}
.pq{list-style:none;margin:0 0 clamp(30px,5vw,52px);padding:0}
.pq li{position:relative;font-family:'Tenor Sans',serif;
  font-size:clamp(1.22rem,3.1vw,2.05rem);line-height:1.34;color:#123227;
  padding-left:1.9em;margin-bottom:.85em;max-width:26ch}
.qm,.qg{font-family:Georgia,'Times New Roman',serif}
.qm{position:absolute;left:0;top:-.02em;font-size:2.2em;line-height:1;color:var(--rose)}
@media(min-width:820px){.off1{margin-left:14%}.off2{margin-left:26%}}
.alone{font-family:'Tenor Sans',serif;font-size:clamp(1.5rem,3.8vw,2.5rem);color:var(--green);margin:0}

/* bento */
.inside{padding:clamp(68px,10vw,130px) 0}
.bento{display:grid;gap:16px}
@media(min-width:860px){
  .bento{grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:auto auto}
  .cell-a{grid-row:span 2}
  .cell-b{grid-column:2;grid-row:1}
  .cell-c{grid-column:3;grid-row:1}
  .cell-d{grid-column:2/span 2;grid-row:2}
}
.cell{position:relative;min-width:0;display:flex;flex-direction:column;
  padding:clamp(26px,3.4vw,42px);border:1px solid rgba(30,33,31,.12);
  background:#fff;transition:transform .3s,box-shadow .3s;cursor:pointer}
.cell::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--peri)}
.cell:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(8,44,33,.13)}
.cell-t{font-size:clamp(1.35rem,2.6vw,1.85rem);margin-bottom:.5em}
.cell-a .cell-t{font-size:clamp(2rem,4.4vw,3.1rem)}
.kick{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#4d5b56;margin-bottom:1.1em}
.cell-b{color:#3d4744;max-width:34ch;flex:1}
.cell-a .cell-b{font-family:'Tenor Sans',serif;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;color:#1b2a24}
.cell-l{margin-top:22px;text-decoration:none;font-size:.74rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green);border-top:1px solid rgba(30,33,31,.16);padding-top:14px}
.arw{display:inline-block;transition:transform .3s;margin-left:6px}
.cell:hover .arw{transform:translateX(7px)}
.cell-a{background:linear-gradient(160deg,#eef0fd,#fff 70%)}
.cell-a::before{background:var(--peri);width:4px}
.cell.cell-b{background:var(--cream)}
.cell.cell-b::before{background:var(--rose)}
.cell.cell-c{background:var(--green);border-color:var(--green)}
.cell.cell-c::before{background:var(--peri)}
.cell-c .cell-t{color:#fff}
.cell-c .cell-b{color:#cdd8d2}
.cell-c .cell-l{color:var(--peri);border-top-color:rgba(243,244,240,.28)}
.cell.cell-d::before{background:var(--teal)}
.cell-d .cell-l{color:#0d7c86}

/* meet — overlapping portrait (no overflow clipping) */
.meet{position:relative;z-index:2;background:var(--green);color:var(--on-dark);
  padding:clamp(68px,10vw,130px) 0 clamp(60px,8vw,110px)}
.meet::before{content:'';position:absolute;inset:0;
  background:url('/cdn/demos/ravenbonniwellcom/assets/6d08308e-3ba91f_25e0f315901e49f1ac048284af2da270-mv2.png') center/cover no-repeat;
  opacity:.24;pointer-events:none}
.meet-in{position:relative;display:grid;gap:clamp(34px,5vw,60px);align-items:center}
@media(min-width:900px){
  .meet-in{grid-template-columns:1.05fr .95fr}
}
.meet-txt{min-width:0;max-width:56ch}
.meet-role{font-size:1.02rem;letter-spacing:.1em;color:var(--rose);margin:1em 0 1.5em}
.meet-txt p{color:#d9e0dc}
.meet-pull{font-family:'Tenor Sans',serif;font-size:clamp(1.25rem,2.5vw,1.75rem);
  line-height:1.4;color:#fff;border-left:2px solid var(--peri);padding-left:22px;margin:1.7em 0 1em}
.sig{font-family:'Tenor Sans',serif;font-size:1.05rem;color:var(--peri);letter-spacing:.14em;margin-bottom:1.8em}
.meet-fig{margin:0;min-width:0;position:relative}
.meet-fig img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:62% 48%;
  box-shadow:0 34px 74px rgba(8,44,33,.5)}
@media(min-width:900px){
  .meet-fig{margin-bottom:-90px}
  .meet-fig img{aspect-ratio:3/4.15}
}

/* who */
.who{position:relative;z-index:1;background:var(--rose);
  padding:clamp(80px,11vw,140px) 0 clamp(70px,9vw,115px);overflow:hidden}
@media(min-width:900px){.who{padding-top:clamp(110px,13vw,180px)}}
.who-in{position:relative;max-width:900px}
.who .sec-t{color:#54312b;margin-bottom:clamp(24px,3.5vw,40px)}
.who-l{list-style:none;margin:0 0 clamp(28px,4.5vw,44px);padding:0}
.who-l li{display:flex;gap:clamp(14px,3vw,28px);align-items:baseline;
  padding:20px 0;border-top:1px solid rgba(84,49,43,.28);
  font-size:clamp(1.05rem,2.2vw,1.4rem);color:#3a231f;min-width:0}
.who-l li:last-child{border-bottom:1px solid rgba(84,49,43,.28)}
.num{font-family:'Tenor Sans',serif;font-size:.85rem;letter-spacing:.14em;
  color:#2f3268;background:var(--peri);padding:4px 9px;flex:none}
.inline-cta{display:inline-block;text-decoration:none;font-size:.95rem;letter-spacing:.06em;
  color:#442822;border-bottom:1.5px solid #442822;padding-bottom:3px;transition:.25s}
.inline-cta:hover{color:var(--green);border-color:var(--green)}

/* testimonials */
.tst{padding:clamp(68px,10vw,130px) 0;background:var(--bg)}
.tst .sec-t{margin-bottom:clamp(32px,4.5vw,56px)}
.tst-g{display:grid;gap:20px;margin-bottom:clamp(34px,4.5vw,52px)}
@media(min-width:820px){
  .tst-g{grid-template-columns:repeat(3,1fr);align-items:start}
  .tc-2{margin-top:44px}
  .tc-3{margin-top:18px}
}
.tc{position:relative;margin:0;min-width:0;padding:clamp(28px,3.4vw,40px)}
.qg{font-size:3.6rem;line-height:.55;display:block;margin-bottom:20px;color:var(--rose)}
.tc blockquote{margin:0 0 20px;font-size:1.0625rem;line-height:1.75}
.tc figcaption{font-family:'Tenor Sans',serif;letter-spacing:.14em;font-size:.9rem}
.tc-1{background:var(--rose-d);color:#fdf1ef}
.tc-1 .qg{color:var(--rose)}
.tc-2{background:var(--cream);color:#3a3627}
.tc-2 .qg{color:var(--rose-d)}
.tc-3{background:var(--lav);color:#232a4a;border:1px solid rgba(60,63,122,.14)}
.tc-3 .qg{color:#6d76d2}

/* close */
.close{position:relative;background:var(--green-d);color:#fff;padding:clamp(70px,10vw,130px) 0;overflow:hidden;text-align:center}
.close .tex{opacity:.4}
.close-in{position:relative}
.close-mark{width:44px;margin:0 auto clamp(22px,3vw,30px);filter:brightness(0) invert(1);opacity:.55}
.close-h{font-size:clamp(1.85rem,4.8vw,3.3rem);max-width:22ch;margin:0 auto .8em}
.close-s{color:#c6d0cb;margin-bottom:2em}

/* footer */
.ft{background:#061f18;color:#c7d1cc;padding:clamp(52px,8vw,86px) 0 40px}
.ft-in{display:grid;gap:32px}
.ft-brand{display:flex;align-items:center;gap:14px;font-family:'Tenor Sans',serif;
  font-size:clamp(1.02rem,3vw,1.45rem);color:#fff}
.ft-brand img{width:34px;filter:brightness(0) invert(1);opacity:.9;flex:none}
.ft-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px}
.ft-nav a{text-decoration:none;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:#a9b6b0}
.ft-nav a:hover{color:var(--peri)}
.ft-soc{list-style:none;margin:0;padding:0;display:flex;gap:14px}
.ft-soc a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;
  border:1px solid rgba(169,175,242,.4);color:var(--peri);border-radius:50%;transition:.25s}
.ft-soc a:hover{background:var(--peri);color:#061f18}
.ft-soc svg{width:20px;height:20px}
.ft-cr{font-size:.8rem;color:#8b9892;margin:0;border-top:1px solid rgba(255,255,255,.1);padding-top:24px}
@media(min-width:900px){
  .ft-in{grid-template-columns:1fr auto;align-items:start}
  .ft-nav{grid-column:1;grid-row:2}
  .ft-soc{grid-column:2;grid-row:2;justify-content:flex-end}
  .ft-cr{grid-column:1/-1}
}

/* reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.rv.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .hero-img{transform:none;transition:none}
  .btn:hover,.cell:hover{transform:none}
}