/* Direct access to the person, the work and the next conversation. */
.hero-specialist{font-size:.875rem;line-height:1.8;color:#405878;max-width:42ch;margin-top:8px}
.hero.hero--hand .hero-inner{min-height:clamp(590px,78svh,780px);padding-block:48px 60px}
.hero.hero--hand .hero-lead{max-width:42ch}
.hero.hero--hand .hero-tagline{width:fit-content;max-width:100%;color:#3f54b8;text-shadow:0 2px 0 #cbd8f5;padding-bottom:4px}
@supports (background-clip:text) or (-webkit-background-clip:text){
 .hero.hero--hand .hero-tagline{background-image:linear-gradient(110deg,#253978,#4a5ed2 48%,#778fe1 72%,#253978);background-size:150% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 2px 0 #cbd8f5) drop-shadow(0 6px 10px #2e458c19);animation:slogan-light 10s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){.hero.hero--hand .hero-tagline{animation:none}}
@media print, (forced-colors:active){.hero.hero--hand .hero-tagline{background:none;color:CanvasText;text-shadow:none;filter:none;animation:none}}
.main-nav .nav-contact{white-space:nowrap}
.confidence-button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:15px 25px;border-radius:100px;background:linear-gradient(130deg,#4e62d7,#3048b5);color:#fff;font-size:1rem;font-weight:650;box-shadow:inset 0 1px 0 #ffffff40,0 3px 0 #263993,0 12px 24px -14px #253f98;transition:transform .2s,box-shadow .2s}
.confidence-button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff40,0 3px 0 #263993,0 17px 26px -14px #253f98}
.confidence-button:focus-visible,.specialist-evidence a:focus-visible,.situations-grid a:focus-visible,.practice-card a:focus-visible{outline:3px solid #687edf;outline-offset:5px}
.specialist-section{background:radial-gradient(ellipse at 9% 55%,#e5edff80,transparent 45%),#fff;border-block:1px solid #e4ebf5}
.specialist-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(42px,7vw,108px);align-items:center}
.specialist-portrait{margin:0;position:relative;max-width:440px;width:100%;border-radius:24px;overflow:hidden;box-shadow:0 4px 0 #c8d6ed,0 32px 65px -34px #253f6966;background:#e9edf4}
.specialist-portrait img{display:block;width:100%;height:auto;aspect-ratio:900/1369;object-fit:cover}
.specialist-portrait figcaption{position:absolute;inset:auto 10px 6px;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;padding:6px 12px;background:#ffffffec;backdrop-filter:blur(16px);border:1px solid #fff;border-radius:9px;color:#22345b;font-size:1rem;font-weight:700;line-height:1.25}
.specialist-portrait figcaption span{display:block;font-size:.875rem;font-weight:450;color:#536886}
.specialist-copy .eyebrow{margin-bottom:24px}
.specialist-copy h2,.confidence-heading h2{font-size:clamp(2.1rem,3.6vw,3.7rem);line-height:1.15;letter-spacing:-.045em;font-weight:650;color:#243963;text-wrap:balance}
.specialist-copy h2 span,.confidence-heading h2 span{color:#465fc0}
.specialist-copy>p:not(.eyebrow){font-size:1rem;line-height:1.85;max-width:58ch;color:#566882;margin-top:22px}
.specialist-copy>p.specialist-intro{font-size:clamp(1.06rem,1.4vw,1.25rem);color:#354f73;line-height:1.8}
.specialist-promises{list-style:none;margin:25px 0 31px;padding:0;border-top:1px solid #dce5f3}
.specialist-promises li{padding:12px 0;border-bottom:1px solid #dce5f3;font-size:.9375rem;color:#3b5277}
.specialist-evidence{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:26px}
.specialist-evidence a{font-size:.875rem;color:#52699a;text-decoration:underline;text-underline-offset:5px}
.situations-section{background:#f4f7fd}
.confidence-heading{display:grid;grid-template-columns:1.25fr 1fr;gap:20px 80px;align-items:end;margin-bottom:44px}
.confidence-heading>.eyebrow{grid-column:1/-1}
.confidence-heading>p:not(.eyebrow){color:#5c6e88;font-size:1.0625rem;line-height:1.85;max-width:42ch}
.situations-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.situations-grid article{display:flex;flex-direction:column;border-top:2px solid #8094d5;padding:28px 0 0;min-width:0}
.situation-label,.practice-discipline{font-size:.875rem;color:#617697;line-height:1.6}
.situations-grid h3{font-size:clamp(1.4rem,1.8vw,1.75rem);line-height:1.35;letter-spacing:-.03em;font-weight:650;color:#263c68;margin-block:16px 20px}
.situations-grid p{font-size:1rem;line-height:1.85;color:#586b87;margin-bottom:24px}
.situations-grid a,.practice-card>a{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:auto;padding-block:17px 0;border-top:1px solid #d9e2f2;font-size:.9375rem;line-height:1.7;font-weight:650;color:#40599f}
.situations-grid a:hover,.practice-card>a:hover{text-decoration:underline;text-underline-offset:5px}
.practice-section{background:#fff}
.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.practice-card{display:flex;flex-direction:column;min-width:0;padding:clamp(24px,2.5vw,38px);border:1px solid #d6e1f2;border-radius:24px;background:linear-gradient(145deg,#fff,#f2f6fe);box-shadow:0 3px 0 #e0e8f5,0 24px 45px -30px #304d8130}
.practice-client{font-size:clamp(1.8rem,2.6vw,2.65rem);font-weight:750;letter-spacing:-.04em;color:#273f6d;line-height:1.25;padding-bottom:27px;border-bottom:1px solid #d6e1f2;margin-bottom:26px}
.practice-card h3{font-size:clamp(1.4rem,1.8vw,1.75rem);font-weight:650;line-height:1.35;letter-spacing:-.035em;color:#293f6c;margin:16px 0}
.practice-card>p:not(.practice-client){font-size:1rem;line-height:1.8;color:#536887}
.practice-card dl{margin-block:27px;font-size:.9375rem;line-height:1.7}
.practice-card dt{font-size:.875rem;color:#6d80a0;margin-top:15px}.practice-card dd{margin:3px 0 0;color:#304c75}
.practice-card:nth-child(2){background:linear-gradient(150deg,#253a76,#3d55b5);border-color:#4a63b7;box-shadow:0 3px 0 #1f346e,0 24px 45px -30px #263b8f66}
.practice-card:nth-child(2) :is(.practice-client,h3,dd,a){color:#fff}
.practice-card:nth-child(2) :is(.practice-discipline,p:not(.practice-client),dt){color:#d5dff7}
.practice-card:nth-child(2) :is(.practice-client,a){border-color:#ffffff38}
.practice-footnote{font-size:.9375rem;color:#60718c;line-height:1.8;margin-top:26px}
.contact-meeting{margin-block:26px 36px;background:#fff;color:#30499a;box-shadow:0 3px 0 #c5d2ee}
/* Keep the contact section concise, with the invitation beside the contact details. */
.contact-section.section-space{padding-block:clamp(40px,4vw,64px)}
.contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,72px);align-items:center}
.contact-layout .eyebrow{margin-bottom:14px}
.contact-layout .contact-heading-row h2{font-size:clamp(2.25rem,3.6vw,3.5rem);line-height:1.18}
.contact-layout .contact-meeting{margin:24px 0 0;gap:20px;padding-inline:22px}
.contact-layout .contact-bottom{display:block;margin:0;padding:0 0 0 clamp(24px,3vw,48px);border-top:0;border-left:1px solid #b3c8ff4f}
.contact-layout .contact-bottom>p{margin:0 0 18px;max-width:44ch;font-size:1rem;line-height:1.65}
.contact-layout .contact-details>a{min-height:64px;padding:10px 0}
.contact-layout .contact-details>a+a{margin-top:6px;padding-top:10px}
.contact-layout .contact-label{font-size:.875rem}
.contact-layout .contact-value{font-size:clamp(1.5rem,1.8vw,1.875rem);line-height:1.4}
@media(max-width:760px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:28px}.contact-layout .contact-bottom{border-left:0;border-top:1px solid #b3c8ff4f;padding:24px 0 0}}
.profile-intro{grid-template-columns:minmax(0,1fr);align-items:center}
.profile-photo{margin:0;max-width:400px;justify-self:end;border-radius:24px;overflow:hidden;box-shadow:0 4px 0 #cbd7ec,0 30px 60px -34px #2a4564;background:#e9eef7}
.profile-photo img{display:block;width:100%;height:auto;aspect-ratio:900/1369;object-fit:cover}
.meeting-layout{align-items:start}
.meeting-layout h2{font-size:clamp(2.1rem,3.5vw,3.5rem);line-height:1.18;font-weight:650;letter-spacing:-.04em}
.meeting-steps{margin:26px 0;padding-left:24px;color:#425d83;font-size:1rem;line-height:1.8}.meeting-steps li{padding:5px 0}
.meeting-direct{font-size:1rem;line-height:1.9;color:#526986;margin-top:28px}.meeting-direct a{color:#334f96;text-decoration:underline;text-underline-offset:4px}
#quote-form{background:#fff;border:1px solid #dce5f4;padding:clamp(24px,3vw,42px);border-radius:24px;box-shadow:0 18px 45px -28px #344f8738}
.quote-field select{width:100%;min-height:52px;border:1px solid #bccce6;border-radius:10px;padding:12px 14px;font:inherit;background:#fff;color:#233655}
.quote-field input:focus-visible,.quote-field select:focus-visible,.quote-field textarea:focus-visible{outline:2px solid #5265ca;outline-offset:3px}
.optional-label{font-size:.875rem;font-weight:450;color:#6b7c96}
.meeting-privacy,.quote-delivery{font-size:.875rem;line-height:1.75;color:#697b95;margin-top:18px}
.quote-delivery{color:#4c6285}
#quote-form .quote-submit{min-height:54px;font-size:.9375rem;line-height:1.5;white-space:normal;margin-top:24px;max-width:100%}
#quote-form .quote-submit:disabled{opacity:.7;cursor:wait}
.quote-status{font-size:1rem;line-height:1.75}.quote-status:not(:empty){margin-top:22px;padding:16px 18px;border-radius:12px;background:#edf3ff;color:#2d4888}
.quote-status[data-state="error"]{background:#fff2ee;color:#8c392b}
.quote-fallback{display:inline-block;margin-top:20px;font-size:.875rem;line-height:1.7;color:#4b6191;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.legacy-anchor{position:absolute;scroll-margin-top:110px}
@media(max-width:1100px){.main-nav{gap:20px}.main-nav .nav-contact{padding-inline:17px}.specialist-layout{gap:42px}.confidence-heading{gap:20px 42px}.practice-grid,.situations-grid{gap:20px}.practice-card{padding:24px}.specialist-copy h2{font-size:2.5rem}}
@media(max-width:900px){.practice-grid,.situations-grid{grid-template-columns:1fr}.practice-card{padding:30px}.practice-card h3 br,.situations-grid h3 br{display:none}.situations-grid{gap:32px}.specialist-layout{grid-template-columns:.85fr 1.15fr;gap:32px}.specialist-copy h2{font-size:2rem}.profile-intro{gap:35px}.meeting-layout{grid-template-columns:1fr}}
@media(max-width:760px){.hero.hero--hand .hero-inner{min-height:560px;padding-block:35px 55px}.hero-specialist{font-size:.875rem;max-width:32ch}.main-nav .nav-contact{width:auto}.specialist-layout{grid-template-columns:1fr;gap:38px}.specialist-portrait{max-width:360px}.specialist-copy h2,.confidence-heading h2{font-size:clamp(2rem,8vw,3rem)}.confidence-heading{grid-template-columns:1fr;gap:18px}.confidence-heading>p:not(.eyebrow){font-size:1rem}.profile-intro{grid-template-columns:1fr}.profile-photo{justify-self:start;max-width:340px;width:100%}.meeting-layout h2{font-size:2.25rem}.specialist-evidence{gap:16px}.confidence-button{gap:22px;font-size:.9375rem;max-width:100%}.practice-card{padding:25px}.practice-card h3{font-size:1.55rem}#quote-form{padding:22px}.quote-fields{grid-template-columns:1fr}.quote-field{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.confidence-button{transition:none}.confidence-button:hover{transform:none}.intro-logo,.intro-caption,.intro-hand img{animation:none}}

/* Both slogan lines breathe together while the text remains fully visible. */
.hero.hero--hand .hero-brand-promise,
.hero.hero--hand .hero-tagline{
 animation:slogan-glow-breathe 4s ease-in-out infinite;
 background-position:50% 50%;
 filter:drop-shadow(0 2px 0 #cbd8f5) drop-shadow(0 0 4px #637de83d) drop-shadow(0 0 10px #5877e824) drop-shadow(0 0 18px #6f9df012);
}
@keyframes slogan-glow-breathe{
 0%,100%{filter:drop-shadow(0 2px 0 #cbd8f5) drop-shadow(0 0 4px #637de800) drop-shadow(0 0 10px #5877e800) drop-shadow(0 0 18px #6f9df000)}
 50%{filter:drop-shadow(0 2px 0 #cbd8f5) drop-shadow(0 0 4px #637de83d) drop-shadow(0 0 10px #5877e824) drop-shadow(0 0 18px #6f9df012)}
}
@media(prefers-reduced-motion:reduce){
 .hero.hero--hand .hero-brand-promise,.hero.hero--hand .hero-tagline{animation:none}
}
@media print, (forced-colors:active){
 .hero.hero--hand .hero-brand-promise,.hero.hero--hand .hero-tagline{animation:none;background:none;color:CanvasText;filter:none;text-shadow:none}
}
