:root{--ff-blue:#176fca;--ff-blue2:#2868b0;--ff-navy:#0b2b4c;--ff-navy2:#123c68;--ff-ink:#112b4f;--ff-text:#4d6278;--ff-pale:#f5f8fc;--ff-border:#dfe7f0}
html{scroll-behavior:smooth}
body.fairfin-fullpage{margin:0!important;padding:0!important;background:#fff!important}
body.fairfin-fullpage #page,body.fairfin-fullpage .site{max-width:none!important;margin:0!important;padding:0!important}
.ff-site,.ff-site *{box-sizing:border-box}
.ff-site{font-family:'Plus Jakarta Sans',Arial,sans-serif;color:var(--ff-ink);background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}
.ff-site img{display:block;max-width:100%}.ff-site a{text-decoration:none}.ff-site h1,.ff-site h2,.ff-site h3,.ff-site p{margin-top:0}
.ff-shell{width:min(1320px,calc(100% - 64px));margin:0 auto}
.ff-header{height:69px;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(18,52,88,.08);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.ff-header-inner{height:100%;display:grid;grid-template-columns:175px 1fr auto;align-items:center;gap:24px}
.ff-brand img{width:146px;height:auto}.ff-nav{display:flex;justify-content:center;gap:42px;align-items:center}.ff-nav a{font-size:17px;font-weight:600;color:#1a3150;transition:.2s}.ff-nav a:hover{color:var(--ff-blue)}
.ff-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:9px;font-size:14px;font-weight:700;transition:.2s;white-space:nowrap}.ff-btn-primary{background:linear-gradient(180deg,#2585e2,#1266bd);color:#fff;box-shadow:0 10px 24px rgba(23,111,202,.22)}.ff-btn-primary:hover{transform:translateY(-1px);color:#fff}.ff-btn-outline{border:2px solid #2c7dcc;background:rgba(255,255,255,.76);color:#1e5f9d}.ff-btn-outline:hover{background:#fff;color:#164f83}
.ff-header-cta{min-height:40px;padding:0 18px;font-size:13px;border-radius:8px}
.ff-menu-toggle{display:none;background:none;border:0;padding:6px;cursor:pointer}.ff-menu-toggle span{display:block;width:25px;height:2px;background:var(--ff-ink);margin:5px 0}

.ff-hero{position:relative;min-height:clamp(560px,43.5vw,710px);overflow:hidden}
.ff-slideshow,.ff-hero-slides,.ff-photo-slides{position:relative}.ff-slides,.ff-hero-slides,.ff-photo-slides{position:absolute;inset:0}.ff-slide,.ff-hero-slide,.ff-photo-slide{position:absolute;inset:0;background-size:cover;background-position:center center;opacity:0;transition:opacity 1.65s ease}.ff-slide.is-active,.ff-hero-slide.is-active,.ff-photo-slide.is-active{opacity:1}.ff-hero-slide{background-position:center 46%}.ff-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,250,254,.98) 0%,rgba(246,250,254,.92) 27%,rgba(246,250,254,.42) 52%,rgba(246,250,254,0) 72%);pointer-events:none;z-index:1}.ff-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(8,34,67,.06));z-index:1}.ff-hero-inner{position:relative;z-index:2;min-height:inherit;display:flex;align-items:center}.ff-hero-copy{width:min(50%,650px);padding:56px 0}.ff-eyebrow,.ff-kicker{color:var(--ff-blue);font-size:18px;font-weight:600;letter-spacing:.01em}.ff-hero h1{font-size:clamp(48px,3.65vw,64px);line-height:1.04;letter-spacing:-.04em;color:#102e55;margin:10px 0 22px;font-weight:700}.ff-hero h1 span{color:#1675d3}.ff-hero-sub{font-size:22px;color:#40556d;margin-bottom:0;line-height:1.3}.ff-actions{display:flex;gap:19px;margin-top:30px;flex-wrap:wrap}

.ff-light-pattern{background-color:#f8fbfe;background-image:radial-gradient(circle at 92% 16%,rgba(40,104,176,.13) 0 1px,transparent 1.5px),linear-gradient(110deg,transparent 0 75%,rgba(40,104,176,.035) 75% 76%,transparent 76%);background-size:16px 16px,100% 100%}
.ff-about{padding:0}.ff-about-grid{display:grid;grid-template-columns:48% 52%;min-height:420px}.ff-about-photo{overflow:hidden}.ff-about-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.ff-about-copy{padding:56px 7vw 54px 56px;display:flex;flex-direction:column;justify-content:center;position:relative}.ff-about-copy:after{content:"";position:absolute;right:0;bottom:0;width:48%;height:65%;background:linear-gradient(180deg,transparent 20%,rgba(40,104,176,.08));clip-path:polygon(0 100%,18% 65%,33% 78%,50% 38%,63% 58%,80% 16%,100% 0,100% 100%);opacity:.45}.ff-about-copy>*{position:relative;z-index:1}.ff-about-copy h2{font-size:34px;margin:2px 0 18px;color:#12365e;line-height:1.06}.ff-about-copy p{font-size:20px;line-height:1.72;color:#485e76;margin-bottom:16px;max-width:650px}

.ff-dark-pattern{position:relative;background:linear-gradient(135deg,var(--ff-navy) 0%,#0c3157 48%,var(--ff-navy2) 100%)}.ff-dark-pattern:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(120deg,transparent 0 58%,rgba(79,153,219,.3) 58.15%,transparent 58.3%),linear-gradient(180deg,transparent 0 72%,rgba(79,153,219,.18) 72.1%,transparent 72.25%)}.ff-dark-pattern>*{position:relative;z-index:1}
.ff-team{padding:42px 0 52px}.ff-section-title{font-size:32px;text-align:center;color:#142f53;margin:0 0 32px;position:relative;line-height:1.12}.ff-section-title:after{content:"";display:block;width:34px;height:3px;background:#5aa8e9;margin:10px auto 0}.ff-section-title-light{color:#fff}
.ff-team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ff-person-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 24px rgba(3,25,48,.16)}.ff-person-photo{height:300px;background:#edf2f6;overflow:hidden}.ff-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.ff-person-card:nth-child(3) .ff-person-photo img{object-position:64% 18%}.ff-person-card:nth-child(4) .ff-person-photo img{object-position:36% 10%}.ff-person-info{padding:18px 18px 18px}.ff-person-info h3{font-size:20px;color:#0d4f91;margin:0 0 3px;font-weight:700;line-height:1.12}.ff-role{font-size:16px;color:#445a70;margin-bottom:12px}.ff-contact-line{display:flex;align-items:center;gap:8px;color:#536a82;font-size:14px;line-height:1.45;margin-top:6px;word-break:break-word}.ff-contact-line:hover{color:#176fca}.ff-mini-icon{width:18px;color:#2880d1;font-weight:700;display:inline-flex;justify-content:center}

.ff-services{padding:44px 0 54px}.ff-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ff-service-card{display:grid;grid-template-columns:102px 1fr;gap:20px;background:rgba(255,255,255,.88);border:1px solid var(--ff-border);border-radius:12px;padding:22px 22px 20px;min-height:220px;box-shadow:0 4px 15px rgba(22,60,99,.03)}.ff-service-icon{width:96px;height:96px;display:flex;align-items:flex-start;justify-content:center;padding-top:4px}.ff-service-icon img{max-width:100%;max-height:100%;object-fit:contain}.ff-service-card h3{font-size:18px;color:#152f50;margin:2px 0 8px;line-height:1.18}.ff-service-card p{font-size:16px;line-height:1.64;color:#445a70;margin:0}

.ff-philosophy{padding:0}.ff-philosophy-grid{display:grid;grid-template-columns:43% 57%;min-height:420px}.ff-philosophy-photo{overflow:hidden}.ff-philosophy-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.ff-philosophy-copy{padding:40px 7vw 40px 40px;display:flex;flex-direction:column;justify-content:center}.ff-philosophy-copy h2{font-size:32px;color:#fff;margin:0 0 24px;line-height:1.1}.ff-philosophy-copy h2:after{content:"";display:block;width:34px;height:3px;background:#75b9f0;margin-top:8px}.ff-philosophy-list{display:grid;gap:12px}.ff-philosophy-item{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:16px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);backdrop-filter:blur(8px);border-radius:10px;padding:14px 18px}.ff-philosophy-item img{width:48px;height:48px;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,.12))}.ff-philosophy-item p{font-size:18px;line-height:1.56;color:#fff;margin:0}

.ff-contact{padding:42px 0 34px;background:#fff}.ff-contact .ff-kicker{margin-bottom:6px}.ff-contact-grid{display:grid;grid-template-columns:1.1fr .95fr 1.15fr 1.1fr;gap:24px;align-items:stretch}.ff-contact h2{font-size:32px;margin:0 0 16px;color:#11335a;line-height:1.08}.ff-contact-intro p{font-size:18px;line-height:1.72;color:#52677d;margin:0}.ff-contact-data{padding-top:42px}.ff-contact-data h3{font-size:22px;margin:0 0 14px;color:#123660;line-height:1.2}.ff-address-row{display:grid;grid-template-columns:22px 1fr;gap:8px;color:#1c73c4}.ff-address-row p{font-size:18px;line-height:1.56;color:#40586f;margin:0 0 10px}.ff-contact-data>a{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:center;font-size:17px;color:#47627d;margin:8px 0}.ff-contact-data>a span{color:#1d7bd0}.ff-contact-photo,.ff-map-wrap{border-radius:8px;overflow:hidden;min-height:240px}.ff-contact-photo{position:relative}.ff-photo-slides,.ff-photo-slide{position:absolute;inset:0}.ff-photo-slide{background-size:cover;background-position:center center}.ff-map-wrap iframe{display:block;border:0;width:100%;height:100%;min-height:240px}

.ff-footer{background:linear-gradient(120deg,#082743,#0a3156);padding:24px 0 26px}.ff-footer-grid{display:grid;grid-template-columns:180px 1fr 100px;gap:28px;align-items:center}.ff-footer-logo img{width:150px}.ff-legal p{font-size:13px;line-height:1.62;color:#b9c8d8;margin:0 0 9px}.ff-legal a{color:#8ec9f5}.ff-social{display:flex;gap:10px;justify-content:flex-end}.ff-social span{width:38px;height:38px;border:1px solid rgba(79,153,219,.45);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#61a9e5;font-weight:700;font-size:18px}


@media(max-width:1280px){.ff-shell{width:min(100% - 44px,1160px)}.ff-nav{gap:28px}.ff-nav a{font-size:15px}.ff-btn{font-size:14px;min-height:45px;padding:0 21px}.ff-hero h1{font-size:clamp(46px,4.3vw,60px)}.ff-hero-sub{font-size:21px}.ff-about-copy h2,.ff-contact h2,.ff-philosophy-copy h2,.ff-section-title{font-size:31px}.ff-about-copy p,.ff-philosophy-item p,.ff-contact-intro p{font-size:17px}.ff-person-info h3{font-size:19px}.ff-role{font-size:15px}.ff-contact-line{font-size:13.5px}.ff-service-card h3{font-size:18px}.ff-service-card p{font-size:14.5px}}
@media(max-width:1024px){.ff-shell{width:min(100% - 40px,940px)}.ff-header-inner{grid-template-columns:160px 1fr auto;gap:14px}.ff-brand img{width:146px}.ff-nav{gap:18px}.ff-nav a{font-size:13px}.ff-header-cta{font-size:12.5px;min-height:38px;padding:0 16px}.ff-btn{min-height:44px;padding:0 20px;font-size:14px}.ff-hero{min-height:580px}.ff-hero-copy{width:58%;padding:48px 0}.ff-hero h1{font-size:46px}.ff-hero-sub{font-size:20px}.ff-about-grid{grid-template-columns:1fr}.ff-about-photo{height:360px}.ff-about-copy{padding:44px 38px 44px}.ff-about-copy h2{font-size:31px}.ff-team-grid{grid-template-columns:repeat(2,1fr)}.ff-person-photo{height:320px}.ff-person-info h3{font-size:19px}.ff-role{font-size:15px}.ff-contact-line{font-size:13px}.ff-services-grid{grid-template-columns:repeat(2,1fr)}.ff-service-card{grid-template-columns:90px 1fr;min-height:210px}.ff-service-icon{width:84px;height:84px}.ff-service-card h3{font-size:18px}.ff-service-card p{font-size:14.5px}.ff-philosophy-grid{grid-template-columns:1fr}.ff-philosophy-photo{height:340px}.ff-philosophy-copy{padding:34px 26px 40px}.ff-philosophy-copy h2{font-size:31px}.ff-philosophy-item p{font-size:17px}.ff-contact-grid{grid-template-columns:1fr 1fr}.ff-contact h2{font-size:31px}.ff-contact-intro p,.ff-address-row p,.ff-contact-data>a{font-size:16px}.ff-contact-photo,.ff-map-wrap{min-height:260px}.ff-footer-grid{grid-template-columns:160px 1fr}.ff-social{display:none}.ff-legal p{font-size:12px}}
@media(max-width:760px){.ff-shell{width:calc(100% - 30px)}.ff-header{height:68px}.ff-header-inner{grid-template-columns:1fr auto;gap:10px}.ff-brand img{width:132px}.ff-menu-toggle{display:block}.ff-header-cta{display:none}.ff-nav{position:absolute;top:68px;left:0;right:0;background:#fff;border-top:1px solid #e9eef4;border-bottom:1px solid #dce4ed;padding:12px 15px 16px;display:none;flex-direction:column;gap:2px;align-items:stretch}.ff-nav.is-open{display:flex}.ff-nav a{font-size:16px;padding:11px 8px}.ff-hero{min-height:600px}.ff-hero-slide{background-position:60% center}.ff-photo-slide{background-position:center center}.ff-hero:after{background:linear-gradient(90deg,rgba(247,251,254,.95) 0%,rgba(247,251,254,.86) 60%,rgba(247,251,254,.28) 100%)}.ff-hero-copy{width:100%;max-width:540px;padding:42px 0}.ff-eyebrow,.ff-kicker{font-size:16px}.ff-hero h1{font-size:40px}.ff-hero-sub{font-size:18px}.ff-actions{gap:14px;margin-top:24px}.ff-about-grid{display:flex;flex-direction:column}.ff-about-copy{order:1}.ff-about-photo{order:2;height:280px}.ff-about-copy{padding:34px 24px 36px}.ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:29px}.ff-about-copy p,.ff-contact-intro p{font-size:16px}.ff-team{padding:34px 0 40px}.ff-team-grid{grid-template-columns:1fr 1fr;gap:12px}.ff-person-photo{height:240px}.ff-person-info{padding:15px}.ff-person-info h3{font-size:17px}.ff-role{font-size:14px}.ff-contact-line{font-size:12px}.ff-services{padding:34px 0 40px}.ff-services-grid{grid-template-columns:1fr}.ff-service-card{grid-template-columns:82px 1fr;padding:18px;min-height:auto}.ff-service-icon{width:78px;height:78px}.ff-service-card h3{font-size:17px}.ff-service-card p{font-size:14px}.ff-philosophy-photo{height:300px}.ff-philosophy-copy{padding:28px 22px 34px}.ff-philosophy-item{grid-template-columns:50px 1fr;padding:12px 14px}.ff-philosophy-item img{width:40px;height:40px}.ff-philosophy-item p{font-size:15px}.ff-contact{padding:34px 0 28px}.ff-contact-grid{grid-template-columns:1fr}.ff-contact-data{padding-top:0}.ff-contact-intro p,.ff-address-row p,.ff-contact-data>a{font-size:15px}.ff-contact-photo,.ff-map-wrap{min-height:250px}.ff-footer-grid{grid-template-columns:1fr}.ff-footer-logo img{width:132px}.ff-legal p{font-size:11px}}
@media(max-width:520px){.ff-team-grid{grid-template-columns:1fr}.ff-person-photo{height:340px}.ff-actions{gap:12px}.ff-btn{padding:0 16px;font-size:13.5px;min-height:42px}.ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:28px}.ff-service-card{grid-template-columns:74px 1fr}.ff-service-icon{width:68px;height:68px}.ff-service-card h3{font-size:16.5px}.ff-service-card p{font-size:13.5px}.ff-philosophy-item{grid-template-columns:44px 1fr;padding:10px 12px}.ff-philosophy-item img{width:34px;height:34px}.ff-footer-logo img{width:120px}.ff-legal p{font-size:10.5px}}

/* === v1.2.1: desktop typography + proportion calibration === */
.ff-hero h1{font-size:clamp(50px,3.8vw,64px)}
.ff-hero-sub{font-size:25px}

.ff-about-copy h2{font-size:38px;margin-bottom:16px}
.ff-section-title{font-size:34px;margin-bottom:28px}
.ff-philosophy-copy h2{font-size:34px;margin-bottom:20px}
.ff-contact h2{font-size:34px;margin-bottom:14px}

.ff-person-info{padding:15px 16px 16px}
.ff-person-info h3{font-size:19px;line-height:1.14;margin-bottom:3px}
.ff-role{font-size:14.5px;margin-bottom:9px}
.ff-contact-line{font-size:13px;gap:6px;margin-top:4px;line-height:1.35}
.ff-contact-line:first-of-type{font-size:12.2px;letter-spacing:-.018em;white-space:nowrap}
.ff-mini-icon{width:16px}

.ff-service-card{grid-template-columns:96px 1fr;gap:18px;padding:21px 21px 20px;min-height:214px}
.ff-service-icon{width:90px;height:90px}
.ff-service-card h3{font-size:19px;line-height:1.2;margin-bottom:7px}
.ff-service-card p{font-size:15.5px;line-height:1.62}

.ff-contact-intro p{font-size:17px}
.ff-contact-data{padding-top:35px}
.ff-contact-data h3{font-size:18px;margin-bottom:12px}
.ff-address-row p{font-size:16px}
.ff-contact-data>a{font-size:15px}

@media(max-width:1280px){
  .ff-hero h1{font-size:52px}
  .ff-hero-sub{font-size:22px}
  .ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:33px}
  .ff-person-info h3{font-size:18px}
  .ff-role{font-size:14px}
  .ff-contact-line{font-size:12.5px}
  .ff-contact-line:first-of-type{font-size:11.8px;white-space:nowrap}
  .ff-service-card h3{font-size:18px}
  .ff-service-card p{font-size:14.5px}
  .ff-contact-data h3{font-size:17px}
}

@media(max-width:1024px){
  .ff-hero h1{font-size:48px}
  .ff-hero-sub{font-size:21px}
  .ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:32px}
  .ff-person-info h3{font-size:18px}
  .ff-role{font-size:14px}
  .ff-contact-line,.ff-contact-line:first-of-type{font-size:12.5px;white-space:normal;letter-spacing:0}
  .ff-service-card{grid-template-columns:86px 1fr;gap:16px;min-height:205px}
  .ff-service-icon{width:80px;height:80px}
  .ff-service-card h3{font-size:18px}
  .ff-service-card p{font-size:14.5px}
  .ff-contact-intro p{font-size:16px}
  .ff-contact-data h3{font-size:16px}
  .ff-address-row p,.ff-contact-data>a{font-size:15px}
}

@media(max-width:760px){
  .ff-hero h1{font-size:42px}
  .ff-hero-sub{font-size:19px}
  .ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:30px}
  .ff-person-info h3{font-size:18px}
  .ff-role{font-size:14px}
  .ff-contact-line,.ff-contact-line:first-of-type{font-size:13px;white-space:normal}
  .ff-service-card h3{font-size:17px}
  .ff-service-card p{font-size:14px}
  .ff-service-icon{width:72px;height:72px}
  .ff-service-card{grid-template-columns:76px 1fr}
}


/* === v1.2.2: contact rhythm, slideshow timing visuals, service icon calibration === */
@media(min-width:1025px){
  .ff-contact-grid{align-items:stretch}
  .ff-contact-data{
    padding:14px 2px 14px 2px;
    min-height:240px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .ff-contact-data h3{margin:0 0 20px;font-size:17px;line-height:1.25}
  .ff-address-row{align-items:flex-start;margin-bottom:6px}
  .ff-address-row p{line-height:1.68;margin:0 0 7px}
  .ff-contact-data>a{margin:8px 0;line-height:1.45}

  .ff-service-card{grid-template-columns:86px 1fr;gap:18px}
  .ff-service-icon{
    width:82px;
    height:82px;
    padding-top:0;
    align-items:flex-start;
    justify-content:center;
    align-self:start;
  }
  .ff-service-icon img{width:auto;height:auto;max-width:78px;max-height:78px;object-position:center top}
  .ff-service-card:last-child .ff-service-icon img{max-width:50px;max-height:60px}
}

@media(min-width:761px) and (max-width:1024px){
  .ff-contact-data{min-height:260px;display:flex;flex-direction:column;justify-content:center;padding-top:10px}
  .ff-contact-data h3{margin-bottom:18px}
  .ff-address-row{margin-bottom:5px}
  .ff-contact-data>a{margin:7px 0}
  .ff-service-icon{padding-top:0;align-items:flex-start;align-self:start}
  .ff-service-icon img{max-width:76px;max-height:76px;object-position:center top}
  .ff-service-card:last-child .ff-service-icon img{max-width:45px;max-height:52px}
}

@media(max-width:760px){
  .ff-contact-data{min-height:auto;padding-top:4px}
  .ff-contact-data h3{margin-bottom:14px}
  .ff-service-icon{padding-top:0;align-items:flex-start;align-self:start}
  .ff-service-icon img{object-position:center top}
  .ff-service-card:last-child .ff-service-icon img{max-width:45px;max-height:52px}
}


/* === v1.2.5: consistent double section headings === */
.ff-section-heading{margin:0 0 28px}
.ff-section-heading-left{text-align:left}
.ff-section-kicker{color:var(--ff-blue);font-size:18px;font-weight:600;line-height:1.3;letter-spacing:.01em;margin:0 0 6px}
.ff-section-kicker-light{color:#78bdf0}
.ff-section-title-left{text-align:left;margin-bottom:0}
.ff-section-title-left:after{margin:9px 0 0}
.ff-philosophy-kicker{margin-bottom:7px}
.ff-philosophy-copy h2{margin-top:0}

@media(max-width:1024px){
  .ff-section-heading{margin-bottom:24px}
}
@media(max-width:760px){
  .ff-section-heading{margin-bottom:22px}
  .ff-section-kicker{font-size:16px}
  .ff-section-title-left{text-align:left}
  .ff-section-title-left:after{margin-left:0;margin-right:0}
}

/* === v1.2.7: slightly smaller primary section headings === */
.ff-about-copy h2{font-size:34px}
.ff-section-title{font-size:32px}
.ff-philosophy-copy h2{font-size:32px}
.ff-contact h2{font-size:32px}

@media(max-width:1280px){
  .ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:31px}
}
@media(max-width:1024px){
  .ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:30px}
}
@media(max-width:760px){
  .ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:29px}
}
@media(max-width:520px){
  .ff-about-copy h2,.ff-section-title,.ff-philosophy-copy h2,.ff-contact h2{font-size:28px}
}


/* === v1.2.8: subtle reduction of selected body copy; portfolio unchanged === */
.ff-about-copy p{font-size:18.5px}
.ff-philosophy-item p{font-size:17px}
.ff-contact-intro p{font-size:17px}

@media(max-width:1280px){
  .ff-about-copy p{font-size:16.5px}
  .ff-philosophy-item p{font-size:16.5px}
  .ff-contact-intro p{font-size:16.5px}
}
@media(max-width:1024px){
  .ff-about-copy p{font-size:16px}
  .ff-philosophy-item p{font-size:16px}
  .ff-contact-intro p{font-size:15.5px}
}
@media(max-width:760px){
  .ff-about-copy p{font-size:15.5px}
  .ff-philosophy-item p{font-size:14.5px}
  .ff-contact-intro p{font-size:14.5px}
}
@media(max-width:520px){
  .ff-about-copy p{font-size:15px}
  .ff-philosophy-item p{font-size:14px}
  .ff-contact-intro p{font-size:14px}
}


/* === v1.2.13: rebuilt Contact section – Variant 1 === */
.ff-contact-v1{
  padding:46px 0 40px;
  background:#fff;
}
.ff-contact-v1 .ff-contact-top{
  display:grid;
  grid-template-columns:1.08fr .98fr 2.05fr;
  gap:24px;
  align-items:stretch;
}
.ff-contact-v1 .ff-contact-intro{
  padding:4px 0 2px;
}
.ff-contact-v1 .ff-contact-intro .ff-kicker{
  margin:0 0 5px;
}
.ff-contact-v1 .ff-contact-intro h2{
  margin:0 0 14px;
}
.ff-contact-v1 .ff-contact-intro p{
  max-width:390px;
  margin:0;
}
.ff-contact-v1 .ff-contact-card{
  min-height:268px;
  background:#fff;
  border:1px solid var(--ff-border);
  border-radius:12px;
  padding:24px 24px 22px;
  box-shadow:0 8px 24px rgba(22,60,99,.06);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ff-contact-v1 .ff-contact-card h3{
  margin:0 0 18px;
  font-size:18px;
  line-height:1.25;
  color:#123660;
}
.ff-contact-v1 .ff-contact-card-row{
  display:grid;
  grid-template-columns:26px 1fr;
  gap:10px;
  align-items:start;
  margin:8px 0;
  color:#40586f;
  font-size:15px;
  line-height:1.55;
}
.ff-contact-v1 a.ff-contact-card-row:hover{
  color:var(--ff-blue);
}
.ff-contact-v1 .ff-contact-card-icon{
  color:#1d7bd0;
  font-weight:700;
  font-size:17px;
  line-height:1.35;
}
.ff-contact-v1 .ff-contact-photo{
  min-height:268px;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(22,60,99,.08);
}
.ff-contact-v1 .ff-map-wide{
  margin-top:24px;
  min-height:280px;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(22,60,99,.05);
}
.ff-contact-v1 .ff-map-wide iframe{
  min-height:280px;
}

@media(max-width:1180px){
  .ff-contact-v1 .ff-contact-top{
    grid-template-columns:1fr 1fr;
  }
  .ff-contact-v1 .ff-contact-photo{
    grid-column:1 / -1;
    min-height:320px;
  }
  .ff-contact-v1 .ff-contact-intro p{
    max-width:none;
  }
}

@media(max-width:760px){
  .ff-contact-v1{
    padding:36px 0 30px;
  }
  .ff-contact-v1 .ff-contact-top{
    grid-template-columns:1fr;
    gap:16px;
  }
  .ff-contact-v1 .ff-contact-card{
    min-height:auto;
    padding:20px;
  }
  .ff-contact-v1 .ff-contact-card h3{
    font-size:16px;
    margin-bottom:14px;
  }
  .ff-contact-v1 .ff-contact-card-row{
    font-size:14.5px;
    margin:6px 0;
  }
  .ff-contact-v1 .ff-contact-photo{
    grid-column:auto;
    min-height:280px;
  }
  .ff-contact-v1 .ff-map-wide{
    margin-top:16px;
    min-height:260px;
  }
  .ff-contact-v1 .ff-map-wide iframe{
    min-height:260px;
  }
}


/* === v1.2.15: remove header CTA while keeping desktop navigation visually centered === */
@media(min-width:1025px){
  .ff-header-inner{grid-template-columns:190px 1fr 190px}
  .ff-header-spacer{display:block;width:190px;height:1px}
}
@media(max-width:1024px){
  .ff-header-spacer{display:none}
}

