/* FELSEN — a short introduction, two disciplines, and first-hand evidence. */
.page-home { overflow:clip; }
.fh-hero { padding-top:82px; padding-bottom:58px; }
.fh-eyebrow { font-size:14px; line-height:1.7; color:var(--muted); margin:0 0 35px; }
.fh-hero h1 { font-size:clamp(48px,5.5vw,80px); line-height:1.26; font-weight:480; letter-spacing:-.055em; margin:0; }
.fh-hero-bottom { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:50px; margin-top:58px; padding-top:29px; border-top:1px solid var(--line); }
.fh-signature { font-size:12px; line-height:1.5; letter-spacing:.16em; font-weight:600; color:var(--muted); padding-left:14px; border-left:2px solid var(--orange); }
.fh-introduction p { font-size:16px; line-height:1.9; color:var(--muted); margin:0 0 15px; }
.fh-link { display:inline-flex; align-items:center; gap:28px; min-height:44px; font-size:14px; line-height:1.7; font-weight:500; text-decoration:none; }
.fh-link span { font-size:21px; }
.fh-link:hover { color:var(--orange); text-decoration:underline; text-underline-offset:6px; }
.fh-expertise { padding-top:64px; padding-bottom:66px; }
.fh-section-head { display:flex; justify-content:space-between; align-items:start; gap:25px; margin-bottom:26px; }
.fh-section-head h2 { font-size:21px; line-height:1.6; letter-spacing:-.025em; font-weight:550; margin:0; }
.fh-section-head > .fh-link { margin-top:-4px; }
.fh-directory { border-top:1px solid var(--control-line); }
.fh-service { display:grid; grid-template-columns:1fr 1fr 28px; align-items:start; gap:38px; padding:38px 0; border-bottom:1px solid var(--line); transition:color .2s ease; }
.fh-service-title { display:flex; align-items:baseline; gap:24px; }
.fh-number { font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums; }
.fh-service h3 { font-size:clamp(25px,2.5vw,34px); line-height:1.45; letter-spacing:-.035em; font-weight:500; margin:0; }
.fh-service-description p { font-size:16px; line-height:1.85; color:var(--muted); margin:0 0 14px; }
.fh-standard { display:block; font-size:12px; line-height:1.7; color:var(--muted); letter-spacing:.01em; }
.fh-arrow { font-size:28px; line-height:1.5; text-align:right; color:var(--orange); }
.fh-service:hover h3 { color:var(--orange); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px; }
.fh-evidence { padding-top:52px; padding-bottom:36px; }
.fh-evidence-note { font-size:12px; line-height:1.8; color:var(--muted); margin:7px 0 0; }
.fh-quotes { display:grid; grid-template-columns:1fr 1fr; gap:70px; margin-top:34px; margin-bottom:50px; }
.fh-quote { margin:0; padding:0; display:flex; flex-direction:column; }
.fh-quote blockquote { font-size:clamp(20px,1.9vw,25px); font-weight:450; line-height:1.7; letter-spacing:-.025em; margin:0 0 26px; padding:0; border:0; }
.fh-quote blockquote p { margin:0; }
.fh-quote figcaption { margin-top:auto; font-size:12px; line-height:1.85; }
.fh-quote figcaption strong { display:block; font-size:13px; font-weight:550; margin-bottom:2px; }
.fh-quote figcaption span { display:block; color:var(--muted); }
.fh-proof-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.fh-proof-links a { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:76px; font-size:14px; padding:18px 24px; }
.fh-proof-links a:first-child { padding-left:0; }
.fh-proof-links a:last-child { padding-right:0; }
.fh-proof-links a + a { border-left:1px solid var(--line); }
.fh-proof-links a > span:last-child { font-size:21px; color:var(--orange); }
.fh-proof-links a:hover { color:var(--orange); }
.fh-contact { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-top:26px; }
.fh-contact p { font-size:15px; line-height:1.8; color:var(--muted); margin:0; }
@media(max-width:1050px) {
 .fh-hero { padding-top:65px; padding-bottom:45px; }
 .fh-hero h1 { font-size:clamp(44px,6.5vw,68px); }
 .fh-hero-bottom { gap:30px; margin-top:46px; }
 .fh-service { grid-template-columns:.95fr 1.05fr 24px; gap:22px; }
 .fh-service-title { gap:15px; }
 .fh-wide-break { display:none; }
 .fh-quotes { gap:40px; }
}
@media(max-width:620px) {
 .fh-hero { padding-top:46px; padding-bottom:36px; }
 .fh-eyebrow { font-size:12px; margin-bottom:26px; }
 .fh-hero h1 { font-size:clamp(31px,8.6vw,49px); line-height:1.35; letter-spacing:-.05em; }
 .fh-hero-bottom { display:block; margin-top:34px; padding-top:23px; }
 .fh-signature { display:none; }
 .fh-introduction p { font-size:15px; line-height:1.85; margin-bottom:10px; }
 .fh-introduction p br { display:none; }
 .fh-expertise { padding-top:34px; padding-bottom:37px; }
 .fh-section-head { margin-bottom:20px; gap:15px; align-items:start; }
 .fh-section-head h2 { font-size:18px; }
 .fh-link { gap:14px; font-size:13px; }
 .fh-service { grid-template-columns:minmax(0,1fr) 24px; padding:27px 0; gap:15px; }
 .fh-service-title { grid-column:1; grid-row:1; gap:14px; }
 .fh-service h3 { font-size:25px; }
 .fh-service-description { grid-column:1; grid-row:2; padding-left:29px; }
 .fh-service-description p { font-size:15px; margin-bottom:10px; }
 .fh-arrow { grid-column:2; grid-row:1; font-size:25px; }
 .fh-evidence { padding-top:32px; padding-bottom:30px; }
 .fh-evidence .fh-section-head { display:block; }
 .fh-evidence .fh-section-head > .fh-link { margin-top:10px; }
 .fh-quotes { display:block; margin-top:24px; margin-bottom:30px; }
 .fh-quote + .fh-quote { margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
 .fh-quote blockquote { font-size:20px; margin-bottom:18px; line-height:1.7; }
 .fh-proof-links { display:block; }
 .fh-proof-links a { padding:14px 0; min-height:58px; }
 .fh-proof-links a + a { border-left:0; border-top:1px solid var(--line); }
 .fh-contact { display:block; padding-top:25px; }
 .fh-contact p { font-size:14px; margin-bottom:5px; }
}
@media(prefers-reduced-motion:reduce) { .fh-service { transition:none; } }
