@font-face{font-family:'DM Sans';src:url('assets/fonts/dm-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:'Newsreader';src:url('assets/fonts/newsreader-latin.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
:root{--ink:#172320;--forest:#152320;--paper:#f5f2ea;--gold:#b8915d;--line:rgba(30,45,40,.22);--muted:#59625e;--shell:1370px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
.shell{width:min(calc(100% - 96px),var(--shell));margin-inline:auto}
.skip-link{position:fixed;z-index:50;top:-100px;left:16px;padding:12px 18px;background:#fff;color:#111}.skip-link:focus{top:12px}
.reading-progress{position:fixed;z-index:40;top:0;left:0;right:0;height:2px;pointer-events:none}.reading-progress span{display:block;width:100%;height:100%;background:#d6b47d;transform:scaleX(0);transform-origin:left}
.site-header{position:fixed;z-index:30;top:0;left:0;right:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.23);transition:background .3s ease,border-color .3s ease}
.site-header.is-solid{background:rgba(18,31,29,.97);border-color:rgba(255,255,255,.1);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header-inner{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:35px}
.brand{display:flex;align-items:center;gap:14px;white-space:nowrap;justify-self:start}.brand img{width:35px;height:50px;object-fit:contain}.brand span,.footer-brand span{font:400 18px/1 'Newsreader',Georgia,serif;text-transform:uppercase;letter-spacing:.13em}
.desktop-nav{display:flex;align-items:center;gap:38px}.desktop-nav a{font-size:12px;font-weight:700;letter-spacing:.07em}.desktop-nav a:hover,.office-link:hover{color:#e3c89d}
.header-actions{display:flex;justify-content:end;align-items:center}.office-link{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:17px 20px;min-width:176px;border:1px solid rgba(255,255,255,.48);font-size:12px;font-weight:700;letter-spacing:.06em}.office-link span{font-size:17px;font-weight:400}.menu-toggle,.mobile-nav{display:none}
.hero{position:relative;min-height:760px;height:clamp(760px,100svh,1000px);color:#fff;isolation:isolate;overflow:hidden;background:#14211e}
.hero-image{position:absolute;inset:0;z-index:-3;background-image:url('assets/hero-composite-v2.jpg');background-size:cover;background-position:63% 49%}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,17,17,.72) 0%,rgba(8,17,17,.42) 31%,rgba(8,17,17,.05) 67%,rgba(8,17,17,.04) 100%),linear-gradient(180deg,rgba(8,17,17,.22),transparent 42%,rgba(8,17,17,.03) 70%,rgba(8,17,17,.5) 100%)}
.hero::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:-1px;height:27%;background:linear-gradient(to bottom,transparent 0%,rgba(22,34,31,.52) 35%,#c4c2b8 81%,var(--paper) 100%);pointer-events:none}
.hero-content{min-height:100%;display:flex;align-items:center;padding-top:96px;padding-bottom:124px}
.hero-text{width:min(100%,660px);margin-top:15px}.eyebrow,.section-index,.principle-label{margin:0;text-transform:uppercase;letter-spacing:.21em;font-size:11px;font-weight:700}.eyebrow{display:flex;align-items:center;gap:14px;color:#eee0c6}.eyebrow .rule{width:40px;height:1px;background:#d4b47c}
h1,h2,h3,.principle p,.intro-lead,.giving-lead,.contact-details a{font-family:'Newsreader',Georgia,serif;font-weight:400;letter-spacing:-.045em}h1 em,h2 em,.principle em{font-weight:400;font-style:normal;color:#d5bb91}
h1{margin:30px 0 30px;font-size:clamp(68px,6.1vw,106px);line-height:.97;text-wrap:balance;text-shadow:0 3px 22px rgba(0,0,0,.2)}
.hero-intro{max-width:520px;margin:0 0 34px;color:#f0f1ec;font-size:17px;line-height:1.72;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.hero-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:227px;padding:18px 21px;background:#d1ad75;color:#17201d;font-size:12px;font-weight:700;letter-spacing:.05em;transition:background .2s ease,transform .2s ease}.hero-cta:hover{background:#ebce9e;transform:translateY(-2px)}.hero-cta span{font-size:17px;font-weight:400}
.hero-foot{position:absolute;left:50%;bottom:145px;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.45);padding-top:15px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 2px 7px #14201f}.hero-foot a span{margin-left:10px;font-size:16px}.hero-foot a:hover{color:#e8cfa7}
.section-light{background:var(--paper)}.section-index{display:flex;align-items:center;gap:18px;color:#8d704b}.section-index span{font-size:12px;color:#96764d}.section-index::after{content:"";width:37px;height:1px;background:#a17c4a;order:1}.section-index{flex-direction:row}.section-index span{order:0}.section-index::after{order:0}
.introduction{padding:38px 0 165px}.intro-layout{display:grid;grid-template-columns:235px 1fr;gap:4vw}.intro-layout>.section-index{align-self:start;padding-top:18px;white-space:nowrap}.intro-main h2{max-width:1040px;margin:0 0 80px;font-size:clamp(55px,5.2vw,86px);line-height:1.03}.intro-main h2 em,.expertise h2 em,.giving h2 em{color:#9b7546}.intro-columns{display:grid;grid-template-columns:.85fr 1fr;gap:8vw;max-width:1010px}.intro-lead{margin:0;font-size:clamp(28px,2.7vw,41px);line-height:1.22}.intro-columns p:last-child{margin:5px 0 0;max-width:470px;color:var(--muted);font-size:16px;line-height:1.9}
.expertise{padding:0 0 155px}.section-heading{display:grid;grid-template-columns:235px 1fr;gap:4vw;border-top:1px solid var(--line);padding-top:50px;margin-bottom:77px}.section-heading .section-index{white-space:nowrap;padding-top:12px}.section-heading h2{margin:0 0 24px;font-size:clamp(53px,5vw,80px);line-height:1.03}.section-heading p:last-child{margin:0;max-width:520px;color:var(--muted);font-size:16px;line-height:1.8}
.expertise-list{border-top:1px solid var(--line)}.expertise-row{display:grid;grid-template-columns:100px minmax(250px,.75fr) minmax(290px,1fr) 40px;gap:24px;align-items:baseline;border-bottom:1px solid var(--line);padding:30px 0 32px}.row-number{font-size:12px;color:#9b7546;letter-spacing:.1em}.expertise-row h3{margin:0;font-size:clamp(30px,3vw,46px);line-height:1.08}.expertise-row p{margin:0;max-width:480px;color:var(--muted);font-size:15px;line-height:1.7}.row-mark{font-size:26px;color:#a68150;font-family:'Newsreader',serif}
.principle{background:#192a27;color:#f8f5ef;padding:125px 0 165px}.principle-inner{display:grid;grid-template-columns:235px 1fr;gap:4vw;align-items:start}.principle-label{color:#d2b78a;padding-top:16px}.principle p{margin:0;font-size:clamp(46px,5vw,78px);line-height:1.12}
.giving{position:relative;background:var(--paper);padding:180px 0 170px}.giving::before{content:"";position:absolute;top:0;left:0;right:0;height:150px;background:linear-gradient(180deg,#192a27,rgba(25,42,39,.5) 24%,var(--paper) 100%)}.giving-layout{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.giving h2{margin:70px 0 0;font-size:clamp(64px,6vw,96px);line-height:1.02}.giving-copy{padding-top:110px}.giving-rule{display:block;width:88px;height:2px;background:#b48d55;margin-bottom:43px}.giving-lead{font-size:clamp(30px,2.8vw,42px);line-height:1.2;margin:0 0 25px}.giving-copy p:last-child{max-width:490px;color:var(--muted);font-size:16px;line-height:1.85;margin:0}
.contact{position:relative;color:#f9f6ef;background:#162522;padding:185px 0 125px}.contact::before{content:"";position:absolute;left:0;right:0;top:0;height:155px;background:linear-gradient(180deg,var(--paper),rgba(22,37,34,.52) 55%,#162522)}.contact-layout{position:relative;display:grid;grid-template-columns:1fr .75fr;gap:11vw}.contact .section-index{color:#d4bb93}.contact h2{margin:54px 0 27px;font-size:clamp(59px,5.3vw,85px);line-height:1.04}.contact>div>div>p:last-child{color:#c5ccc5;max-width:455px;font-size:16px;line-height:1.8}.contact-details{padding-top:10px}.contact-details>div{padding:27px 0 30px;border-top:1px solid rgba(255,255,255,.27)}.contact-details>div:last-child{border-bottom:1px solid rgba(255,255,255,.27)}.contact-details span{display:block;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#d0b58b;margin-bottom:14px}.contact-details a{font-size:clamp(27px,2.5vw,38px);line-height:1.3}.contact-details a:hover{color:#d5bb91}.contact-details b{font:400 20px/1 'DM Sans',sans-serif;margin-left:8px}.contact-details address{font-style:normal}
.site-footer{background:#101a18;color:#b3beb5;border-top:1px solid rgba(255,255,255,.13)}.footer-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{display:flex;align-items:center;gap:12px;color:#f0eee8}.footer-brand img{width:25px;height:37px;object-fit:contain}.footer-brand span{font-size:15px}.footer-inner p,.footer-inner small{font-size:11px;letter-spacing:.1em}.footer-inner small{white-space:nowrap}
section[id]{scroll-margin-top:96px}a:focus-visible,button:focus-visible{outline:3px solid #d6b47d;outline-offset:4px}
@media(max-width:1100px){.shell{width:min(calc(100% - 64px),var(--shell))}.brand span{font-size:15px}.header-inner{gap:17px}.desktop-nav{gap:23px}.hero-image{background-position:68% center}.intro-layout,.section-heading,.principle-inner{grid-template-columns:175px 1fr}.expertise-row{grid-template-columns:65px minmax(190px,.8fr) minmax(260px,1fr) 25px}}
@media(max-width:760px){.shell{width:min(calc(100% - 40px),var(--shell))}.header-inner{height:74px;grid-template-columns:1fr auto}.brand img{width:26px;height:40px}.brand span{font-size:13px}.desktop-nav{display:none}.header-actions{gap:10px}.office-link{min-width:auto;padding:12px;font-size:11px;gap:8px}.office-link span{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;color:#fff;border:1px solid rgba(255,255,255,.45);padding:0 11px}.menu-toggle span{display:block;width:20px;height:1px;background:currentColor}.mobile-nav:not([hidden]){display:grid;gap:0;padding:8px 20px 16px;background:#172622;border-top:1px solid rgba(255,255,255,.14)}.mobile-nav a{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px;font-weight:700}.hero{height:auto;min-height:820px}.hero-image{background-position:61% center}.hero-shade{background:linear-gradient(180deg,rgba(7,16,17,.56) 0%,rgba(7,16,17,.48) 36%,rgba(7,16,17,.07) 62%,rgba(7,16,17,.2) 100%)}.hero::after{height:26%;background:linear-gradient(180deg,transparent,rgba(22,34,31,.28) 20%,#b4b5aa 74%,var(--paper))}.hero-content{min-height:820px;align-items:flex-start;padding-top:166px;padding-bottom:340px}.hero-text{margin:0}.eyebrow{font-size:9px;letter-spacing:.15em;line-height:1.5}.eyebrow .rule{width:25px;flex:none}h1{font-size:clamp(48px,12vw,72px);margin:25px 0}.hero-intro{font-size:14px;line-height:1.65;max-width:440px}.hero-cta{padding:15px 18px;min-width:205px}.hero-foot{bottom:90px;font-size:9px;gap:15px}.hero-foot span:first-child{max-width:190px;line-height:1.5}.introduction{padding:45px 0 95px}.intro-layout,.section-heading,.principle-inner,.giving-layout,.contact-layout{display:block}.intro-layout>.section-index{padding:0;margin-bottom:35px}.intro-main h2{font-size:clamp(46px,10vw,67px);margin-bottom:38px}.intro-columns{display:block}.intro-lead{font-size:29px;margin-bottom:24px}.intro-columns p:last-child{font-size:15px}.expertise{padding-bottom:92px}.section-heading{padding-top:34px;margin-bottom:42px}.section-heading .section-index{padding:0;margin-bottom:35px}.section-heading h2{font-size:clamp(46px,10vw,67px)}.section-heading p:last-child{font-size:15px}.expertise-row{grid-template-columns:52px 1fr 22px;gap:8px;padding:25px 0 28px}.expertise-row h3{font-size:32px}.expertise-row p{grid-column:2/3;font-size:14px}.row-mark{grid-column:3;grid-row:1}.principle{padding:85px 0 105px}.principle-label{display:block;padding:0;margin-bottom:35px}.principle p{font-size:clamp(42px,9vw,66px)}.giving{padding:135px 0 110px}.giving::before{height:115px}.giving h2{font-size:clamp(52px,11vw,78px);margin:40px 0 0}.giving-copy{padding-top:60px}.giving-rule{margin-bottom:27px}.giving-lead{font-size:33px}.giving-copy p:last-child{font-size:15px}.contact{padding:145px 0 80px}.contact::before{height:120px}.contact h2{font-size:clamp(52px,11vw,72px);margin:40px 0 20px}.contact>div>div>p:last-child{font-size:15px}.contact-details{padding-top:50px}.contact-details a{font-size:29px}.footer-inner{min-height:0;padding:30px 0;display:grid;grid-template-columns:1fr auto}.footer-inner p{grid-column:1/-1;grid-row:2;margin:0}.footer-inner small{grid-column:2;grid-row:1}}
@media(max-width:420px){.brand span{font-size:12px}.office-link{font-size:10px}.hero{min-height:850px}.hero-content{min-height:850px;padding-top:145px;padding-bottom:330px}.hero-image{background-position:64% center}.hero-intro{max-width:310px}.hero-foot span:first-child{max-width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* Art-directed crops keep the complete animal in view on each screen shape. */
.hero-image{background-position:72% 49%}
@media(max-width:1100px){.hero-image{background-position:74% center}}
@media(max-width:760px){
  .hero{min-height:940px;background:linear-gradient(180deg,#1b2d36 0%,#182824 53%,#23312c 100%)}
  .hero-image{
    inset:300px 0 0;
    background-image:url('assets/hero-mobile-v2.jpg');
    background-position:center center;
    background-size:cover;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 17%,#000 100%);
    mask-image:linear-gradient(to bottom,transparent 0%,#000 17%,#000 100%);
  }
  .hero-shade{background:linear-gradient(180deg,rgba(8,19,21,.38),rgba(8,19,21,.53) 45%,rgba(8,19,21,.08) 70%,transparent 100%)}
  .hero::after{height:18%;background:linear-gradient(180deg,transparent 0%,rgba(25,38,35,.46) 27%,#ccc9bf 75%,var(--paper))}
  .hero-content{min-height:940px;padding-bottom:360px}
  .hero-foot{bottom:66px}
}
@media(max-width:420px){.hero{min-height:940px}.hero-content{min-height:940px}.hero-image{background-position:center center}}
@media(max-width:760px){
  .office-link{font-size:0;width:54px;min-width:54px;min-height:44px;justify-content:center}
  .office-link::before{content:'Call';font-size:11px;line-height:1}
  .hero-image{background-position:72% center}
}
@media(max-width:420px){.hero-image{background-position:72% center}}
/* Final editorial flow: a single warm canvas after the photographic opening. */
.hero::after{height:21%;background:linear-gradient(180deg,transparent 0%,rgba(23,35,32,.36) 27%,rgba(245,242,234,.78) 78%,var(--paper) 100%)}
.principle{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);padding:96px 0 110px}
.principle-label{color:#8d704b}
.principle em{color:#9b7546}
.giving{background:var(--paper);padding:0 0 145px}
.giving::before{display:none}
.giving-layout{border-top:1px solid var(--line);padding-top:73px}
.contact{padding:120px 0 125px}
.contact::before{display:none}
.row-mark{display:none}
.expertise-row{grid-template-columns:100px minmax(250px,.75fr) minmax(290px,1fr)}
@media(max-width:1100px){.expertise-row{grid-template-columns:65px minmax(190px,.8fr) minmax(260px,1fr)}}
@media(max-width:760px){
  .hero::after{height:17%;background:linear-gradient(180deg,transparent,rgba(23,35,32,.28) 25%,rgba(245,242,234,.72) 78%,var(--paper))}
  .principle{padding:77px 0 86px}
  .giving{padding:0 0 100px}
  .giving-layout{padding-top:54px}
  .contact{padding:87px 0 80px}
  .expertise-row{grid-template-columns:52px 1fr}
  .expertise-row p{grid-column:2}
}
/* Phone refinement: clear brand spacing, distinct actions, and readable type. */
.office-short,.phone-icon{display:none}
@media(max-width:760px){
  .site-header{background:rgba(17,31,31,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .site-header.menu-open{background:#172622}
  .header-inner{height:76px;grid-template-columns:minmax(0,1fr) auto;gap:12px}
  .brand{min-width:0;gap:8px}
  .brand img{width:25px;height:39px;flex:none}
  .brand span{font-size:11px;line-height:1.05;letter-spacing:.095em;white-space:nowrap}
  .header-actions{gap:8px}
  .office-link{width:auto;min-width:76px;height:42px;min-height:42px;padding:0 11px;justify-content:center;gap:7px;background:#d1ad75;border:1px solid #d1ad75;color:#14211e;font-size:13px;letter-spacing:0;white-space:nowrap}
  .office-link:hover{background:#e8c997;color:#14211e}
  .office-link::before,.office-label,.office-arrow{display:none}
  .office-short{display:inline!important;font-size:13px!important;font-weight:700;line-height:1}
  .phone-icon{display:block;width:16px;height:16px;flex:none}
  .menu-toggle{width:42px;height:42px;min-width:42px;padding:0 10px;gap:6px;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.045)}
  .menu-toggle span{width:20px;height:1.5px;transition:transform .2s ease}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .mobile-nav:not([hidden]){padding:15px 22px 25px;background:#172622;border-top:1px solid rgba(255,255,255,.14);box-shadow:0 24px 34px rgba(0,0,0,.3)}
  .mobile-nav{counter-reset:mobile-links}
  .mobile-nav a{display:flex;align-items:baseline;gap:19px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18);font:400 26px/1.15 'Newsreader',Georgia,serif;letter-spacing:-.02em}
  .mobile-nav a::before{counter-increment:mobile-links;content:counter(mobile-links,decimal-leading-zero);font:700 10px/1 'DM Sans',Arial,sans-serif;letter-spacing:.1em;color:#d2b78a}
  .hero-content{padding-top:132px}
  h1{font-size:clamp(49px,11.8vw,66px);line-height:1;margin:22px 0 24px}
  .eyebrow{font-size:10px;letter-spacing:.14em}
  .hero-intro{font-size:15.5px;line-height:1.62;max-width:335px;margin-bottom:28px}
  .hero-cta{width:min(100%,286px);min-height:56px;padding:15px 18px;gap:12px;font-size:14px;letter-spacing:0;line-height:1.2}
  .hero-cta span{font-size:20px}
  .hero-foot{font-size:10px;letter-spacing:.11em;bottom:64px}
  .section-index{font-size:11px;letter-spacing:.16em;gap:12px;line-height:1.5}
  .section-index span,.row-number{font-size:11px}
  .intro-layout>.section-index,.section-heading .section-index{margin-bottom:32px}
  .intro-main h2,.section-heading h2,.giving h2,.contact h2{line-height:1.08}
  .intro-columns p:last-child,.section-heading p:last-child,.giving-copy p:last-child,.contact>div>div>p:last-child{font-size:16px;line-height:1.7}
  .expertise-row{gap:9px 14px;padding:27px 0 30px}
  .expertise-row h3{font-size:32px;line-height:1.13}
  .expertise-row p{font-size:15.5px;line-height:1.65}
  .principle p{line-height:1.15}
  .giving-lead{font-size:34px;line-height:1.2}
  .contact-details span{font-size:11.5px}
  .footer-inner p,.footer-inner small{font-size:12px;line-height:1.5}
}
@media(max-width:380px){
  .header-inner{gap:8px}
  .brand span{font-size:10px;letter-spacing:.08em}
  .office-link{min-width:67px;padding:0 8px}
  .header-actions{gap:6px}
  .menu-toggle{width:40px;min-width:40px}
}
@media(max-width:380px){.brand span{font-size:11px;letter-spacing:.075em}}
.office-link .office-label{font-size:12px}
.office-link .office-arrow{font-size:17px}

/* Identity and actions should read clearly at the scale of the opening image. */
.header-inner{height:104px}
.brand{gap:16px}
.brand img{width:39px;height:56px}
.brand span{font-size:22px;letter-spacing:.115em}
.brand-break{display:none}
.desktop-nav{gap:42px}
.desktop-nav a{font-size:14px;letter-spacing:.035em;line-height:1.3}
.office-link{min-width:208px;min-height:58px;padding:17px 21px;gap:14px;border-color:rgba(255,255,255,.68);background:rgba(15,29,27,.22);transition:background .2s ease,color .2s ease,border-color .2s ease}
.office-link .office-label{font-size:15px;letter-spacing:.02em}
.office-link .office-arrow{font-size:22px}
.office-link:hover{background:#d1ad75;color:#17201d;border-color:#d1ad75}
.hero-content{padding-top:104px}
.hero-cta{min-width:268px;min-height:66px;padding:20px 24px;font-size:16px;letter-spacing:0}
.hero-cta span{font-size:23px}
.hero-intro{max-width:550px}
section[id]{scroll-margin-top:104px}

/* The operating model gives the page its own story and concrete substance. */
.principle{position:relative;padding:115px 0 175px;background:#182a27;color:#f7f4ec;border-top:0}
.principle::after{content:"";position:absolute;left:0;right:0;bottom:0;height:100px;background:linear-gradient(180deg,transparent,#847f73 50%,var(--paper));pointer-events:none}
.approach-layout{display:grid;grid-template-columns:235px 1fr;gap:4vw}
.approach-layout .section-index{color:#dbc49b;align-self:start;padding-top:20px;white-space:nowrap}
.principle .section-index{font:700 11px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.21em;text-transform:uppercase}
.approach-layout .section-index span{color:#dbc49b}
.approach-layout .section-index::after{background:#dbc49b}
.approach-main h2{max-width:880px;margin:0 0 28px;font:400 clamp(58px,5.5vw,88px)/1.04 'Newsreader',Georgia,serif;letter-spacing:-.045em}
.approach-intro{max-width:620px;margin:0 0 78px;color:#d5dfd8;font-size:18px;line-height:1.7}
.principle .approach-intro{font:400 18px/1.7 'DM Sans',Arial,sans-serif;letter-spacing:0;margin:0 0 72px}
.approach-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.3)}
.approach-steps article{padding:28px 30px 0 0}
.approach-steps article+article{padding-left:30px;border-left:1px solid rgba(255,255,255,.2)}
.approach-steps article>span{font-size:12px;font-weight:700;letter-spacing:.16em;color:#d6b984}
.approach-steps h3{margin:27px 0 14px;font:400 clamp(28px,2.5vw,38px)/1.12 'Newsreader',Georgia,serif;letter-spacing:-.035em}
.approach-steps p{margin:0;max-width:290px;color:#c4d0c8;font-size:15px;line-height:1.7}
.principle .approach-steps p{font:400 15px/1.7 'DM Sans',Arial,sans-serif;letter-spacing:0}
.giving{padding-top:0}
.giving-layout{border-top:0;padding-top:125px}

@media(max-width:1100px){
  .brand span{font-size:18px}
  .brand img{width:34px;height:50px}
  .desktop-nav{gap:24px}
  .desktop-nav a{font-size:13px}
  .office-link{min-width:180px}
  .approach-layout{grid-template-columns:175px 1fr}
}
@media(max-width:760px){
  .header-inner{height:76px}
  .brand{gap:8px}
  .brand img{width:25px;height:39px}
  .brand span{font-size:14px;line-height:1.02;letter-spacing:.065em}
  .brand-break{display:block}
  .office-link{min-width:76px;min-height:42px;padding:0 11px;background:#d1ad75;border-color:#d1ad75}
  .office-link .office-short{font-size:13px!important}
  .hero-content{padding-top:132px}
  .hero-cta{width:min(100%,286px);min-width:0;min-height:58px;padding:16px 19px;font-size:16px}
  .approach-layout{display:block}
  .approach-layout .section-index{padding:0;margin-bottom:34px}
  .approach-main h2{font-size:clamp(48px,10vw,69px);margin-bottom:22px}
  .approach-intro{font-size:16px;line-height:1.7;margin-bottom:42px}
  .principle .approach-intro{font-size:16px;line-height:1.7;margin-bottom:42px}
  .approach-steps{display:block}
  .approach-steps article,.approach-steps article+article{border-left:0;border-bottom:1px solid rgba(255,255,255,.2);padding:24px 0 27px}
  .approach-steps h3{margin:15px 0 10px;font-size:34px}
  .approach-steps p{font-size:15.5px;max-width:500px}
  .principle .approach-steps p{font-size:15.5px;max-width:500px}
  .giving-layout{padding-top:75px}
}
@media(max-width:380px){
  .brand span{font-size:13px;letter-spacing:.055em}
  .office-link{min-width:67px;padding:0 8px}
}

/* Substantial, tactile actions with a restrained metallic finish. */
.office-link,.hero-cta{
  position:relative;
  overflow:hidden;
  border:1px solid #e9cc96;
  border-radius:3px;
  background:linear-gradient(142deg,#edd09b 0%,#d8b575 52%,#bd9254 100%);
  color:#1a2521;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),inset 0 -2px 0 rgba(89,54,20,.19),0 5px 0 rgba(81,56,28,.55),0 13px 24px rgba(0,0,0,.2);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.office-link::after,.hero-cta::after{
  content:"";position:absolute;inset:0 0 auto;height:52%;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.22),transparent);
}
.office-link:hover,.hero-cta:hover{
  background:linear-gradient(142deg,#f2d8aa 0%,#e3c38c 52%,#caa068 100%);
  color:#1a2521;filter:brightness(1.03);transform:translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(89,54,20,.17),0 7px 0 rgba(81,56,28,.55),0 17px 30px rgba(0,0,0,.23);
}
.office-link:active,.hero-cta:active{
  transform:translateY(4px);
  box-shadow:inset 0 2px 5px rgba(70,45,18,.22),0 1px 0 rgba(81,56,28,.55);
}
.office-link .office-label,.office-link .office-arrow,.hero-cta span{position:relative;z-index:1}
.office-link .office-label{font-size:16px;font-weight:700;letter-spacing:0}
.office-link .office-arrow,.hero-cta span{
  display:grid;place-items:center;flex:none;width:36px;height:36px;
  border:1px solid rgba(35,48,39,.24);border-radius:50%;
  background:rgba(34,49,40,.12);color:#18251f;font:400 21px/1 'DM Sans',Arial,sans-serif;
}
.office-link{min-width:220px;min-height:60px;padding:10px 11px 10px 20px;gap:16px}
.hero-cta{min-width:280px;min-height:72px;padding:13px 14px 13px 24px;gap:19px;font-size:17px;font-weight:700}
.hero-cta span{width:42px;height:42px;font-size:24px}
@media(max-width:760px){
  .office-link{min-width:91px;width:91px;min-height:47px;height:47px;padding:0 10px;gap:6px;border-radius:3px}
  .office-link .office-arrow{display:none}
  .office-link .office-short{position:relative;z-index:1;font-size:14px!important;font-weight:700}
  .phone-icon{position:relative;z-index:1;width:17px;height:17px}
  .hero-cta{width:min(100%,300px);min-width:0;min-height:66px;padding:11px 11px 11px 21px;font-size:16px}
  .hero-cta span{width:38px;height:38px;font-size:22px}
}
@media(max-width:380px){.office-link{min-width:82px;width:82px;padding:0 7px}}

/* Editorial button typography and a quieter, more intentional icon divider. */
.office-link,.hero-cta{background:linear-gradient(150deg,#e6c88f,#d2a868);border-color:#ebd5aa;box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 3px 0 #8a6337,0 10px 24px rgba(0,0,0,.18)}
.office-link::after,.hero-cta::after{display:none}
.office-link:hover,.hero-cta:hover{background:linear-gradient(150deg,#efd4a1,#dab377);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 5px 0 #8a6337,0 14px 26px rgba(0,0,0,.2)}
.office-link .office-label{font:500 20px/1 'Newsreader',Georgia,serif;letter-spacing:-.025em}
.hero-cta{font:500 23px/1.05 'Newsreader',Georgia,serif;letter-spacing:-.022em;min-width:310px}
.office-link .office-arrow,.hero-cta span{width:39px;height:38px;border:0;border-left:1px solid rgba(42,44,32,.27);border-radius:0;background:none;font-size:24px}
.hero-cta span{width:47px;height:44px;font-size:27px}

/* Chapter numbers identify sections; lists inside them are deliberately unnumbered. */
.expertise-row{grid-template-columns:minmax(240px,.75fr) minmax(290px,1fr);gap:50px;padding-left:clamp(0px,10vw,130px)}
.approach-steps article::before{content:"";display:block;width:38px;height:2px;background:#d6b984;margin-bottom:26px}
.approach-steps h3{margin:0 0 14px}
@media(max-width:1100px){.expertise-row{grid-template-columns:minmax(185px,.8fr) minmax(260px,1fr);gap:28px;padding-left:0}}
@media(max-width:760px){
  .office-link .office-arrow{display:none}
  .office-link .office-short{font:500 18px/1 'Newsreader',Georgia,serif!important;letter-spacing:-.02em}
  .hero-cta{width:min(100%,315px);min-width:0;font-size:21px}
  .hero-cta span{width:42px;height:40px;font-size:25px}
  .expertise-row{grid-template-columns:1fr;gap:9px;padding:26px 0 29px}
  .expertise-row h3{grid-column:1}
  .expertise-row p{grid-column:1}
  .approach-steps article::before{margin-bottom:18px}
}

/* Revised stone ledges preserve the photographic opening with more grounded footing. */
.hero-image{background-image:url('assets/hero-stone-v3.png')}
@media(max-width:760px){.hero-image{background-image:url('assets/hero-mobile-stone-v3.png')}}

/* A restrained geological foreground and a single editorial grid for chapters 01–02. */
.hero-image{background-image:url('assets/hero-stone-v4.png')}
.hero-shade{background:linear-gradient(90deg,rgba(8,17,17,.72),rgba(8,17,17,.42) 31%,rgba(8,17,17,.05) 67%),linear-gradient(180deg,rgba(8,17,17,.17),transparent 55%,rgba(8,17,17,.3) 82%,rgba(8,17,17,.58))}
.office-link{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:0;padding:8px 12px 8px 17px;text-align:center}
.office-link .office-label{line-height:1.16;transform:translateY(2px)}
.office-link .office-arrow{display:grid;place-items:center;height:42px;width:40px;line-height:1}
.introduction{padding:100px 0 105px}
.intro-layout{display:block}
.intro-layout>.section-index{padding:0;margin-bottom:43px}
.intro-main{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:start;gap:clamp(50px,7vw,120px)}
.intro-main h2{max-width:680px;margin:0;font-size:clamp(54px,5.1vw,79px)}
.intro-columns{display:block;max-width:490px;padding-top:6px}
.intro-lead{font-size:clamp(29px,2.7vw,39px);margin-bottom:29px}
.intro-columns p:last-child{margin:0;max-width:490px;font-size:16px;line-height:1.75}
.expertise{padding:0 0 110px}
.section-heading{display:block;padding-top:60px;margin-bottom:51px}
.section-heading .section-index{padding:0;margin-bottom:36px}
.section-heading h2{max-width:850px;margin-bottom:22px}
.section-heading p:last-child{max-width:680px}
.expertise-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.expertise-row{display:block;min-height:255px;padding:34px 38px 39px;background:#f7f5ef;border:0}
.expertise-row::before{content:"";display:block;width:45px;height:2px;background:#a17c4a;margin-bottom:35px}
.expertise-row h3{font-size:clamp(34px,3vw,46px);margin-bottom:18px}
.expertise-row p{max-width:470px;font-size:16px;line-height:1.65}
@media(max-width:760px){
  .hero-image{background-image:url('assets/hero-mobile-stone-v4.png')}
  .office-link{display:inline-flex;justify-content:center;gap:6px;padding:0 11px}
  .office-link .office-label,.office-link .office-arrow{display:none}
  .office-link .office-short{display:inline!important}
  .office-link .phone-icon{display:block;width:15px;height:15px}
  .introduction{padding:65px 0 80px}
  .intro-layout>.section-index{margin-bottom:30px}
  .intro-main{display:block}
  .intro-main h2{font-size:clamp(46px,10vw,65px);margin-bottom:31px}
  .intro-columns{padding:0}
  .intro-lead{font-size:30px;margin-bottom:24px}
  .expertise{padding-bottom:80px}
  .section-heading{padding-top:42px;margin-bottom:35px}
  .section-heading .section-index{margin-bottom:27px}
  .expertise-list{grid-template-columns:1fr}
  .expertise-row{min-height:0;padding:29px 27px 32px}
  .expertise-row::before{margin-bottom:25px}
  .expertise-row h3{font-size:34px}
  .expertise-row p{font-size:15.5px}
}

/* The final crop keeps the animal in frame on panoramic monitors. */
.hero-image{background-image:url('assets/hero-stone-v5.png')}
.office-link{display:flex;align-items:stretch;gap:0;width:238px;height:64px;min-height:64px;padding:0}
.office-link .office-label{display:flex;flex:1;align-items:center;justify-content:center;min-width:0;padding:5px 5px 0 8px;transform:none;text-align:center}
.office-link .office-arrow{display:grid;flex:0 0 46px;place-items:center;align-self:stretch;width:46px;height:auto;padding-top:3px}
@media(min-width:1900px) and (min-aspect-ratio:21/10){
  .hero{background:linear-gradient(105deg,#101d1d 0%,#1e3031 58%,#26373a 100%)}
  .hero-image{background-size:auto 92%;background-position:right bottom;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to right,transparent calc(100% - 1600px),#000 calc(100% - 1050px));mask-image:linear-gradient(to right,transparent calc(100% - 1600px),#000 calc(100% - 1050px))}
  .hero-text{width:min(100%,780px)}
  .hero h1{font-size:clamp(80px,4.1vw,96px)}
  .hero-foot{bottom:70px}
}
@media(max-width:760px){
  .hero-image{background-image:url('assets/hero-mobile-stone-v5.png')}
  .office-link{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:76px;height:42px;min-height:42px;padding:0 11px;gap:6px}
  .office-link .office-label,.office-link .office-arrow{display:none}
}

/* Shrubs and grasses now form the foreground; retain the panoramic art direction. */
.hero-image{background-image:url('assets/hero-stone-v6.png')}
@media(max-width:760px){.hero-image{background-image:url('assets/hero-mobile-stone-v6.png')}}

/* Two-peak Mount Shasta visual study for the office review site. */
.hero{min-height:860px;height:clamp(860px,100svh,1000px)}
.hero-image{
  inset:0;
  background-image:url('assets/mount-shasta-two-peak-concept.png');
  background-size:cover;
  background-position:center 54%;
  background-repeat:no-repeat;
  -webkit-mask-image:none;
  mask-image:none;
}
.hero-shade{
  background:linear-gradient(90deg,rgba(10,24,25,.86) 0%,rgba(10,24,25,.68) 29%,rgba(10,24,25,.23) 62%,rgba(10,24,25,.08) 100%),linear-gradient(180deg,rgba(10,24,25,.32),transparent 43%,rgba(10,24,25,.17) 70%,rgba(10,24,25,.54));
}
@media(min-width:1900px){
  .hero{background:linear-gradient(105deg,#14211f 0%,#21312e 65%,#3d3a31 100%)}
  .hero-image{inset:0 0 0 auto;width:min(60vw,1536px);background-size:auto 100%;background-position:center 52%;-webkit-mask-image:linear-gradient(to right,transparent,#000 32%);mask-image:linear-gradient(to right,transparent,#000 32%)}
}
@media(max-width:760px){
  .hero{min-height:800px;background:#1b292a}
  .hero-image{inset:0;background-image:url('assets/mount-shasta-two-peak-concept.png');background-size:auto 40%;background-position:68% bottom;-webkit-mask-image:linear-gradient(to bottom,transparent 48%,#000 69%);mask-image:linear-gradient(to bottom,transparent 48%,#000 69%)}
  .hero-shade{background:linear-gradient(180deg,rgba(10,23,24,.72) 0%,rgba(10,23,24,.82) 38%,rgba(10,23,24,.34) 70%,rgba(10,23,24,.48) 100%)}
  .hero-content{min-height:800px;padding-top:145px;padding-bottom:165px}
  .hero-foot{bottom:74px}
}
@media(max-width:420px){
  .hero{min-height:830px}
  .hero-content{min-height:830px}
  .hero-image{background-position:68% bottom}
}

/* The header uses the complete supplied mountain, elk, and lettering lockup. */
.header-inner{height:112px}
.brand .brand-full-logo{display:block;width:188px;height:106px;object-fit:contain}
.footer-inner{min-height:72px}
.footer-inner p{margin:0}
@media(max-width:760px){.header-inner{height:84px}.brand .brand-full-logo{width:137px;height:77px}.footer-inner{min-height:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0}.footer-inner p,.footer-inner small{grid-column:auto;grid-row:auto}}

/* Center the complete brand in the opening masthead, then reduce its footprint on scroll. */
.site-header{background:linear-gradient(180deg,rgba(13,27,27,.8),rgba(13,27,27,.38));transition:background .3s ease,border-color .3s ease}
.header-inner{height:150px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:30px;transition:height .3s ease}
.desktop-nav{grid-column:1;grid-row:1;justify-self:start;gap:33px}
.desktop-nav a{font-size:15px;letter-spacing:.015em}
.brand{grid-column:2;grid-row:1;justify-self:center}
.brand .brand-full-logo{width:255px;height:143px;transition:width .3s ease,height .3s ease}
.brand .brand-full-logo{filter:saturate(.78) brightness(1.11) drop-shadow(0 1px 7px rgba(222,184,120,.2))}
.header-actions{grid-column:3;grid-row:1;justify-self:end}
.site-header.is-solid .header-inner{height:92px}
.site-header.is-solid .brand .brand-full-logo{width:158px;height:89px}
.hero-text{width:min(100%,810px)}
.hero .eyebrow{position:absolute;top:169px;left:0;right:0;justify-content:center;gap:16px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hero .eyebrow::after{content:"";width:40px;height:1px;background:#d4b47c}
.hero h1{font-size:clamp(68px,5.5vw,104px)}
.hero-content{padding-top:150px}
section[id]{scroll-margin-top:100px}
@media(min-width:1900px) and (min-aspect-ratio:21/10){.hero-text{width:min(100%,810px)}}
@media(max-width:1100px) and (min-width:761px){
  .header-inner{height:126px;gap:14px}
  .brand .brand-full-logo{width:208px;height:117px}
  .desktop-nav{gap:18px}
  .desktop-nav a{font-size:13px}
  .office-link{width:188px;min-width:188px}
  .hero .eyebrow{top:137px}
  .hero-content{padding-top:126px}
}
@media(max-width:900px) and (min-width:761px){
  .header-inner{height:116px;gap:12px}
  .brand .brand-full-logo{width:180px;height:101px}
  .desktop-nav{gap:12px}
  .desktop-nav a{font-size:12px}
  .office-link{width:170px;min-width:170px}
  .hero .eyebrow{top:126px}
}
@media(max-width:760px){
  .site-header{background:rgba(17,31,31,.94)}
  .header-inner{height:86px;grid-template-columns:76px minmax(0,1fr) 42px;gap:8px}
  .header-actions{display:contents}
  .office-link{grid-column:1;grid-row:1;justify-self:start}
  .brand{grid-column:2;grid-row:1;justify-self:center}
  .brand{width:fit-content;min-width:0}
  .brand .brand-full-logo{width:138px;height:78px}
  .menu-toggle{grid-column:3;grid-row:1;justify-self:end}
  .site-header.is-solid .header-inner{height:76px}
  .site-header.is-solid .brand .brand-full-logo{width:118px;height:66px}
  .hero-content{padding-top:155px}
  .hero .eyebrow{position:static;justify-content:flex-start;gap:14px;text-shadow:none}
  .hero .eyebrow::after{display:none}
  .hero h1{font-size:clamp(49px,11.8vw,66px)}
  section[id]{scroll-margin-top:80px}
}
@media(max-width:380px){.header-inner{grid-template-columns:67px minmax(0,1fr) 40px}.brand .brand-full-logo{width:124px;height:70px}.office-link{width:68px;min-width:68px;padding:0 6px}}

/* Chosen masthead: the left-aligned lockup is the review site's default. */
@media(min-width:761px){
  html[data-logo-layout="left"] .header-inner{grid-template-columns:auto minmax(0,1fr) auto}
  html[data-logo-layout="left"] .brand{grid-column:1;justify-self:start}
  html[data-logo-layout="left"] .desktop-nav{grid-column:2;justify-self:center}
  html[data-logo-layout="left"] .header-actions{grid-column:3}
  html[data-logo-layout="left"] .hero .eyebrow{left:max(48px,calc((100vw - var(--shell))/2));right:auto;justify-content:flex-start}
  html[data-logo-layout="left"] .hero .eyebrow::after{display:none}
}
@media(min-width:761px) and (max-width:1100px){html[data-logo-layout="left"] .hero .eyebrow{left:32px}}
@media(max-width:760px){
  html[data-logo-layout="left"] .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:12px}
  html[data-logo-layout="left"] .brand{grid-column:1;justify-self:start}
  html[data-logo-layout="left"] .header-actions{display:flex;grid-column:2;grid-row:1;gap:8px;justify-self:end}
  html[data-logo-layout="left"] .office-link,html[data-logo-layout="left"] .menu-toggle{grid-column:auto;grid-row:auto}
}
@media(max-width:380px){html[data-logo-layout="left"] .header-inner{gap:8px}html[data-logo-layout="left"] .header-actions{gap:6px}}

/* Alternate office-review option: append ?logo=center for the balanced caption. */
@media(min-width:901px){
  html:not([data-logo-layout="left"]) .header-inner{grid-template-columns:minmax(0,1fr) auto auto}
  html:not([data-logo-layout="left"]) .brand{grid-column:1;justify-self:start;margin-left:112.5px}
  html:not([data-logo-layout="left"]) .desktop-nav{grid-column:2;justify-self:center}
  html:not([data-logo-layout="left"]) .header-actions{grid-column:3}
  html:not([data-logo-layout="left"]) .hero .eyebrow{left:max(48px,calc((100vw - var(--shell))/2));right:auto;width:480px;justify-content:center;white-space:nowrap}
}
@media(min-width:901px) and (max-width:1100px){
  html:not([data-logo-layout="left"]) .brand{margin-left:136px}
  html:not([data-logo-layout="left"]) .hero .eyebrow{left:32px;top:160px}
}

/* Allow the longer approved headline to clear the hero divider on wide screens. */
@media(min-width:1500px){
  .hero{min-height:1060px;height:clamp(1060px,100svh,1120px)}
}
