:root{--blue:#243e91;--ink:#112c49;--muted:#475e6e;--paper:#f9fbfa;--line:#ccdae0;--gutter:clamp(22px,5.5vw,88px);--serif:'Besley',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #a46a15;outline-offset:6px}button:active,.button:active{transform:translateY(1px)}img{display:block;width:100%;height:auto}p{margin:0 0 20px;text-wrap:pretty}h1,h2,h3{margin:0;text-wrap:balance}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.035em}h2{font-size:clamp(46px,5.2vw,76px)}h3{font-size:clamp(25px,2.5vw,35px);font-weight:500;line-height:1.2;letter-spacing:-.04em}em{font-weight:400;color:var(--blue)}figure{margin:0}address{font-style:normal}.wrap{width:min(1280px,calc(100% - var(--gutter)*2));margin-inline:auto}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 25px;border:1px solid var(--blue);border-radius:5px;background:var(--blue);color:#fff;font-size:14px;font-weight:600;min-height:52px;white-space:nowrap;transition:background .18s ease-out,transform .18s ease-out}.button:hover{background:#172d70}.text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid currentColor;font-size:14px;font-weight:600;color:var(--blue)}.text-link:hover{color:#101d46}.skip{position:absolute;left:20px;top:-100px;z-index:100;background:#fff;padding:12px}.skip:focus{top:16px}

/* Hero: an open Texas valley at sunrise. The copy sits in the sky; hills, banks, and bluebonnets part at different rates on scroll. */
.about-hero{--scene-progress:0}
.hero-stage{position:relative;height:960px;overflow:hidden;isolation:isolate;background:#e8f4fc}
.hero-landscape{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero-landscape img{position:absolute;max-width:none;height:auto;transform-origin:50% 100%}
.layer-sky{inset:0;width:100%;height:100%!important;object-fit:cover;object-position:70% 55%;transform:translateY(calc(var(--scene-progress)*-14px)) scale(1.05)}
.hero-landscape:before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(60% 70% at 18% 34%,#f5fbffd9 0%,#f5fbff80 45%,transparent 75%)}
.hero-landscape{--lift:max(0px,(100vw - 1440px)*.3)}
.layer-hills{z-index:2;width:120%;left:-10%;bottom:calc(70px - var(--lift));transform:translateY(calc(var(--scene-progress)*-20px)) scale(calc(1 + var(--scene-progress)*.035))}
.layer-cattle{z-index:3;width:105%;left:-2.5%;bottom:calc(50px - var(--lift));transform:translateY(calc(var(--scene-progress)*-30px)) scale(calc(1 + var(--scene-progress)*.05))}
.layer-banks{z-index:4;width:112%;left:-6%;bottom:calc(-155px - var(--lift));transform:translateY(calc(var(--scene-progress)*-48px)) scale(calc(1 + var(--scene-progress)*.12))}
.layer-flowers{z-index:5;width:110%;left:-5%;bottom:calc(clamp(-190px,-11vw,-90px) - var(--lift));transform:translateY(calc(var(--scene-progress)*-60px)) scale(calc(1 + var(--scene-progress)*.17))}
.hero-landscape:after{content:'';position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(#f9fbfa00,var(--paper));z-index:6}
.hero-copy{position:relative;z-index:8;padding-top:clamp(150px,11vw,176px);transform:translateY(calc(var(--scene-progress)*-44px))}
.hero-copy .eyebrow{margin-bottom:22px}
.hero-copy h1{font-size:clamp(66px,7.2vw,112px);line-height:.94}
.hero-copy h1 em{display:block}
.hero-lede{max-width:540px;margin:26px 0 28px;font-size:17px;line-height:1.7}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px}
@media(prefers-reduced-motion:no-preference){
  .hero-copy>*{animation:rise .9s cubic-bezier(.16,1,.3,1) both}
  .hero-copy h1{animation-delay:.08s}.hero-copy .hero-lede{animation-delay:.2s}.hero-copy .hero-actions{animation-delay:.3s}
  .layer-flowers{animation:bloom 1.4s .1s cubic-bezier(.16,1,.3,1) both}
  .layer-banks{animation:bloom 1.4s cubic-bezier(.16,1,.3,1) both}
}
@keyframes rise{from{opacity:0;translate:0 26px}}
@keyframes bloom{from{translate:0 60px}}
@media(min-width:761px) and (max-width:1100px){.layer-banks{width:118%;left:-9%;bottom:-76px}}

/* Meet Melanie */
.melanie{padding-block:clamp(70px,8vw,120px) clamp(90px,10vw,140px)}
.melanie-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,120px);align-items:center}
.melanie-portrait{position:relative;aspect-ratio:4/5;border-radius:6px}
.melanie-portrait:before{content:'';position:absolute;inset:22px -22px -22px 22px;border:1px solid #243e9140;border-radius:6px;z-index:-1}
.melanie-portrait{isolation:isolate}
.melanie-portrait img{height:100%;object-fit:cover;object-position:50% 20%;border-radius:6px}
.melanie-copy .eyebrow{color:var(--blue);margin-bottom:24px}
.melanie-copy h2{margin-bottom:30px}
.melanie-copy h2 em{display:block}
.melanie-copy>p:not(.eyebrow){max-width:52ch;color:var(--muted)}
.melanie-copy .melanie-lede{font-size:19px;line-height:1.65;color:var(--ink)}
.melanie-copy .text-link{margin-top:8px}

/* Why Wolf (moved from the homepage) */
.wp-label{font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.12em;margin:0}
.wp-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:550;border-bottom:1px solid;padding:8px 0;transition:border-color .2s}
.wp-approach{background:#00295a;color:#fff;padding:100px 0}
.wp-approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}
.wp-approach .wp-label{color:#c5d5ff;margin-bottom:38px}
.wp-approach h2{font-size:clamp(42px,4.3vw,62px);line-height:1.08}
.wp-approach h2 em{color:#d6e5b9}
.wp-approach-intro>p:not(.wp-label){font-size:17px;color:#d0dbe8;max-width:355px;margin:28px 0 18px;line-height:1.8}
.wp-approach .wp-link{color:#fff;border-color:#ffffff60}.wp-approach .wp-link:hover{border-color:#fff}
.wp-approach a:focus-visible{outline-color:#d6e5b9}
.wp-office-stamp{margin-top:52px;padding-left:20px;border-left:2px solid #c9d9af}
.wp-office-stamp>span{font-size:12px;letter-spacing:.12em;color:#c8d5e2}
.wp-office-stamp>p{font-family:var(--serif);font-size:28px;margin:4px 0 0}
.wp-promises{padding-top:3px}
.wp-promises article{display:grid;grid-template-columns:34px 1fr;gap:20px;border-top:1px solid #ffffff40;padding:32px 0}
.wp-promises article:last-child{padding-bottom:0}
.wp-promises article>span{font-family:var(--serif);font-size:22px;color:#d6e5b9}
.wp-promises h3{font-family:var(--serif);font-size:34px;font-weight:400;letter-spacing:-.015em;line-height:1.15;margin-bottom:14px}
.wp-promises p{font-size:16px;color:#d0dbe8;line-height:1.75;max-width:400px;margin:0}

/* Meet the team */
.team{padding-block:clamp(80px,9vw,125px)}
.team-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:30px 65px;align-items:end;margin-bottom:56px}
.team-heading .eyebrow{grid-column:1/-1;color:var(--blue);margin:0}
.team-heading>p:last-child{color:var(--muted);max-width:38ch;margin:0 0 4px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px clamp(20px,2.5vw,36px);align-items:start}
.team-photo{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;margin-bottom:22px;background:#e7f0f8}
.team-photo img{height:100%;object-fit:cover;object-position:50% 20%;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.team-card:hover .team-photo img{transform:scale(1.03)}
.team-card h3{font:400 clamp(26px,2.2vw,32px)/1.1 var(--serif);letter-spacing:-.02em;margin-bottom:8px}
.team-role{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.team-bio summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;list-style:none}
.team-bio summary::-webkit-details-marker{display:none}
.team-bio summary:after{content:'+';display:grid;place-items:center;width:22px;height:22px;border:1px solid #243e9159;border-radius:50%;font-size:16px;line-height:1;color:var(--blue);transition:transform .3s cubic-bezier(.16,1,.3,1),background-color .2s}
.team-bio summary:hover:after{background:#243e9114}
.team-bio[open] summary:after{transform:rotate(45deg)}
.team-bio p{font-size:14px;line-height:1.7;color:var(--muted);margin:8px 0 0}

/* Contact band */
.contact{background:#172e5c;color:#f4f8fa;padding-block:95px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:95px;align-items:center}.contact h2{font-size:clamp(43px,4.9vw,68px)}.contact em{color:#c1d5f1}.contact .eyebrow{color:#c3d5ee;margin-bottom:27px}.contact h2+p{color:#d4deed;margin-top:28px;max-width:46ch}.contact .phone{width:100%;background:#edf4ff;color:#172e5c;border-color:#edf4ff;font-size:14px;padding-inline:15px}.contact .phone:hover{background:#d4e2f5}.contact address{font-size:13px;line-height:1.6;margin:25px 0 8px}.hours{font-size:12px;color:#d4deed;margin-bottom:7px}.contact .text-link{color:#e4eefd;font-size:12px}
section[id]{scroll-margin-top:32px}

@media(max-width:1100px){.wp-approach-grid{gap:50px}}
@media(max-width:1000px){.melanie-layout,.contact-layout{gap:48px}.team-heading{gap:24px 35px}.team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  :root{--gutter:23px}
  .hero-stage{height:880px}
  .hero-copy{padding-top:124px;transform:none}
  .hero-copy .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:18px}
  .hero-copy h1{font-size:clamp(58px,15vw,78px)}
  .hero-lede{font-size:15px;margin:22px 0 24px}
  .hero-actions .button{font-size:13px;min-height:49px}
  .layer-sky{object-position:82% center;transform:none}
  .hero-landscape:before{background:linear-gradient(#f5fbffd9 0%,#f5fbff99 45%,transparent 70%)}
  .layer-hills{width:1250px;left:calc(50% - 625px);bottom:70px;transform:none}
  .layer-cattle{width:850px;left:calc(50% - 425px);bottom:58px;transform:none}
  .layer-banks{width:1150px;left:calc(50% - 575px);bottom:-100px;transform:none}
  .layer-flowers{width:950px;left:calc(50% - 475px);bottom:0;transform:none}
  .melanie{padding-block:40px 80px}
  .melanie-layout{grid-template-columns:1fr;gap:56px}
  .melanie-portrait{width:calc(100% - 18px);max-width:420px}
  .melanie-portrait:before{inset:16px -16px -16px 16px}
  .melanie-copy h2{font-size:clamp(44px,11vw,58px)}
  .melanie-copy .melanie-lede{font-size:17px}
  .melanie-copy>p:not(.eyebrow){font-size:15px}
  .wp-approach{padding:62px 0}.wp-approach-grid{grid-template-columns:1fr;gap:38px}.wp-approach .wp-label{margin-bottom:26px}.wp-approach h2{font-size:43px}.wp-approach-intro>p:not(.wp-label){font-size:16px;max-width:100%}.wp-office-stamp{margin-top:28px}.wp-promises article{padding-block:26px;gap:15px;grid-template-columns:25px 1fr}.wp-promises h3{font-size:29px}
  .team{padding-block:70px}
  .team-heading{display:block;margin-bottom:36px}.team-heading .eyebrow{margin-bottom:18px}.team-heading h2{font-size:clamp(44px,11vw,58px)}.team-heading>p:last-child{font-size:15px;margin-top:20px}
  .team-grid{gap:36px 18px}
  .team-photo{margin-bottom:16px}
  .team-card h3{font-size:24px}.team-role{font-size:11px;letter-spacing:.1em}.team-bio summary{font-size:13px}.team-bio p{font-size:13px}
  .contact{padding-block:60px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact h2{font-size:47px}.contact .eyebrow{font-size:12px}.contact h2+p{font-size:14px;margin-top:23px}
}
@media(max-width:359px){:root{--gutter:17px}.hero-copy h1{font-size:54px}.contact h2{font-size:40px}.contact .phone{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-copy,.hero-landscape img{transform:none!important}}

/* Mobile call access */
.nav-call,.call-bar{display:none}
@media(max-width:760px){
 .call-bar{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:40;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:0 24px;border-radius:5px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;box-shadow:0 12px 28px -14px #0b1d4acc;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s,visibility 0s}
 .call-bar span+span{font-weight:500;opacity:.88;font-variant-numeric:tabular-nums}
 .call-bar.is-away{transform:translateY(calc(100% + 32px));opacity:0;visibility:hidden;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .3s,visibility 0s .45s}
}

/* Wide screens: the layers are sized by width, so the stage and layer offsets
   scale with width too. Above 1440px the scene is the 1440px composition scaled
   up instead of being cropped by a fixed 960px stage. On wide but short windows
   --lift drops the scene so the hilltops (24.2vw above the stage bottom) stay
   below the hero copy (about 640px from the top). */
@media(min-width:1441px){
  .hero-stage{height:max(960px,min(100svh,66.67vw))}
  .hero-landscape{--lift:max(0px,24.2vw + 640px - max(960px,min(100svh,66.67vw)))}
  .layer-hills{bottom:calc(4.86vw - var(--lift))}.layer-cattle{bottom:calc(3.47vw - var(--lift))}
  .layer-banks{bottom:calc(-10.76vw - var(--lift))}.layer-flowers{bottom:calc(-11vw - var(--lift))}
}
