/* Editorial refresh for the English public pages. Chinese pages keep their own layout. */
:root {
  --editorial-ink: #09274d;
  --editorial-muted: #586b80;
  --editorial-paper: #f8f8f6;
  --editorial-gold: #c99636;
}

body { background: var(--editorial-paper); color: var(--editorial-ink); }
header { box-shadow: 0 3px 18px rgba(7, 31, 63, .07); }
.home-eyebrow, .service-kicker {
  color: var(--editorial-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .18em;
  margin-bottom: 18px;
}
.home-eyebrow span { color: #8d9aab; padding: 0 5px; }
section.hero { background: linear-gradient(115deg, #fff 5%, #f7f8fa 62%, #efe8da 100%); }
.hero .inner {
  max-width: 1320px;
  padding: 70px 28px 76px;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .92fr);
  gap: clamp(36px, 6vw, 90px);
}
.hero-title {
  color: var(--editorial-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(46px, 5.2vw, 72px);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.03;
}
.hero-title .line { white-space: nowrap; }
.hero-title-second { color: #a87926; }
.home-intro { color: #2b4058 !important; font-size: 17px !important; margin: 22px 0 12px !important; }
.home-intro i { color: var(--editorial-gold); font-style: normal; padding: 0 3px; }
.home-proof { color: var(--editorial-muted) !important; font-size: 13px !important; letter-spacing: .025em; margin: 0 0 28px !important; }
.home-proof span { color: var(--editorial-gold); padding: 0 5px; }
.hero .actions { gap: 12px; }
.hero .actions .btn { min-height: 50px; padding: 13px 21px; border-radius: 6px; box-shadow: none; }
.hero .actions .btn.dark { background: var(--editorial-ink); }
.hero .actions .btn.outline { border-color: #c7d0da; background: transparent; }
.hero-card {
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 4px 70px 4px 4px;
  background: transparent;
  box-shadow: 0 28px 62px rgba(9, 39, 77, .16);
}
.hero-card .hero-art { display: block; width: 100%; height: 410px; object-fit: cover; border-radius: 4px 70px 4px 4px; }
.home-image-story {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 28px 30px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.home-image-story img { display: block; width: 100%; aspect-ratio: 2.2 / 1; object-fit: cover; border-radius: 4px 30px 4px 4px; }
body > main > section:not(.hero):not(.home-image-story) { padding-top: 56px; padding-bottom: 56px; }
body > main > section > .title { margin-bottom: 24px; }
body > main > section > .title h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 3.4vw, 42px); font-weight: 500; letter-spacing: -.025em; }
.service-grid .card { border: 0; border-top: 2px solid #d8bc82; border-radius: 3px 18px 3px 3px; box-shadow: 0 8px 24px rgba(9, 39, 77, .055); }
.service-grid .card .icon { display: none; }
.service-grid .card h3 { font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 600; }
.service-grid .card p { font-size: 15px; line-height: 1.5; }
.service-grid .learn { color: #87601d; }
.faq-home { padding-top: 26px !important; }
.local-answer { border: 0; border-radius: 3px 20px 3px 3px; box-shadow: 0 8px 24px rgba(9, 39, 77, .055); }
.faq-list details[open] { box-shadow: none; }
.service-grid .service-card { min-height: 0; }
footer .foot .logo svg text,
footer .foot .logo svg text:nth-of-type(2),
footer .foot .logo svg text:nth-of-type(3) { fill: #e7b13f !important; stroke: #e7b13f !important; }
footer .contact-panel { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
footer .contact-meta span { background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; color: #dce9ff !important; }
.site-quick-actions {
  position: fixed !important;
  top: 50vh !important;
  right: 8px !important;
  z-index: 90;
  display: flex;
  flex-direction: column;
  gap: 7px;
  width: 118px;
  padding: 5px;
  border: 1px solid rgba(201, 150, 54, .55);
  border-radius: 10px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 22px rgba(9, 39, 77, .13);
  transform: translateY(-50%);
  backdrop-filter: blur(8px);
}
.site-quick-actions a { display: grid; place-items: center; min-height: 35px; border-radius: 7px; background: #f7f8fa; color: #09274d; font-size: 10px; font-weight: 800; text-decoration: none; }
.site-quick-actions a.primary { background: linear-gradient(135deg, #ffe08a, #d89b24); }

/* Give each English information page one calm, visual introduction. */
body:has(.service-hero) .service-hero { background: linear-gradient(120deg, #09274d, #164b79); }
.service-hero .inner { max-width: 1320px; padding: 54px 28px; }
.service-hero h1, .minihero h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.025em; }
.service-hero p { max-width: 540px; font-size: 17px; }
.service-proof { border-radius: 3px 28px 3px 3px; }
.editorial-strip { max-width: 1320px; padding: 18px 28px 34px; }
.editorial-strip figure { height: clamp(210px, 27vw, 340px); border-radius: 3px 42px 3px 3px; }
.editorial-strip img, .reverse-editorial img { object-position: center 52%; }
body:has(.minihero) .minihero { background: linear-gradient(115deg, #09274d, #164b79 70%, #1b527c); }
body:has(.minihero) .minihero .inner { max-width: 1320px; padding: 38px 28px; }
.minihero h1 { font-size: clamp(34px, 4vw, 48px); }
.minihero p { max-width: 620px; font-size: 16px; }
.resource-cats { gap: 18px; }
.resource-image { max-width: 1320px; padding: 12px 28px 0 !important; }
.resource-image img { display: block; width: 100%; height: clamp(170px, 21vw, 260px); object-fit: cover; object-position: center 55%; border-radius: 3px 36px 3px 3px; }
.resource-cat { border-radius: 3px 22px 3px 3px; box-shadow: 0 8px 24px rgba(9, 39, 77, .055); }
.prep-panel, .application-shell, .contact-broker-card, .calclead > .card { border-radius: 3px 22px 3px 3px; }
.prep-broker img, .contact-broker-card img { border-radius: 50%; }

@media (max-width: 850px) {
  .hero .inner { padding: 52px 22px 56px; grid-template-columns: 1fr; gap: 30px; }
  .hero-title { font-size: clamp(43px, 9vw, 60px); }
  .hero-title .line { white-space: normal; }
  .hero-card .hero-art { height: clamp(230px, 58vw, 380px); }
  .home-image-story { padding: 0 22px 24px; gap: 12px; }
  .service-hero .inner { padding: 42px 22px; }
  .editorial-strip { padding: 12px 22px 28px; }
  .resource-image { padding: 10px 22px 0 !important; }
}
@media (max-width: 560px) {
  .home-eyebrow { margin-bottom: 14px; }
  .home-intro { font-size: 15px !important; line-height: 1.8; }
  .home-proof { line-height: 1.5; }
  .hero .actions .btn { width: 100%; }
  .hero-card .hero-art { height: 235px; }
  .home-image-story { grid-template-columns: 1fr; }
  .home-image-story img { aspect-ratio: 1.8 / 1; }
  .minihero .inner { padding: 30px 20px; }
  .site-quick-actions { right: 8px !important; width: 134px; padding: 6px; gap: 5px; }
  .site-quick-actions { top: auto !important; bottom: 12px; transform: none !important; }
  .site-quick-actions a { min-height: 36px; font-size: 10px; }
}
/* Second editorial pass: stronger hierarchy, distinct page photography, and a balanced FAQ feature. */
.hero .inner { max-width: 1360px; grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); gap: clamp(42px, 7vw, 104px); padding-top: 76px; padding-bottom: 82px; }
.hero-card, .hero .actions .btn { box-sizing: border-box; }
.hero-card .hero-art { display: block; width: 100%; max-width: 100%; box-sizing: border-box; }
.hero-title { max-width: 640px; font-size: clamp(48px, 5.4vw, 76px); line-height: 1.02; }
.hero-title-second { color: #b08335; }
.home-intro { font-size: 16px !important; letter-spacing: .06em; text-transform: uppercase; }
.hero-card { border-radius: 3px 64px 3px 3px; background: #e7e0d4; box-shadow: 0 30px 70px rgba(9, 39, 77, .17); }
.hero-card .hero-art { height: clamp(350px, 37vw, 510px); object-position: center; border-radius: inherit; }
.home-image-story { max-width: 1360px; grid-template-columns: 1fr; padding: 0 28px 20px; }
.home-image-story img { width: 100%; max-height: none; aspect-ratio: 2.45 / 1; object-position: center 54%; border-radius: 3px 38px 3px 3px; }
.faq-home { max-width: none; margin: 34px 0 0; padding: 62px max(28px, calc((100vw - 1304px) / 2)) !important; background: #f0eee9; }
.faq-home .local-answer { display: grid; grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr); align-items: stretch; gap: clamp(28px, 5vw, 76px); max-width: 1304px; margin: 0 auto; padding: 0; background: transparent; box-shadow: none; }
.faq-intro { padding: 32px 36px; background: #09274d; color: #fff; border-radius: 3px 42px 3px 3px; display: flex; flex-direction: column; justify-content: center; }
.faq-intro small { color: #e6b85d; letter-spacing: .2em; font-size: 11px; font-weight: 800; }
.faq-intro h2 { color: #fff; font: 500 clamp(34px, 4vw, 48px)/1.05 Georgia, "Times New Roman", serif; letter-spacing: -.035em; margin: 20px 0 14px; }
.faq-intro p { color: #d7e0eb; font-size: 15px; margin: 0; }
.faq-home .faq-list { display: grid; grid-template-columns: 1fr; align-content: center; gap: 0; }
.faq-home .faq-list details { padding: 20px 4px; background: transparent; border: 0; border-bottom: 1px solid #d4d1c9; border-radius: 0; box-shadow: none; }
.faq-home .faq-list details:first-child { border-top: 1px solid #d4d1c9; }
.faq-home .faq-list summary { color: #09274d; font-size: 16px; }
.faq-home .faq-list p { color: #586b80; font-size: 14px; max-width: 60ch; }
.service-hero .inner { min-height: 300px; }
.editorial-strip figure { height: auto; aspect-ratio: 2.35 / 1; border-radius: 3px 42px 3px 3px; overflow: hidden; }
.editorial-strip img { width: 100%; height: 100%; object-fit: cover; }
.reverse-editorial figure { max-width: 1320px; height: auto; margin: 0 auto; padding: 18px 28px 30px; background: transparent; }
.reverse-editorial img { display: block; width: 100%; height: auto; aspect-ratio: 2.33 / 1; object-fit: cover; object-position: center 45%; border-radius: 3px 42px 3px 3px; }
.resource-image img { height: auto; aspect-ratio: 2.35 / 1; object-position: center 53%; }
.site-quick-actions.site-quick-actions { position: fixed !important; top: 50vh !important; right: 14px !important; width: 142px; padding: 6px; gap: 6px; border-color: rgba(201, 150, 54, .52); border-radius: 12px; background: rgba(255, 255, 255, .95); box-shadow: 0 8px 22px rgba(9, 39, 77, .14); transform: translateY(-50%) !important; }
.site-quick-actions.site-quick-actions a { min-height: 35px; padding: 0 7px; border: 0; border-radius: 7px; background: #f5f6f7; color: #09274d !important; font-size: 10px; }
.site-quick-actions.site-quick-actions a.primary { background: linear-gradient(135deg, #ffe08a, #d89b24); }
@media (max-width: 850px) {
  .hero .inner { grid-template-columns: 1fr; gap: 34px; padding-top: 50px; padding-bottom: 56px; }
  .hero-card .hero-art { height: clamp(260px, 58vw, 420px); }
  .home-image-story { padding: 0 22px 16px; }
  .home-image-story img { aspect-ratio: 1.8 / 1; }
  .editorial-strip figure { aspect-ratio: 1.8 / 1; }
  .resource-image img { aspect-ratio: 1.8 / 1; }
  .faq-home { padding: 42px 22px !important; }
  .faq-home .local-answer { grid-template-columns: 1fr; gap: 22px; }
  .faq-intro { min-height: 240px; }
  .reverse-editorial figure { padding: 12px 22px 24px; }
}
@media (max-width: 560px) {
  .hero-title { width: 100%; font-size: clamp(36px, 9vw, 40px); letter-spacing: -.04em; }
  .hero-title .line { white-space: normal !important; overflow-wrap: anywhere; }
  .home-intro { font-size: 12px !important; letter-spacing: .01em; line-height: 1.6; }
  header .nav > nav { gap: 10px !important; overflow-x: visible !important; justify-content: space-between; }
  header .nav > nav a { font-size: 12px; padding-left: 0; padding-right: 0; }
  .hero-card .hero-art { height: 250px; }
  .faq-home { margin-top: 20px; padding: 28px 18px !important; }
  .faq-intro { min-height: 205px; padding: 25px 24px; }
  .faq-home .faq-list details { padding: 17px 2px; }
  .reverse-editorial figure { padding: 10px 18px 20px; }
  .reverse-editorial img { aspect-ratio: 1.75 / 1; }
}
@media (max-width: 700px) {
  .site-quick-actions.site-quick-actions { top: auto !important; right: 10px !important; bottom: 12px; width: min(142px, calc(100vw - 20px)); transform: none !important; }
}

/* FAFI homepage: Groupe ADF inspired editorial rhythm, without a broker portrait. */
body.english-home { --editorial-ink:#17283a; --editorial-muted:#65717b; --editorial-paper:#f7f6f2; --editorial-gold:#b38a4c; background:var(--editorial-paper); color:var(--editorial-ink); }
body.english-home header { box-shadow:none; border-bottom:1px solid #e5e1d8; background:rgba(247,246,242,.97); }
body.english-home .top { background:#17283a; }
body.english-home .hero { background:var(--editorial-paper); }
body.english-home .hero .inner { max-width:1380px; min-height:620px; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(38px,6vw,92px); padding:58px 32px 70px; }
body.english-home .home-eyebrow, body.english-home .english-home .eyebrow { color:var(--editorial-gold); font-size:11px; letter-spacing:.17em; text-transform:uppercase; }
body.english-home .hero-title { color:var(--editorial-ink); max-width:650px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(50px,6vw,82px); font-weight:500; letter-spacing:-.055em; line-height:.99; }
body.english-home .hero-title-second { color:var(--editorial-gold); }
body.english-home .home-intro { max-width:400px; margin-top:23px!important; color:#465564!important; font-size:15px!important; letter-spacing:.11em; line-height:1.8; text-transform:uppercase; }
body.english-home .home-proof { color:#707b84!important; font-size:12px!important; letter-spacing:.02em; }
body.english-home .hero .actions { margin-top:27px; }
body.english-home .hero .actions .btn { border-radius:2px; min-height:48px; box-shadow:none; }
body.english-home .hero .actions .btn.dark { background:#17283a; }
body.english-home .hero .actions .btn.outline { border-color:#c8c2b5; color:#17283a; }
body.english-home .hero-card { align-self:stretch; min-height:0; border-radius:2px 70px 2px 2px; box-shadow:0 24px 54px rgba(25,38,50,.12); }
body.english-home .hero-card .hero-art { height:100%; min-height:450px; object-position:center 53%; border-radius:inherit; }
body.english-home .english-proof { max-width:none; margin:0; padding:0; border-top:1px solid #e2ddd2; border-bottom:1px solid #e2ddd2; background:#fbfaf7; }
body.english-home .english-proof .wrap { max-width:1300px; min-height:100px; padding:17px 28px; }
body.english-home .english-proof .wrap>div { justify-content:center; gap:13px; padding:0 24px; border-color:#e3dfd6; }
body.english-home .english-proof strong { color:var(--editorial-gold); font-family:Georgia,serif; font-size:27px; }
body.english-home .english-proof span { color:#52606e; font-size:11px; letter-spacing:.07em; text-transform:uppercase; }
body.english-home .english-services { max-width:1300px; padding:76px 28px 84px; }
body.english-home .english-services .title { margin-bottom:32px; }
body.english-home .english-services .title small, body.english-home .section-heading .eyebrow, body.english-home .english-reverse-copy .eyebrow, body.english-home .english-home-cta .eyebrow { color:var(--editorial-gold); font-size:10px; letter-spacing:.18em; }
body.english-home .english-services .title h2, body.english-home .section-heading h2, body.english-home .faq-intro h2, body.english-home .english-reverse-copy h2, body.english-home .english-home-cta h2 { color:var(--editorial-ink); font-family:Georgia,"Times New Roman",serif; font-size:clamp(36px,4.4vw,58px); font-weight:500; letter-spacing:-.045em; line-height:1.04; }
body.english-home .english-services .title { text-align:left; }
body.english-home .service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
body.english-home .service-grid .card { min-height:220px; padding:23px 20px; border:0; border-top:1px solid #c9b88f; border-radius:0; background:transparent; box-shadow:none; }
body.english-home .service-grid .card .icon { display:none; }
body.english-home .service-grid .card h3 { margin:9px 0 8px; color:var(--editorial-ink); font-family:Georgia,"Times New Roman",serif; font-size:22px; font-weight:500; }
body.english-home .service-grid .card p { min-height:44px; color:#64717b; font-size:13px; line-height:1.65; }
body.english-home .service-grid .learn { color:#8d6e3d; font-size:12px; font-weight:750; }
body.english-home .english-approach { max-width:none; padding:76px 28px 82px; background:#efeee9; }
body.english-home .english-approach .wrap { max-width:1244px; }
body.english-home .section-heading { max-width:650px; margin:0 0 35px; }
body.english-home .section-heading p { max-width:490px; color:#64717b; font-size:14px; }
body.english-home .approach-grid { grid-template-columns:repeat(4,minmax(0,1fr)); border-color:#d1cdc2; }
body.english-home .approach-grid article { min-height:165px; padding:20px 22px 22px 0; border-color:#d1cdc2; }
body.english-home .approach-grid article+article { padding-left:22px; }
body.english-home .approach-grid article>span { color:var(--editorial-gold); font-family:Georgia,serif; font-size:12px; }
body.english-home .approach-grid h3 { color:var(--editorial-ink); font-family:Georgia,"Times New Roman",serif; font-size:20px; font-weight:500; }
body.english-home .approach-grid p { color:#64717b; font-size:12px; line-height:1.7; }
body.english-home section.english-reverse { max-width:none; margin:0; padding:76px 28px; background:#f7f6f2; }
body.english-home .english-reverse-wrap { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(45px,7vw,100px); align-items:center; max-width:1244px; margin:auto; }
body.english-home .english-reverse-wrap img { width:100%; height:clamp(320px,35vw,455px); display:block; object-fit:cover; border-radius:2px 58px 2px 2px; }
body.english-home .english-reverse-copy { max-width:470px; }
body.english-home .english-reverse-copy h2 { margin:18px 0; }
body.english-home .english-reverse-copy p { color:#64717b; font-size:14px; line-height:1.8; }
body.english-home .english-reverse-copy .btn { margin-top:16px; border-radius:2px; box-shadow:none; }
body.english-home .faq-home { margin:0; padding:72px 28px!important; background:#efeee9; }
body.english-home .faq-home .local-answer { max-width:1244px; grid-template-columns:.78fr 1.22fr; gap:clamp(35px,6vw,80px); padding:0; background:transparent; box-shadow:none; }
body.english-home .faq-intro { min-height:0; padding:25px 0; background:transparent; color:var(--editorial-ink); border-radius:0; }
body.english-home .faq-intro small { color:var(--editorial-gold); font-size:10px; letter-spacing:.17em; }
body.english-home .faq-intro h2 { color:var(--editorial-ink); font-size:clamp(34px,4vw,48px); }
body.english-home .faq-intro p { color:#64717b; font-size:13px; }
body.english-home .faq-home .faq-list details { padding:20px 2px; border-color:#d1cdc2; }
body.english-home .faq-home .faq-list details:first-child { border-top:1px solid #d1cdc2; }
body.english-home .faq-home .faq-list summary { color:var(--editorial-ink); font-size:14px; }
body.english-home .faq-home .faq-list p { color:#64717b; font-size:13px; }
body.english-home .english-home-cta { max-width:1244px; margin:auto; padding:60px 28px 70px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
body.english-home .english-home-cta h2 { margin:12px 0 0; font-size:clamp(34px,4vw,48px); }
body.english-home .english-home-cta .btn { border-radius:2px; box-shadow:none; }
@media(max-width:900px){body.english-home .hero .inner{grid-template-columns:1fr;min-height:0;padding:48px 24px 55px;gap:30px}body.english-home .hero-card .hero-art{min-height:0;height:clamp(260px,56vw,430px)}body.english-home .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.english-home .approach-grid{grid-template-columns:repeat(2,1fr)}body.english-home .english-reverse-wrap{grid-template-columns:1fr;gap:30px}body.english-home .english-reverse-wrap img{height:clamp(280px,55vw,400px)}body.english-home .faq-home .local-answer{grid-template-columns:1fr;gap:18px}}
@media(max-width:560px){body.english-home .hero .inner{padding:35px 20px 40px}body.english-home .hero-title{font-size:clamp(42px,11vw,56px)}body.english-home .hero-card .hero-art{height:250px}body.english-home .english-proof .wrap{display:block;padding:9px 20px}body.english-home .english-proof .wrap>div{justify-content:flex-start;min-height:54px;padding:8px 2px;border-right:0;border-bottom:1px solid #e3dfd6}body.english-home .english-proof .wrap>div:last-child{border:0}body.english-home .english-services{padding:55px 20px}body.english-home .service-grid{grid-template-columns:1fr}body.english-home .service-grid .card{min-height:0;padding:18px 5px}body.english-home .service-grid .card p{min-height:0}body.english-home .english-approach,body.english-home .english-reverse{padding:52px 20px}body.english-home .approach-grid{grid-template-columns:1fr}body.english-home .approach-grid article,body.english-home .approach-grid article+article{min-height:0;padding:17px 0;border-right:0;border-bottom:1px solid #d1cdc2}body.english-home .approach-grid article:last-child{border-bottom:0}body.english-home .approach-grid h3{margin:9px 0 6px}body.english-home .english-reverse-wrap img{height:250px}body.english-home .faq-home{padding:50px 20px!important}body.english-home .english-home-cta{padding:46px 20px 54px;align-items:flex-start;flex-direction:column}}
