
:root{ --slate:#22303c; --slate2:#33465a; --copper:#b06a32; --copper-dk:#8f5527;
       --ink:#26313b; --muted:#6a7580; --line:#e2ddd6; --bg:#f7f4ef; --card:#fffdfa; }
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);
     font-size:16px;line-height:1.6;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
/* header */
header{position:sticky;top:0;z-index:50;background:rgba(247,244,239,.94);backdrop-filter:blur(8px);
       border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 28px;
     max-width:1180px;margin:0 auto;}
.wordmark{font-size:17px;font-weight:800;letter-spacing:1.5px;color:var(--slate);text-transform:uppercase;white-space:nowrap;}
.wordmark span{color:var(--copper);}
.nav ul{display:flex;gap:26px;list-style:none;font-size:13.5px;font-weight:600;color:var(--muted);}
.nav ul a:hover{color:var(--copper-dk);}
.btn{display:inline-block;background:var(--copper);color:#fff;font-weight:700;font-size:14px;
     padding:11px 24px;border-radius:999px;white-space:nowrap;}
.btn:hover{background:var(--copper-dk);}
.menu-toggle{display:none;}
.menu-btn{display:none;font-size:24px;color:var(--slate);cursor:pointer;line-height:1;user-select:none;}
/* hero */
.hero{display:flex;gap:64px;align-items:center;padding:56px 0 48px;}
.kicker{display:inline-block;background:#fff;border:1px solid var(--line);color:var(--copper-dk);
        font-size:11px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase;
        padding:8px 16px;border-radius:16px;margin-bottom:22px;line-height:1.9;}
.hero .kicker{display:block;width:fit-content;margin:0 auto 22px;text-align:center;}
h1{font-size:clamp(34px,4.6vw,52px);font-weight:800;line-height:1.1;color:var(--slate);
   margin-bottom:22px;letter-spacing:-.5px;}
h1 em{font-style:normal;color:var(--copper);}
.hero p{font-size:17px;color:var(--muted);max-width:540px;margin-bottom:32px;}
.ctas{display:flex;gap:14px;flex-wrap:wrap;}
.btn-lg{background:var(--slate);color:#fff;padding:14px 28px;font-size:15px;font-weight:700;
        border-radius:999px;display:inline-block;}
.btn-lg:hover{background:var(--slate2);}
.btn-lg.alt{background:transparent;color:var(--slate);border:1.5px solid var(--slate);}
.portrait{flex-shrink:0;width:min(340px,38vw);border-radius:24px 24px 110px 24px;overflow:hidden;
          box-shadow:0 20px 50px rgba(34,48,60,.18);}
.portrait img{width:100%;display:block;}
/* tiles */
.credbar{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:26px;}
.cred{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;}
.cred b{display:block;font-size:15px;color:var(--slate);margin-bottom:5px;}
.cred span{font-size:12.5px;color:var(--muted);line-height:1.5;display:block;}
/* sections */
section{padding:44px 0;}
.lbl{font-size:12px;letter-spacing:2.5px;font-weight:700;text-transform:uppercase;
     color:var(--copper-dk);margin-bottom:10px;}
h2{font-size:29px;font-weight:800;color:var(--slate);margin-bottom:26px;letter-spacing:-.3px;}
/* condition cards */
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 20px;
      transition:box-shadow .15s, transform .15s;display:block;}
.card:hover{box-shadow:0 10px 26px rgba(34,48,60,.12);transform:translateY(-2px);}
.icon{width:48px;height:48px;border-radius:13px;background:rgba(176,106,50,.12);margin-bottom:14px;
      display:flex;align-items:center;justify-content:center;}
.icon svg{width:32px;height:32px;overflow:visible;}
.icon .base{fill:none;stroke:var(--slate);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.icon .accent{fill:none;stroke:var(--copper);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.icon .dot{fill:var(--copper);animation:travel 2.6s linear infinite;}
@keyframes travel{from{offset-distance:0%}to{offset-distance:100%}}
.card b{font-size:15px;color:var(--slate);display:block;margin-bottom:7px;line-height:1.3;}
.card span{font-size:12.5px;color:var(--muted);line-height:1.5;}
/* about teaser + strips */
.teaser{display:flex;gap:56px;align-items:center;}
.teaser .portrait{width:min(300px,36vw);border-radius:20px 20px 90px 20px;}
.teaser p{color:var(--muted);max-width:600px;margin-bottom:22px;}
.link-more{color:var(--copper-dk);font-weight:700;font-size:14.5px;}
.strip{background:var(--slate);color:#fff;border-radius:22px;padding:36px 40px;margin:14px 0;}
.strip h3{font-size:20px;font-weight:800;margin-bottom:10px;}
.strip h3 em{font-style:normal;color:#e0a36c;}
.strip p{color:#c6cfd8;font-size:14.5px;max-width:820px;margin-bottom:14px;}
.strip .contactline{font-size:14.5px;font-weight:600;color:#fff;margin-bottom:16px;}
.strip .btn{background:#fff;color:var(--slate);}
.thin{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 26px;
      display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
      font-size:14.5px;color:var(--muted);}
.thin a{color:var(--copper-dk);font-weight:700;}
/* inner pages */
.page-head{padding:48px 0 8px;}
.page-head p.lede{font-size:17px;color:var(--muted);max-width:760px;}
.two-col{display:grid;grid-template-columns:1.6fr 1fr;gap:36px;align-items:start;padding:34px 0 10px;}
.content h3{font-size:19px;font-weight:800;color:var(--slate);margin:26px 0 12px;}
.content ul{list-style:none;}
.content li{padding:9px 0 9px 26px;position:relative;border-bottom:1px solid var(--line);
            font-size:15px;color:var(--ink);}
.content li:last-child{border-bottom:none;}
.content li:before{content:"";position:absolute;left:4px;top:16px;width:8px;height:8px;
                   border-radius:50%;background:var(--copper);}
.content li b{color:var(--slate);}
.aside .box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;
            margin-bottom:16px;}
.aside .box.hl{border-top:4px solid var(--copper);}
.aside h4{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--copper-dk);margin-bottom:10px;}
.aside p{font-size:14.5px;color:var(--muted);}
.aside .big{font-size:17px;font-weight:800;color:var(--slate);margin:6px 0 2px;}
/* cta band */
.cta-band{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:34px 40px;
          display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
          margin:34px 0 10px;}
.cta-band .t{font-size:20px;font-weight:800;color:var(--slate);}
.cta-band .s{font-size:14px;color:var(--muted);margin-top:4px;}
/* about page */
.bio-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:44px;align-items:start;padding:30px 0;}
.bio-grid .content p{margin-bottom:18px;font-size:16px;color:var(--ink);}
/* forms */
.formwrap{max-width:720px;}
.formwrap form{background:var(--card);border:1px solid var(--line);border-radius:20px;
  padding:32px 34px;margin:26px 0 10px;}
.f-sec{font-size:12px;letter-spacing:2px;font-weight:700;text-transform:uppercase;
  color:var(--copper-dk);margin:20px 0 4px;}
.f-row{margin:14px 0;}
.f-row label{display:block;font-size:13.5px;font-weight:700;color:var(--slate);margin-bottom:6px;}
.f-row label .req{color:var(--copper);}
.f-row input[type=text],.f-row input[type=tel],.f-row input[type=email],.f-row input[type=date],
.f-row select,.f-row textarea{width:100%;padding:11px 13px;border:1.5px solid var(--line);
  border-radius:10px;font:inherit;font-size:15px;color:var(--ink);background:#fff;}
.f-row textarea{min-height:90px;resize:vertical;}
.f-row input[type=file]{width:100%;padding:10px 12px;border:1.5px dashed var(--line);
  border-radius:10px;font:inherit;font-size:14px;color:var(--muted);background:#fff;}
.f-row input:focus,.f-row select:focus,.f-row textarea:focus{outline:none;border-color:var(--copper);}
.f-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;}
.f-checks label,.f-radio label{display:flex;align-items:center;gap:9px;font-size:14.5px;
  font-weight:500;color:var(--ink);}
.f-radio{display:flex;gap:26px;}
.f-note{font-size:12.5px;color:var(--muted);margin-top:6px;}
.f-submit{margin-top:24px;}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden;}
.f-panel{display:none;border-radius:16px;padding:22px 26px;margin:18px 0;font-size:15px;}
.f-panel.ok{background:#eef6ee;border:1px solid #bcd9bc;color:#20521f;}
.f-panel.err{background:#fbeeea;border:1px solid #e7c3b8;color:#7a2e14;}
@media (max-width:640px){.f-checks{grid-template-columns:1fr;}}
/* footer */
footer{background:var(--slate);color:#aeb9c4;margin-top:56px;}
.foot{max-width:1180px;margin:0 auto;padding:40px 28px;display:flex;justify-content:space-between;
      gap:28px;flex-wrap:wrap;font-size:13.5px;line-height:1.7;}
.foot b{color:#fff;font-size:14.5px;display:block;margin-bottom:6px;}
.foot ul{list-style:none;}
.foot a:hover{color:#fff;}
.foot .cr{width:100%;border-top:1px solid rgba(255,255,255,.14);margin-top:22px;padding-top:16px;
          font-size:12.5px;color:#8794a1;}
/* responsive */
@media (max-width: 960px){
  .hero{flex-direction:column-reverse;text-align:left;gap:34px;padding-top:36px;}
  .portrait{width:min(300px,70vw);}
  .credbar{grid-template-columns:repeat(2,1fr);}
  .cards{grid-template-columns:repeat(2,1fr);}
  .two-col,.bio-grid{grid-template-columns:1fr;}
  .teaser{flex-direction:column;align-items:flex-start;}
  .nav ul{position:absolute;top:100%;left:0;right:0;background:var(--bg);flex-direction:column;
          gap:0;padding:8px 28px 16px;border-bottom:1px solid var(--line);display:none;}
  .nav ul li{padding:10px 0;border-bottom:1px solid var(--line);}
  .menu-btn{display:block;}
  .menu-toggle:checked ~ ul{display:flex;}
  .nav .btn{display:none;}
}
@media (max-width: 560px){ .cards{grid-template-columns:1fr;} .credbar{grid-template-columns:1fr;} }
