@charset "UTF-8";

/* Representative-page prototype. Shared TOP styles and the live staff page stay independent. */
.representative-page{--staff-width:1120px;--staff-space:clamp(60px,7vw,104px)}
.representative-page main [id]{scroll-margin-top:135px}
.representative-page .site-footer nav{flex-wrap:wrap}
.representative-container{width:min(var(--staff-width),100%);margin-inline:auto}
.representative-section{padding:var(--staff-space) var(--pad)}
.representative-heading{margin-bottom:34px}
.representative-heading h2{font-size:clamp(27px,2.65vw,37px);font-weight:600;color:var(--green);line-height:1.65;margin-top:14px;letter-spacing:.04em}
.representative-prose{font-size:16px;line-height:2;color:var(--ink-soft)}
.representative-prose p+p{margin-top:1em}
.representative-prose h3{font-size:22px;font-weight:600;color:var(--green);line-height:1.7;margin-bottom:22px}
.representative-prose .staff-text-underline{font-weight:700;color:var(--green)}
.representative-prose .staff-text-marker,.representative-care .staff-text-red{color:var(--green);font-weight:700}
.representative-hero{position:relative;padding:25px var(--pad) 65px;background:#f0f9f5;border-radius:0 0 110px 0;overflow:hidden}
.representative-hero__inner{max-width:1040px;margin:auto;display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);align-items:center;gap:clamp(48px,7vw,100px)}
.representative-hero__photo{overflow:hidden;border-radius:8px 8px 85px 8px}
.representative-hero__photo img{width:100%;height:490px;object-fit:cover;object-position:center 24%}
.representative-hero__copy h1{font-size:clamp(34px,3.2vw,46px);color:var(--green);font-weight:600;letter-spacing:.12em;margin:15px 0 27px}
.representative-hero__message{font-size:clamp(21px,2vw,28px);line-height:1.85;font-weight:600;color:var(--green)}
.representative-hero__role{font-size:13px;margin-top:31px}
.representative-hero__name{font-size:33px;font-weight:500;letter-spacing:.12em;margin-top:6px;line-height:1.6}
.representative-hero__name span{display:block;font-size:10px;letter-spacing:.17em;color:var(--green);margin:2px 0 19px}
.representative-hero__qualification{font-size:13px;line-height:1.9;color:var(--ink-soft)}
.representative-toc{max-width:var(--staff-width);margin:auto;padding:25px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}
.representative-toc a{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:13px;color:var(--green);min-height:44px}
.representative-toc a:hover{text-decoration:underline;text-underline-offset:5px}
.representative-toc span{font-size:17px}
.representative-greeting,.representative-reason{display:grid;grid-template-columns:.86fr 1.14fr;align-items:start;gap:clamp(40px,7vw,95px)}
.representative-greeting>.representative-prose,.representative-reason>.representative-prose{padding-top:8px}
.representative-photo{overflow:hidden;border-radius:8px 8px 65px 8px}
.representative-photo img{width:100%;height:auto;object-fit:cover}
.representative-profile{padding-top:15px}
.representative-profile__layout{display:grid;grid-template-columns:1.45fr 1fr;gap:70px;align-items:start}
.representative-facts{margin:0;border-top:1px solid var(--line);font-size:15px}
.representative-facts__row{display:grid;grid-template-columns:165px minmax(0,1fr);gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.representative-facts dt{color:var(--green);font-weight:600}
.representative-facts dd{margin:0;line-height:1.95}
.representative-license{padding:22px;background:var(--cream);border-radius:8px 8px 35px 8px}
.representative-license img{width:100%;height:auto}
.representative-license figcaption{font-size:12px;margin-top:18px;color:var(--ink-soft)}
.representative-license figcaption a{display:inline-block;margin-left:16px;text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.representative-origin{background:#e7f8f3;border-radius:70px 0 70px 0}
.representative-origin__heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:50px}
.representative-origin__heading .representative-heading{margin-bottom:18px}
.representative-origin__heading>img{width:100px;height:140px;object-fit:contain;margin-right:30px;opacity:.8;mix-blend-mode:multiply}
.representative-origin__heading p:not(.eyebrow){color:var(--ink-soft)}
.representative-origin__stories{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.representative-origin__stories article{border-top:1px solid #a6cec3;padding-top:25px}
.representative-number{display:block;font:24px/1.5 Georgia,serif;color:var(--green);margin-bottom:15px}
.representative-keep{display:inline-block}
.representative-history{background:var(--cream)}
.representative-history__layout{display:grid;grid-template-columns:1fr 1fr;gap:72px}
.representative-history__personal{border-left:1px solid var(--line);padding-left:40px}
.representative-care{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.representative-care__item{border-top:1px solid var(--green);padding-top:20px;font-size:15px;line-height:2;color:var(--ink-soft)}
.representative-care__item h3{font-size:21px;line-height:1.7;font-weight:600;color:var(--green);margin-bottom:22px}
.representative-care__item h3 span{display:block;font:24px/1.5 Georgia,serif;margin-bottom:15px}
.representative-care__item p+p{margin-top:1em}
.representative-first{padding-top:30px}
.representative-first__layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;padding-top:55px;border-top:1px solid var(--line)}
.representative-first__price{font-size:14px;line-height:1.8}
.representative-first__price strong{display:block;font-size:42px;line-height:1.3;font-weight:500;letter-spacing:.035em;color:var(--green);margin:18px 0 5px}
.representative-first__price strong span{font-size:22px;margin-left:5px}
.representative-first__price>span{font-size:12px}
.representative-page .closing h2{font-weight:600}
.representative-page .closing p+p{margin-top:13px}
@media(max-width:1200px){
  .representative-toc{margin-inline:var(--pad)}
}
@media(max-width:900px){
  .representative-hero__inner{grid-template-columns:42% 1fr;gap:40px}
  .representative-hero__photo img{height:420px}
  .representative-hero__message{font-size:21px}
  .representative-profile__layout{grid-template-columns:1.3fr .8fr;gap:30px}
  .representative-facts__row{grid-template-columns:132px minmax(0,1fr);gap:12px;font-size:14px}
  .representative-origin__stories,.representative-history__layout{gap:35px}
  .representative-history__personal{padding-left:27px}
  .representative-care{grid-template-columns:1fr;gap:28px}
  .representative-care__item{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px 30px}
  .representative-care__item h3{grid-row:1 / span 3;font-size:21px;margin-bottom:0}
  .representative-care__item p{grid-column:2}
  .representative-care__item p+p{margin-top:0}
  .representative-prose{font-size:15px}
  .representative-greeting,.representative-reason{gap:35px}
  .representative-first__layout{gap:40px}
  .representative-toc{gap:15px;flex-wrap:wrap;justify-content:flex-start;padding:16px 0}
  .representative-toc a{font-size:12px;gap:10px}
}
@media(max-width:600px){
  .representative-page{--staff-space:52px}
  .representative-page main [id]{scroll-margin-top:103px}
  .representative-heading{margin-bottom:24px}
  .representative-heading h2{font-size:26px;line-height:1.65;margin-top:10px}
  .representative-hero{padding:17px var(--pad) 31px;border-radius:0 0 46px 0}
  .representative-hero__inner{grid-template-columns:43% 1fr;gap:20px;align-items:start}
  .representative-hero__photo{border-radius:5px 5px 40px 5px;margin-top:5px}
  .representative-hero__photo img{height:236px;object-position:center 20%}
  .representative-hero__copy .eyebrow{font-size:9px;letter-spacing:.09em}
  .representative-hero__copy h1{font-size:27px;margin:6px 0 14px;letter-spacing:.05em}
  .representative-hero__message{font-size:14px;line-height:1.8;letter-spacing:0}
  .representative-hero__message br{display:none}
  .representative-hero__role{font-size:10px;margin-top:16px}
  .representative-hero__name{font-size:23px;letter-spacing:.07em;margin-top:3px}
  .representative-hero__name span{font-size:8px;letter-spacing:.07em;margin-bottom:11px}
  .representative-hero__qualification{font-size:11px;line-height:1.75}
  .representative-toc{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:12px 0}
  .representative-toc a{font-size:12px;min-height:40px;gap:3px}
  .representative-greeting,.representative-reason,.representative-profile__layout,.representative-origin__stories,.representative-history__layout,.representative-first__layout{grid-template-columns:1fr;gap:27px}
  .representative-greeting>.representative-prose,.representative-reason>.representative-prose{padding-top:0}
  .representative-prose{font-size:15px;line-height:1.95}
  .representative-prose p+p{margin-top:.85em}
  .representative-prose h3{font-size:21px;line-height:1.65;margin-bottom:17px}
  .representative-photo{border-radius:6px 6px 38px 6px}
  .representative-profile{padding-top:8px}
  .representative-facts__row{grid-template-columns:1fr;gap:5px;padding:14px 0;font-size:14px}
  .representative-facts dt{font-size:12px}
  .representative-license{max-width:360px;width:100%;padding:16px}
  .representative-origin{border-radius:40px 0 40px 0}
  .representative-origin__heading{gap:10px;margin-bottom:28px;align-items:flex-start}
  .representative-origin__heading .representative-heading h2{font-size:24px}
  .representative-origin__heading>img{width:48px;height:75px;margin:24px 0 0;flex:none}
  .representative-origin__heading p:not(.eyebrow){font-size:14px}
  .representative-origin__stories{gap:33px}
  .representative-origin__stories article{padding-top:20px}
  .representative-history__personal{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}
  .representative-care{grid-template-columns:1fr;gap:27px}
  .representative-care__item{display:block;font-size:15px;padding-top:18px}
  .representative-care__item p+p{margin-top:1em}
  .representative-care__item h3{font-size:21px;display:grid;grid-template-columns:24px 1fr;gap:10px;margin-bottom:14px}
  .representative-care__item h3 span{font-size:21px;line-height:1.7;margin:0}
  .representative-first{padding-top:0}
  .representative-first__layout{padding-top:42px}
  .representative-first__price strong{font-size:37px;margin-top:10px}
}
@media(prefers-reduced-motion:reduce){
  .representative-page{scroll-behavior:auto}
}
