/* Version 1.1: scoped additions; the approved base stylesheet is unchanged. */
.bs-tools{display:flex;gap:30px;align-items:center;overflow:hidden}.bs-tools-label{flex:0 0 175px;font-size:11px;line-height:2;letter-spacing:.11em}.bs-tools-window{overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.bs-tools-track{display:flex;width:max-content;animation:bs-marquee 48s linear infinite}.bs-tools-group{display:flex;align-items:center;gap:48px;padding-right:48px}.bs-tool{display:flex;gap:12px;align-items:center;white-space:nowrap;color:#344f43;font-weight:600;font-size:17px}.bs-tool img{width:36px;height:36px;object-fit:contain}.bs-tools-window:hover .bs-tools-track{animation-play-state:paused}@keyframes bs-marquee{to{transform:translateX(-50%)}}
.service-grid article>a{width:auto!important;font-size:12px!important;letter-spacing:.03em;text-decoration:underline;text-underline-offset:5px}.bs-cv-dialog{box-sizing:border-box;width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:48px;border:1px solid #426455;border-radius:24px;background:#123f32;color:#f6f8ed;box-shadow:0 32px 120px #00180d66;overflow:auto}.bs-cv-dialog::backdrop{background:#081f19a6;backdrop-filter:blur(7px)}.bs-cv-dialog[open]{animation:bs-card-in .25s ease-out}.bs-cv-dialog [hidden]{display:none!important}.bs-cv-dialog h2{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-.045em;margin:24px 0 18px;color:#fff}.bs-cv-dialog h2 .serif{color:#bcdfcc}.bs-cv-dialog p{color:#d0dfd6;font-size:15px;line-height:1.7}.bs-cv-dialog .eyebrow{color:#abd7bf;font-size:10px;letter-spacing:.13em;padding-right:15px}.bs-cv-dialog h3{font-size:15px;margin:26px 0 14px}.bs-cv-close{position:absolute;right:16px;top:12px;border:0;background:none;color:#dbeddf;font-size:30px;cursor:pointer;padding:5px 10px}.bs-cv-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bs-cv-choices button{font:inherit;font-size:15px;text-align:left;padding:20px;border:1px solid #567766;border-radius:10px;background:#ffffff05;color:#f3f7ec;cursor:pointer;transition:background .2s,transform .2s}.bs-cv-choices button:hover{background:#d9eddf;color:#123f32;transform:translateY(-2px)}.bs-cv-skip{display:inline-block;color:#c6ddce;font-size:13px;margin-top:24px;text-decoration:underline;text-underline-offset:5px}.bs-cv-back{font:inherit;font-size:12px;background:none;border:0;border-bottom:1px solid #729483;padding:0 0 5px;color:#c7dfd0;margin:0 0 25px;cursor:pointer}.bs-cv-stats{display:flex;gap:70px;border-block:1px solid #466756;padding:19px 0;margin:23px 0}.bs-cv-stats strong{font-size:40px;font-weight:500;display:block;line-height:1.1;letter-spacing:-.04em}.bs-cv-stats span{font-size:9px;letter-spacing:.12em;color:#b1cbbd}.bs-cv-dialog ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;padding:0;list-style:none;font-size:14px}.bs-cv-dialog li:before{content:'✓';color:#a0dfbb;margin-right:8px}.bs-cv-dialog .bs-cv-footnote{font-size:12px}.bs-cv-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:25px}.bs-cv-actions>a:not(.button){font-size:13px;color:#d7e9dd;text-decoration:underline;text-underline-offset:5px}.bs-cv-actions .button{font-size:13px;min-height:48px;max-width:100%;white-space:normal}.bs-cv-dialog .bs-cv-status{font-size:11px;min-height:18px;margin:12px 0 0}.bs-cv-dialog :focus-visible{outline:2px solid #a2d9be;outline-offset:5px}#bs-cv-profile{animation:bs-card-in .25s ease-out}@keyframes bs-card-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.bs-tools{flex-wrap:wrap;gap:16px}.bs-tools-label{flex-basis:100%;order:0}.bs-tools-window{order:2;flex-basis:100%}.bs-cv-dialog{padding:40px 24px 25px}.bs-cv-choices button{padding:16px 12px;font-size:13px}.bs-cv-dialog ul{grid-template-columns:1fr}.bs-cv-stats{gap:40px}}
@media(prefers-reduced-motion:reduce){.bs-tools-track{animation:none}.bs-tools-window{overflow-x:auto;mask-image:none}.bs-tools-group[aria-hidden]{display:none}.bs-cv-dialog[open],#bs-cv-profile{animation:none}.bs-cv-choices button{transition:none}}
.bs-reduce-motion .bs-tools-track{animation:none}.bs-reduce-motion .bs-tools-window{overflow-x:auto}.bs-reduce-motion .bs-tools-group[aria-hidden],.bs-reduce-motion .bs-reduce-motion .bs-cv-dialog[open],.bs-reduce-motion #bs-cv-profile{animation:none}

/* 1.1.1 — portrait presentation, scoped to the About section. */
.about .bs-portrait-card{padding:0;min-height:390px;max-height:550px;aspect-ratio:4/5;isolation:isolate;background:#183c30;border-radius:18px;box-shadow:0 14px 38px #123f3212;transform:translateZ(0)}
.bs-portrait-card .bs-about-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.bs-portrait-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0c292326 0%,transparent 30%,transparent 55%,#0b2a238c 78%,#0b2a23ed 100%);z-index:1}
.bs-portrait-label{position:absolute;top:22px;left:22px;z-index:2;max-width:calc(100% - 44px);padding:9px 13px;border:1px solid #e3f4ea5c;border-radius:30px;background:#123f326b;backdrop-filter:blur(9px);color:#f1fbf5;font-size:9px;letter-spacing:.14em;line-height:1.5}
.bs-portrait-caption{position:absolute;bottom:27px;left:28px;right:28px;z-index:2}.bs-portrait-caption .profile-name{margin:0}.bs-portrait-caption .profile-name h3{color:#fff;font-size:28px}.bs-portrait-caption .profile-name p{color:#d6e8dd;font-size:13px;margin-top:6px}.bs-portrait-rule{display:block;margin-top:18px;width:48px;height:2px;background:#b4e9ce;transition:width .7s ease}
.bs-portrait-enter{animation:bs-portrait-reveal .75s cubic-bezier(.2,.7,.2,1) both}@keyframes bs-portrait-reveal{from{opacity:.35;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.bs-portrait-card:hover .bs-about-photo{transform:scale(1.025)}.bs-portrait-card:hover .bs-portrait-rule{width:86px}}
@media(max-width:650px){.about .bs-portrait-card{min-height:340px;max-height:520px}.bs-portrait-caption{left:23px;right:23px;bottom:23px}.bs-portrait-caption .profile-name h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.bs-portrait-enter{animation:none}.bs-portrait-card .bs-about-photo,.bs-portrait-rule{transition:none}.bs-portrait-card:hover .bs-about-photo{transform:none}}
.bs-reduce-motion .bs-portrait-enter{animation:none}.bs-reduce-motion .bs-about-photo,.bs-reduce-motion .bs-portrait-rule{transition:none}.bs-reduce-motion .bs-portrait-card:hover .bs-about-photo{transform:none}
