/*
Theme Name: FA高知 リニューアル公開候補
Theme URI: https://fa-kochi.jp/
Author: FA高知
Description: 既存の記事・お客様の声・画像・URL・問い合わせ設定を維持する公開用リニューアルテーマ。
Version: 0.10.40
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: fa-kochi-v7
*/

/* v0.10.36: preserve public legacy fixed-page content while the renewal
   navigation reuses the established URLs. */
.legacy-page-shell{padding:48px 20px 72px}
.legacy-page-shell .hub-narrow{max-width:920px;margin:0 auto}
.legacy-page-content,.legacy-page-details{margin-top:32px;padding:32px;border:1px solid #eadfce;border-radius:18px;background:#fff}
.legacy-page-content>*:first-child,.legacy-page-details>*:first-child{margin-top:0}
.legacy-page-content img,.legacy-page-details img{max-width:100%;height:auto}
.legacy-page-details>summary{cursor:pointer;font-weight:800;color:#2f2924}
.legacy-page-details[open]>summary{margin-bottom:24px}
@media(max-width:600px){.legacy-page-shell{padding:28px 16px 52px}.legacy-page-content,.legacy-page-details{padding:20px 16px;border-radius:14px}}

/* v6: 読み物とリンクの役割を明確化し、実物アンケートとスタッフスライダーを追加。 */
html,body{max-width:100%;overflow-x:hidden}
/* v0.7.2: keep desktop labels intact, then switch to the existing compact menu
   before the full header becomes too narrow in Safari. */
.desktop-nav a,.header-support-link{white-space:nowrap}
@media(max-width:1280px) and (min-width:761px){
  .desktop-nav,.header-support-link{display:none}
  .menu-toggle{display:block}
  .header-cta{margin-left:auto}
}
/* Major body section headings use the bundled rounded face consistently.
   Page heroes remain governed by their existing page-specific rules. */
main section h2,main section h3,main aside h2,main aside h3{
  font-family:"MPLUS Rounded","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;
  font-weight:800
}
/* v0.6.7: opening page titles use the same bundled M PLUS Rounded ExtraBold
   face as the approved top and four consultation landing pages. Body copy,
   navigation, section headings and the approved reference heroes are unchanged. */
.hub-hero .hub-title,
.hub-detail-head h1,
.inner-hero h1,
.renewal-profile-title h1,
.reserve-hero h1,
.access-hero h1,
.content-shell>h1{font-family:"MPLUS Rounded","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;font-weight:800!important}
.hero-proof .proof-access{padding:0}
.proof-access a{width:100%;min-height:65px;padding:7px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:inherit;text-decoration:none;border-radius:8px}
.proof-access a:hover,.proof-access a:focus-visible{background:#fff1d5;outline:3px solid #9b430e;outline-offset:2px}

/* v0.7.4: compact phone guidance without the former floating card. */
.hero-phone-compact{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:15px;color:#3e474c}
.hero-phone-compact>span{font-size:12px;font-weight:800;color:#6b6258}
.hero-phone-compact>a{font-family:"MPLUS Rounded";font-size:24px;font-weight:800;color:#243b3d;text-decoration:none;white-space:nowrap}
.hero-phone-action{display:none}
.hero-phone-compact>small{font-size:12px;color:#6b6258}
.hero-phone-compact>p{flex-basis:100%;margin:0;font-size:11px;line-height:1.55;color:#71685e}
.hero-contact{display:none!important}

/* v0.7.5: on wide screens, give the approved consultation photo a wider,
   slightly shorter frame so both people have breathing room at the edges.
   The mobile crop remains governed by the existing max-width rules. */
@media(min-width:1100px){
  .hero-grid{grid-template-columns:45% 55%;min-height:560px}
  .hero-photo{min-height:560px;padding:14px;box-sizing:border-box;background:#f7eddd}
  .hero-photo img{object-fit:contain}
  .hero-copy{padding-right:36px}
}

.concern-grid article{position:relative;background:transparent;border:0;border-bottom:1px solid #dfcda9;border-radius:0;padding:18px 18px 18px 52px;box-shadow:none;cursor:default}
.concern-grid article::before{content:"✓";position:absolute;left:13px;top:22px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f4d89f;color:#87400f;font-weight:900}
.concern-grid span{display:block;color:#8c7357;font-size:11px;letter-spacing:.12em}

.process-intro{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.process-photo{margin:22px 0 0;position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.22)}
.process-photo img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.process-photo figcaption{position:absolute;right:9px;bottom:9px;background:rgba(255,255,255,.92);color:#344348;border-radius:999px;padding:5px 10px;font-size:11px}

.voice-grid article{padding-top:18px}
.voice-sheet{margin:0 0 17px;background:#f4ecdc;border:1px solid #ddc9a8;border-radius:10px;padding:8px;text-align:center;cursor:default}
.voice-sheet img{display:block;width:100%;height:174px;object-fit:contain;background:#fff;pointer-events:none;user-select:none}
.voice-sheet figcaption{font-size:10px;color:#6f6f6b;margin-top:6px}
.text-link{display:table;margin:25px auto 0;color:#8e3e0c;font-weight:800;font-size:15px;text-underline-offset:4px}
.text-link:hover,.text-link:focus-visible{color:#c15412;outline:3px solid #f0c27c;outline-offset:5px;border-radius:2px}

.staff-slider{position:relative}
.staff-controls{display:flex;justify-content:flex-end;gap:8px;margin:0 0 12px}
.staff-controls button{width:45px;height:45px;border:1px solid #b86b2f;border-radius:50%;background:#fff;color:#89400f;font-size:21px;font-weight:800;cursor:pointer}
.staff-controls button:hover:not(:disabled),.staff-controls button:focus-visible{background:#fff1d8;outline:3px solid #9b430e;outline-offset:2px}
.staff-controls button:disabled{opacity:.35;cursor:not-allowed}
.staff-track{display:flex;gap:21px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:3px 3px 18px}
.staff-track::-webkit-scrollbar{display:none}
.staff-track article{flex:0 0 calc((100% - 42px)/3);min-width:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);scroll-snap-align:start}
.staff-track img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.staff-track article>div{padding:18px 20px 21px}
.staff-track h3{font-size:20px;margin:0}
.staff-track p{min-height:2.8em;font-size:13px;line-height:1.4;color:#92511f;margin:4px 0 0;font-weight:700}

.service-grid .service-card{display:grid;grid-template-columns:102px 1fr;gap:18px;align-items:center;border:2px solid #e1c28d;border-radius:15px;padding:19px;color:inherit;text-decoration:none;background:#fff;transition:transform .16s,box-shadow .16s,border-color .16s}
.service-card h3 span{display:block}
.service-card strong{display:inline-block;margin-top:10px;color:#963f0b;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.service-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(76,51,28,.12);border-color:#c97a32}
.service-card:focus-visible{outline:4px solid #9b430e;outline-offset:3px}
.map-link{display:inline-flex;align-items:center;text-decoration:none;font-weight:800}
.guide-grid{grid-template-columns:1fr!important;gap:34px!important;max-width:900px}
.guide-flow{padding:2px 10px 0}
.guide-flow .step-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide-flow .step-list li{display:block;padding:20px;border-radius:15px;background:#fff}
.guide-flow .step-list>li>span{margin-bottom:12px}
.faq-card{box-shadow:none;border:1px solid #eadfce}

@media(max-width:760px){
  .proof-access a{min-height:53px;padding:5px}
  .concern-grid article{padding:15px 12px 15px 47px}.concern-grid article::before{left:10px;top:19px}
  .process-photo{margin-top:18px}.process-photo img{aspect-ratio:4/3}.process-photo figcaption{font-size:9px}
  .voice-sheet{display:grid;grid-template-columns:96px 1fr;align-items:center;text-align:left;gap:10px;padding:7px}.voice-sheet img{width:96px;height:118px}.voice-sheet figcaption{font-size:10px;margin:0}
  .staff-controls{margin-bottom:8px}.staff-controls button{width:42px;height:42px}
  .staff-track{gap:12px;padding-bottom:13px}.staff-track article{flex-basis:84%;display:block}.staff-track img{width:100%;height:auto;aspect-ratio:4/3}.staff-track article>div{padding:15px 17px 18px}.staff-track h3{font-size:19px}.staff-track p{min-height:0;font-size:12px}
  .service-grid .service-card{grid-template-columns:78px 1fr;gap:13px;padding:14px}.service-card strong{font-size:13px;margin-top:7px}
  .hero-phone-compact{display:none}
  .guide-flow{padding:0}.guide-flow .step-list{grid-template-columns:1fr;gap:10px}.guide-flow .step-list li{display:grid;padding:16px}.guide-flow .step-list>li>span{margin-bottom:0}
}

/* v0.6.6: distinguish the Kochi branch from the operating company. */
.company-storefront{margin:22px 0 34px;overflow:hidden;border-radius:18px;background:#e6ece9;box-shadow:0 10px 30px rgba(34,62,56,.12)}
.company-storefront img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover;object-position:center 74%}
.company-section-title{margin:34px 0 16px;font-size:27px;color:#183c37}
.head-office{margin:44px 0 0;padding:30px;border-radius:18px;background:#f0f6f3;border:1px solid #d9e7e1}
.head-office-copy h2{margin:5px 0 10px;font-size:30px;color:#183c37}
.head-office-copy>p:last-child{line-height:1.8;color:#52635f}
.head-office-facts{display:grid;grid-template-columns:1fr 1fr;margin:22px 0 0;border:1px solid #d5e1dc;border-radius:12px;overflow:hidden;background:#fff}
.head-office-facts div{display:grid;grid-template-columns:115px 1fr;border-bottom:1px solid #e2eae6}
.head-office-facts div:nth-child(odd){border-right:1px solid #e2eae6}
.head-office-facts dt,.head-office-facts dd{margin:0;padding:15px 17px;line-height:1.65}
.head-office-facts dt{font-weight:800;color:#174f47;background:#f8fbfa}
.head-office-facts dd small{color:#667672}
.head-office-link{margin:22px 0 0}.head-office-link a{display:inline-flex;align-items:center;gap:7px;color:#17685d;font-weight:800;text-underline-offset:4px}
.head-office-note{margin:12px 0 0;color:#655f58;font-size:13px}
.company-policy-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:34px 0 0;padding:22px 0 0;border-top:1px solid #dfe7e3}
.company-policy-links a{color:#17685d;font-weight:800;text-underline-offset:4px}
.company-policy-links span{font-size:11px;font-weight:500;color:#667672}
@media(max-width:760px){
  .company-storefront{margin:16px 0 28px;border-radius:13px}.company-storefront img{aspect-ratio:16/9;object-position:center 73%}
  .company-section-title{font-size:23px}
  .head-office{padding:23px 18px}
  .head-office-copy h2{font-size:25px}
  .head-office-facts{grid-template-columns:1fr}
  .head-office-facts div,.head-office-facts div:nth-child(odd){border-right:0}
  .head-office-facts div{grid-template-columns:96px 1fr}
  .head-office-facts dt,.head-office-facts dd{padding:13px 12px;font-size:13px}
  .company-policy-links{display:grid;justify-content:stretch;gap:9px;margin-top:28px}.company-policy-links a{padding:12px 14px;border-radius:9px;background:#f0f6f3}.company-policy-links span{display:block;margin-top:2px}
}

/* v0.4.0: 保存済みリニューアル案の西山隆詞プロフィール。 */
.renewal-profile-page{background:#fff;color:#4d5057;overflow-wrap:anywhere}
.renewal-profile-title{text-align:center;background:#fffdf8;padding:45px 20px 48px}
.renewal-profile-title p{font-size:14px;color:#986231;margin:0 0 12px;font-weight:700}
.renewal-profile-title h1{font-family:var(--font-round);font-size:40px;line-height:1.5;color:#252b36;margin:0}
.renewal-profile-title h1::after{content:"";display:block;width:72px;height:5px;border-radius:5px;background:#ef7900;margin:21px auto 0}
.renewal-story{padding:58px 24px;background:#fff}
.renewal-story.is-cream{background:#fff8e9}
.renewal-story-grid{display:grid;grid-template-columns:425px minmax(0,1fr);gap:56px;align-items:center;max-width:1040px}
.renewal-story-stack{max-width:1040px}
.renewal-portrait{margin:0;background:#f7f1e8;border-radius:28px 28px 70px 28px;overflow:hidden}
.renewal-portrait img{display:block;width:100%;height:395px;object-fit:cover;object-position:51% 50%}
.renewal-copy{min-width:0}
.renewal-copy-wide{max-width:820px}
.renewal-copy h2{font-family:var(--font-round);color:#252b36;font-size:28px;line-height:1.6;margin:0 0 25px}
.renewal-copy h2::before{content:"";display:block;width:34px;height:4px;border-radius:2px;background:#ef7900;margin-bottom:16px}
.renewal-copy p{font-size:17px;line-height:2.05;margin:0 0 19px}
.renewal-copy p:last-child{margin-bottom:0}
.renewal-swim-photo{width:min(680px,100%);margin:28px auto 0}
.renewal-swim-photo img{display:block;width:100%;height:auto;border-radius:12px}
.renewal-swim-photo figcaption{font-size:13px;color:#756e64;line-height:1.9;margin-top:11px;text-align:center}
.renewal-qualifications{background:#fff8e9;border-top:1px solid #f0dcc0;padding:28px 24px;text-align:center}
.renewal-qualifications h2{font-size:16px;margin:0 0 8px;color:#996135}
.renewal-qualifications p{font-size:14px;margin:0;line-height:1.9}
.renewal-profile-back{padding:34px 0 38px;text-align:center}
.renewal-profile-back a{display:inline-block;color:#aa4a00;padding:12px 26px;border:1px solid #e8cda8;border-radius:30px;font-size:14px;text-decoration:none;background:#fffdf7;font-weight:700}
.renewal-profile-back a:hover,.renewal-profile-back a:focus-visible{background:#fff2dc;outline:3px solid #9b430e;outline-offset:3px}
.yusuke-consult-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:900px;margin:0 auto}
.yusuke-consult-lead{max-width:900px;margin:0 auto 24px!important}
.yusuke-consult-card{position:relative;padding:25px;border:1px solid #ecd6b8;border-radius:15px;background:#fff}
.yusuke-consult-card-head{display:flex;align-items:center;justify-content:space-between;min-height:78px;margin-bottom:12px}
.yusuke-consult-card-head>span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff1d9;color:#c5611d;font-weight:800;font-size:13px}
.yusuke-consult-icon{display:block;flex:0 0 auto;width:78px;height:78px;border-radius:14px;background-image:url('assets/yusuke-consultation-illustrations.png');background-repeat:no-repeat;background-size:200% 200%}
.yusuke-consult-icon.is-life{background-position:0 0}
.yusuke-consult-icon.is-auto-fire{background-position:100% 0}
.yusuke-consult-icon.is-assets{background-position:0 100%}
.yusuke-consult-icon.is-mortgage{background-position:100% 100%}
.yusuke-consult-card h3{margin:0 0 8px;color:#3d424b;font-family:var(--font-round);font-size:21px}
.yusuke-consult-card h4{margin:0 0 10px;color:#bd591b;font-size:15px;line-height:1.7}
.yusuke-consult-card p{margin:0;color:#5d5a55;font-size:15px;line-height:1.85}
.renewal-copy .yusuke-scope-note{max-width:900px;margin:38px auto 0;padding:18px 20px;border-left:5px solid #d96921;border-radius:8px;background:#fff5e5;color:#55493f;font-size:14px;line-height:1.85}
.yusuke-flow{display:grid;gap:16px;margin:0;padding:0;list-style:none;counter-reset:yusuke-flow}
.yusuke-flow li{position:relative;min-height:54px;padding-left:68px;counter-increment:yusuke-flow}
.yusuke-flow li::before{content:counter(yusuke-flow);position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#c86921;color:#fff;font-weight:800}
.yusuke-flow strong,.yusuke-flow span{display:block}
.yusuke-flow strong{margin-bottom:4px;color:#3d424b;font-size:18px}
.yusuke-flow span{font-size:15px;line-height:1.85}
@media(max-width:800px){
  .renewal-story-grid{grid-template-columns:36% minmax(0,1fr);gap:28px}
  .renewal-portrait img{height:340px}
  .renewal-story{padding:42px 24px}
  .renewal-copy h2{font-size:25px}
}
@media(max-width:600px){
  .renewal-profile-title{padding:30px 20px 32px}
  .renewal-profile-title p{font-size:12px;margin-bottom:10px}
  .renewal-profile-title h1{font-size:27px;white-space:nowrap}
  .yusuke-renewal-page .renewal-profile-title h1{max-width:12em;margin-right:auto;margin-left:auto;font-size:clamp(27px,7.6vw,31px);line-height:1.45;white-space:normal;text-wrap:balance;overflow-wrap:anywhere}
  .yusuke-renewal-page .yusuke-title-line{display:block;white-space:nowrap}
  .renewal-profile-title h1::after{margin-top:15px;width:55px;height:4px}
  .renewal-story{padding:35px 23px}
  .renewal-story-grid{display:flex;flex-direction:column;gap:28px;align-items:stretch}
  .renewal-portrait{margin:0 -3px;border-radius:23px 23px 54px 23px}
  .renewal-portrait img{height:auto;aspect-ratio:1.17;object-fit:cover}
  .renewal-copy h2{font-size:23px;line-height:1.6;margin-bottom:22px}
  .renewal-copy p{font-size:16px;line-height:2;margin-bottom:18px}
  .renewal-swim-photo{width:100%;margin-top:26px}
  .renewal-swim-photo figcaption{font-size:12px;text-align:left}
  .renewal-qualifications{padding:25px 24px;text-align:left}
  .renewal-qualifications p{font-size:13px}
  .renewal-profile-back{width:calc(100% - 40px);padding:30px 0 100px}
  .yusuke-consult-grid{grid-template-columns:1fr;gap:12px}
  .yusuke-consult-card{padding:20px 18px}
  .yusuke-consult-card-head{min-height:70px;margin-bottom:10px}
  .yusuke-consult-icon{width:70px;height:70px;border-radius:12px}
  .yusuke-consult-card h3{font-size:19px}
  .yusuke-consult-card p,.yusuke-scope-note{font-size:14px}
}
@media(max-width:350px){.renewal-profile-title h1{font-size:23px}.renewal-copy h2{font-size:21px}}

@media(max-width:360px){.voice-sheet{grid-template-columns:82px 1fr}.voice-sheet img{width:82px;height:104px}.service-grid .service-card{grid-template-columns:68px 1fr}.staff-track article{flex-basis:88%}}

@media(prefers-reduced-motion:reduce){.staff-track{scroll-behavior:auto}.service-grid .service-card{transition:none}}


/* v7: PCはv6を維持し、スマホのヒーローだけを読みやすい順序に変更。 */
@media(max-width:760px){
  .hero-grid{display:grid;grid-template-columns:1fr;gap:0;width:100%}
  .hero-copy{display:contents}
  .hero-kicker{display:none}
  .hero h1,.hero-value,.hero-lead,.hero-proof,.hero-actions>.button,.hero-phone-compact,.hero-reassure{width:min(100% - 28px,560px);margin-inline:auto}
  .hero h1{order:1;padding-top:14px;margin-bottom:2px;font-size:32px;line-height:1.14}
  .hero h1 br{display:block}
  .hero-value{order:2;margin-bottom:12px;font-size:18px;line-height:1.35}
  .hero-value br{display:block}
  .hero-photo{order:3;width:100%;height:auto;aspect-ratio:16/7;min-height:0;margin:0 0 10px}
  .hero-photo img{object-fit:cover;object-position:center 51%}
  .hero-photo figcaption{bottom:7px}
  .hero-proof{order:4;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}
  .hero-proof li{min-height:68px;padding:7px 5px}
  .hero-proof strong{font-size:13px;line-height:1.22}
  .hero-proof strong span{font-size:18px}
  .hero-proof small{font-size:9px;line-height:1.2}
  .proof-access a{min-height:58px;padding:3px 2px}
  .hero-actions{display:contents}
  .hero-lead{order:5;margin-bottom:10px;font-size:14px;line-height:1.62}
  .hero-actions>.button-primary{order:6;margin-bottom:0}
  .hero-actions>.button-secondary{display:none}
  .hero-phone-compact{display:none;order:8}
  .hero-reassure{order:7;margin-top:6px;margin-bottom:15px}
}

@media(max-width:360px){
  .hero h1,.hero-value,.hero-lead,.hero-proof,.hero-actions>.button,.hero-phone-compact,.hero-reassure{width:min(100% - 22px,560px)}
  .hero h1{font-size:29px;padding-top:12px}
  .hero-value{font-size:17px;margin-bottom:10px}
  .hero-photo{aspect-ratio:16/7.3;margin-bottom:8px}
  .hero-proof{gap:6px;margin-bottom:8px}
  .hero-proof li{min-height:65px;padding-inline:4px}
  .hero-proof strong{font-size:12px}
  .hero-proof strong span{font-size:16px}
  .hero-proof small{font-size:8px}
  .proof-access a{min-height:54px}
}

/* v0.4.9: consultation value, pre-visit information and consistent conversion paths. */
.service-assurance,.consult-assurance{margin:28px auto 0;padding:20px 22px;border:1px solid #dfc89f;border-left:5px solid #cb6a35;border-radius:12px;background:#fffaf0;color:#3e4547;font-size:15px;line-height:1.75}
.service-assurance strong,.consult-assurance strong{display:block;margin-bottom:5px;font-size:18px;color:#7f3518}
.service-assurance p,.consult-assurance p{margin:0 0 8px}
.service-assurance a,.consult-assurance a{font-weight:800;color:#8f3d13;text-underline-offset:4px}
.fire-final .consult-assurance{max-width:760px;text-align:left;background:#fff;color:#3e4547}
.life-final+.narrow{padding-bottom:58px}
.profile-consult-cta{padding:56px 24px;background:#374b4d;color:#fff;text-align:center}
.profile-consult-cta h2{font-size:clamp(27px,4vw,40px);line-height:1.45;margin:8px 0 14px}
.profile-consult-cta p{margin:0 auto 12px;max-width:680px}
.profile-consult-cta .button{margin-top:10px;text-decoration:none}
.mobile-contact a{border:0;color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:4px 3px;text-decoration:none}
.mobile-contact a>span:first-child{font-size:17px}.mobile-contact a>span:last-child{display:flex;flex-direction:column;line-height:1.05}.mobile-contact a small{font-size:8px;font-weight:700}.mobile-contact a b{font-size:12px;white-space:nowrap}
.mobile-contact .phone{background:var(--teal)}.mobile-contact .line{background:var(--green)}.mobile-contact .web{background:#e7685e}
.header-cta,.mobile-menu-cta{text-decoration:none}
@media(max-width:760px){.service-assurance,.consult-assurance{padding:17px 16px;font-size:14px}.service-assurance strong,.consult-assurance strong{font-size:16px}.profile-consult-cta{padding:42px 20px 94px}.profile-consult-cta h2{font-size:24px}.mobile-contact a b{font-size:12px}}
@media(max-width:360px){.mobile-contact a{gap:3px;padding-inline:1px}.mobile-contact a b{font-size:11px}}

/* v0.4.10: restore the approved consultation photo and keep its baked-in
   lower annotation outside the visible hero frame. */
@media(min-width:761px){
  .hero-photo img{transform:scale(1.18);transform-origin:center top;object-position:center top}
}
@media(max-width:760px){
  .hero-photo img{transform:none;object-position:center 51%}
}

/* v0.4.11: restore the approved comparison-first hero balance. */
@media(min-width:761px){
  .hero-value{font-size:clamp(25px,2.05vw,34px);line-height:1.4}
  .hero-lead{max-width:660px}
}

/* v0.4.9 final review: keep the store identity visible in the slim mobile header. */
@media(max-width:760px){
  .site-header .brand span{display:grid;line-height:1.05}
  .site-header .brand strong{font-size:14px}
  .site-header .brand small{display:block;margin-top:3px;font-size:9px;white-space:nowrap}
}
@media(max-width:360px){.site-header .brand{gap:7px}.site-header .brand img{width:35px}.site-header .brand strong{font-size:13px}.site-header .brand small{font-size:8px}}

/* v0.7.6: the policyholder route belongs inside the opened mobile menu.
   Keep the desktop header link and the mobile-menu/footer routes intact. */
@media(max-width:760px){
  .site-header .header-support-link{display:none!important}
}

/* PC uses the saved, annotation-free original of the same consultation photo.
   Mobile keeps the approved crop and its existing positioning unchanged. */
@media(min-width:1100px){
  .hero-photo picture{display:block;width:100%;height:100%}
  .hero-photo picture img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:none}
}

/* v0.7.7: make the four concern statements the visual priority while
   retaining the quiet, unfilled list treatment. */
.concern-grid h3{font-size:22px;line-height:1.5}
@media(max-width:760px){
  .concern-grid h3{font-size:clamp(20px,5.4vw,21px);line-height:1.55;margin-block:4px}
  .concern-grid article{padding-top:18px;padding-bottom:18px}
  .concern-grid article::before{top:22px}
  .concern-grid h3 br{display:none}
}

/* v0.7.8: keep the three top-page testimonial photos quiet and truthful.
   They remain non-clickable, uncropped and never stretched beyond their box. */
.voice-sheet{display:flex;align-items:center;justify-content:center;min-height:0;margin:0 0 17px;padding:0;overflow:hidden;border:0;border-radius:12px;background:#fff}
.voice-sheet img{display:block;width:auto;max-width:100%;height:auto;max-height:230px;object-fit:contain;background:transparent;margin:0 auto;pointer-events:none;user-select:none}
.voice-grid header{display:block}
.voice-attributes{display:grid;gap:2px;margin:8px 0 4px;color:#65594c;line-height:1.5}
.voice-attributes strong{color:#864019;font-size:14px;font-weight:800}
.voice-attributes span{font-size:12px;font-weight:700;letter-spacing:.02em}
@media(max-width:760px){
  .voice-sheet{display:flex;min-height:0;margin-bottom:14px;padding:0}
  .voice-sheet img{width:auto;max-width:100%;height:auto;max-height:190px}
  .voice-attributes{margin:7px 0 3px}
  .voice-attributes strong{font-size:13px}
  .voice-attributes span{font-size:12px}
}

/* v0.6.3: use the recognizable LINE brand green consistently. */
:root{--line-brand:#06c755;--line-brand-hover:#05b84e;--green:var(--line-brand)}
.button-secondary,.line-test-button,.fire-line-btn,.mobile-contact .line,.fire-mobile-contact .line{background:var(--line-brand);color:#fff;border-color:var(--line-brand)}
.button-secondary:hover,.line-test-button:hover,.fire-line-btn:hover,.mobile-contact .line:hover,.fire-mobile-contact .line:hover{background:var(--line-brand-hover);border-color:var(--line-brand-hover)}
.button-secondary:focus-visible,.line-test-button:focus-visible,.fire-line-btn:focus-visible,.mobile-contact .line:focus-visible,.fire-mobile-contact .line:focus-visible{outline:3px solid #173d27;outline-offset:3px}

/* v0.6.4: make the three mobile footer labels easier to read without
   increasing the fixed bar height; secondary reception text stays small. */
@media(max-width:760px){
  .mobile-contact a b{font-size:15px;line-height:1;white-space:nowrap}
  .mobile-contact a small{font-size:8px;line-height:1;white-space:nowrap}
  .fire-mobile-contact a b{font-size:16px}
}
@media(max-width:360px){
  .mobile-contact a b{font-size:14px}
  .fire-mobile-contact a b{font-size:16px}
}

/* v0.6.5: dedicated insurer directory and understated LP links. */
.insurers-section{margin:52px 0 0;scroll-margin-top:112px}
.insurers-intro{max-width:820px;margin:0 auto 34px;text-align:center}
.insurers-intro h2{margin:6px 0 14px;font-size:clamp(28px,4vw,42px);line-height:1.35;color:#183c37}
.insurers-intro>p:last-child{margin:0;line-height:1.9;color:#52635f}
.insurers-groups{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.insurers-group{background:#fff;border:1px solid #dfe7e3;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px rgba(21,68,61,.07)}
.insurers-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:22px 24px;background:#edf6f2;border-bottom:1px solid #dfe7e3}
.insurers-heading span{font-weight:800;color:#174f47;font-size:22px}
.insurers-heading h3{margin:0;color:#d5654f;font-size:25px}
.insurers-list{list-style:none;margin:0;padding:14px 24px 22px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.insurers-list li{position:relative;padding:11px 0 11px 18px;border-bottom:1px solid #edf1ef;color:#263d39;line-height:1.5}
.insurers-list li:before{content:"";position:absolute;left:0;top:19px;width:7px;height:7px;border-radius:50%;background:#dd765d}
.insurers-note{margin:26px 0 0;padding:18px 22px;border-radius:12px;background:#fff8e9;border:1px solid #edd9aa;color:#5d523a}
.insurers-note strong{display:block;margin-bottom:4px;color:#4b402a}
.insurers-note p{margin:0;line-height:1.75}
.insurers-inline-link{text-align:center;padding-top:20px;padding-bottom:20px}
.insurers-inline-link a,.fire-text-link{display:inline-block;font-weight:800;color:#17685d;text-decoration:underline;text-underline-offset:5px}
.fire-text-link{margin:2px 0 18px}
@media(max-width:760px){
  .insurers-groups{grid-template-columns:1fr;gap:18px}
  .insurers-heading{padding:18px 20px}
  .insurers-heading span{font-size:20px}
  .insurers-list{grid-template-columns:1fr;padding:10px 20px 18px}
  .insurers-intro{text-align:left}
  .insurers-intro h2{font-size:28px}
}

/* WordPress dynamic content. */
.voice-grid article>a,.news-list a{color:inherit;text-decoration:none}
.voice-grid .voice-sheet img{pointer-events:none}
.voice-grid .voice-placeholder{display:grid;place-items:center;width:100%;height:174px;background:#fff;color:#806f5a;font-size:13px}
.voice-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:12px;color:#72563d}
.voice-count-note{margin:22px auto 0;max-width:720px;padding:12px 16px;border-radius:10px;background:#fff8e9;color:#635442;text-align:center;font-size:12px}
.news .narrow{display:block;width:min(1120px,calc(100% - 40px))}
.news-heading{margin:0;font-size:23px;color:#2d3435}
.news-list{display:grid;gap:9px;margin-top:15px}
.news-list .news-item{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;min-height:86px;padding:8px;border:1px solid #eadbc3;border-radius:11px;background:#fff;color:inherit;text-decoration:none}
.news-thumbnail{display:block;overflow:hidden;width:112px;height:70px;border-radius:7px;background:#f1eadf}
.news-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.news-copy{display:grid;gap:4px;min-width:0}
.news-copy time{color:#8a6947;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.25}
.news-copy b{font-size:16px;line-height:1.55;color:#2d3435}
.news-item:hover,.news-item:focus-visible{border-color:#c77b3d;box-shadow:0 6px 18px rgba(73,48,29,.08)}
.news-item:focus-visible{outline:3px solid #9b430e;outline-offset:3px}
@media(min-width:1080px){
  .news-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
  .news-list .news-item{grid-template-columns:96px minmax(0,1fr);gap:12px;min-height:82px}
  .news-thumbnail{width:96px;height:66px}
  .news-copy b{font-size:14px;line-height:1.5}
}
.content-shell{width:min(960px,calc(100% - 36px));margin:0 auto;padding:70px 0}
.content-shell h1{font-size:clamp(30px,5vw,52px);line-height:1.2}
.post-list{display:grid;gap:22px;margin-top:35px}
.post-card{display:grid;grid-template-columns:minmax(180px,34%) 1fr;gap:24px;padding:18px;background:#fff;border-radius:16px;box-shadow:var(--shadow)}
.post-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
.post-card h2{margin:.25em 0;font-size:24px}.post-card p{margin:.4em 0}
.entry-content{font-size:17px;line-height:1.9}.entry-content img{max-width:100%;height:auto}.entry-meta{color:#7b6a59;font-size:13px}
.prototype-note{position:relative;z-index:1000}
@media(max-width:760px){
  .post-card{grid-template-columns:1fr}
  .news .narrow{width:min(100% - 28px,560px)}
  .news-heading{font-size:21px}
  .news-list{gap:0;margin-top:9px}
  .news-list .news-item{display:block;min-height:0;padding:10px 2px;border:0;border-top:1px solid #e5d4b7;border-radius:0;background:transparent;box-shadow:none}
  .news-thumbnail{display:none}
  .news-copy{gap:2px}
  .news-copy time{font-size:10px}
  .news-copy b{font-size:15px;line-height:1.5}
  .voice-grid .voice-placeholder{height:118px}
}

/* v7 3-page prototype: internal fire-insurance and staff pages. */
.inner-page{background:#fffdf8;color:var(--ink)}
.breadcrumb{display:flex;align-items:center;gap:9px;padding-top:20px;padding-bottom:18px;font-size:13px;color:#766a5e}
.breadcrumb a{color:#7f3b10;text-underline-offset:3px}.breadcrumb span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inner-hero{padding:54px 0 68px;background:linear-gradient(135deg,#fff7e8 0%,#fffdf8 68%,#f9efe2 100%)}
.inner-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(320px,.78fr);gap:56px;align-items:center}
.inner-hero h1{margin:10px 0 20px;font-size:clamp(40px,5.5vw,68px);line-height:1.15;letter-spacing:.02em}
.page-editor-copy{max-width:680px;font-size:17px;line-height:1.9;color:#514d47}.page-editor-copy p{margin:0 0 1em}
.inner-hero figure{margin:0;position:relative;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(74,49,30,.16);background:#efe4d3}
.inner-hero figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.inner-hero figcaption{position:absolute;right:12px;bottom:12px;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.94);font-size:11px;color:#4d4842}
.inner-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.inner-actions .button{min-height:52px}
.page-reassure{margin:13px 0 0;font-size:12px;color:#746a60}
.page-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px}
.page-card-grid article{position:relative;padding:27px 26px 25px;border:1px solid #ead9bd;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(81,53,29,.07)}
.page-card-grid article>span{display:inline-block;margin-bottom:8px;color:#a55419;font-weight:900;font-size:12px;letter-spacing:.16em}.page-card-grid h3{margin:0 0 8px;font-size:21px}.page-card-grid p{margin:0;color:#615b53;line-height:1.75}
.compare-section{background:#374b4d;color:#fff}.compare-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:62px;align-items:center}.compare-section h2{font-size:clamp(32px,4vw,48px);line-height:1.28;margin:10px 0 18px}.compare-section p{line-height:1.9;color:#edf0ea}.compare-section .eyebrow{color:#f2c06a}
.check-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check-list li{min-height:138px;padding:23px;border:1px solid rgba(255,255,255,.22);border-radius:15px;background:rgba(255,255,255,.08)}.check-list strong{display:block;margin-bottom:9px;color:#ffd47d;font-size:19px}.check-list span{font-size:14px;line-height:1.7;color:#f5f6f2}
.bring-section{background:#fff8ea}.bring-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.bring-grid article{padding:26px 28px;border-radius:14px;background:#fff;border-left:6px solid #d0712d}.bring-grid strong{display:block;margin-bottom:8px;font-size:20px}.bring-grid p{margin:0;line-height:1.75;color:#5e5850}
.page-flow ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;list-style:none;margin:32px 0 0;padding:0}.page-flow li{padding:22px 19px;border:1px solid #ead8bd;border-radius:15px;background:#fff}.page-flow li>span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:15px;border-radius:50%;background:#a84e16;color:#fff;font-weight:900}.page-flow h3{margin:0 0 8px;font-size:18px}.page-flow p{margin:0;font-size:14px;line-height:1.7;color:#615b53}
.verified-voices{background:#f4eee4}.voice-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.voice-summary-grid blockquote{margin:0;padding:27px;border-radius:16px;background:#fff;border:1px solid #e1d3bd}.voice-summary-grid blockquote p{margin:0 0 17px;font-size:18px;font-weight:700;line-height:1.75}.voice-summary-grid cite{font-style:normal;font-size:12px;color:#756a5e}
.inner-faq details{margin-top:10px;border:1px solid #e7d5b9;border-radius:12px;background:#fff;padding:0 20px}.inner-faq summary{cursor:pointer;padding:18px 3px;font-weight:800}.inner-faq details p{margin:0;padding:0 3px 19px;line-height:1.75;color:#5f5850}
.back-home{display:block;margin-top:12px;color:#fff;text-align:center;font-size:13px;text-underline-offset:4px}
.staff-inner-hero figure img{aspect-ratio:2/1;object-fit:cover;object-position:center;filter:brightness(1.025)}
.staff-intro{background:#fff}.staff-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.staff-values article{padding:25px;border-radius:15px;background:#fff8e9;border:1px solid #ecd9b8;text-align:center}.staff-values strong{display:block;margin-bottom:10px;color:#a34e17;font-size:23px}.staff-values p{margin:0;line-height:1.7;color:#5e5851}
.staff-directory{background:#f5efe6}.staff-consultation-lead{max-width:760px;margin:30px auto 0;padding:15px 20px;border-left:5px solid #d7472f;border-radius:8px;background:#fff;color:#2d2925;font-size:17px;font-weight:800;text-align:center}.staff-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:22px}.staff-directory-grid article{overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 9px 27px rgba(78,52,29,.09)}.staff-directory-grid article.is-visit-contact{outline:2px solid #d7472f;outline-offset:-2px}.staff-directory-grid .staff-photo{overflow:hidden;width:100%;aspect-ratio:4/3;padding:0;background:#eee8df}.staff-directory-grid .staff-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.staff-directory-grid article>div:not(.staff-photo){padding:22px}.staff-directory-grid h3{margin:3px 0 6px;font-size:22px}.staff-role{display:inline-block;padding:3px 8px;border-radius:999px;background:#fff0d3;color:#93440f;font-size:11px;font-weight:800}.staff-credentials{min-height:2.8em;color:#994b16!important;font-size:13px;font-weight:800}.staff-directory-grid p{margin:9px 0 0;line-height:1.75;color:#5f5952;font-size:14px}
.staff-visit-label{display:table;margin:0 0 9px;padding:7px 11px;border-radius:6px;background:#d7472f;color:#fff;font-size:13px;font-weight:800;line-height:1.45}.staff-women-note{padding:10px 12px;border-radius:8px;background:#f4ebe3;color:#5d4536!important;font-size:13px!important;font-weight:700}.staff-profile-link a{display:inline-flex;align-items:center;gap:4px;color:#9c3b22;font-weight:800;text-decoration:underline;text-underline-offset:3px}.staff-profile-link a::after{content:'→'}
.staff-contact{background:#374b4d;color:#fff}.staff-contact-card{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:55px;align-items:center}.staff-contact h2{font-size:clamp(30px,4vw,44px);line-height:1.3}.staff-contact p{line-height:1.85;color:#edf0eb}.staff-contact .eyebrow{color:#f2c06a}.staff-contact-card>div:last-child{display:grid;gap:10px}

@media(max-width:900px){
  .inner-hero-grid{grid-template-columns:1fr 38%;gap:32px}.page-flow ol{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .breadcrumb{width:min(100% - 28px,1180px);padding-top:13px;padding-bottom:12px}.inner-hero{padding:28px 0 44px}.inner-hero-grid{grid-template-columns:1fr;gap:24px;width:min(100% - 28px,1180px)}.inner-hero h1{font-size:36px;margin-top:7px}.page-editor-copy{font-size:15px;line-height:1.8}.inner-hero figure{order:-1;border-radius:16px}.fire-page .inner-hero figure img{aspect-ratio:16/8.5}.staff-inner-hero figure img{aspect-ratio:2/1}.inner-actions{display:grid;grid-template-columns:1fr;margin-top:20px}.inner-actions .button{width:100%}
  .page-card-grid,.bring-grid,.voice-summary-grid,.staff-values,.staff-directory-grid,.staff-contact-card{grid-template-columns:1fr}.page-card-grid{gap:11px}.page-card-grid article{padding:21px}.compare-grid{grid-template-columns:1fr;gap:30px}.check-list{grid-template-columns:1fr 1fr;gap:9px}.check-list li{min-height:126px;padding:18px}.check-list strong{font-size:17px}.page-flow ol{grid-template-columns:1fr;gap:10px}.page-flow li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:18px}.page-flow li>span{margin:0}.staff-directory-grid{gap:15px}.staff-directory-grid article{display:block}.staff-directory-grid .staff-photo{height:auto;aspect-ratio:4/3}.staff-directory-grid .staff-photo img{height:100%;aspect-ratio:auto;object-position:center}.staff-directory-grid article>div:not(.staff-photo){padding:17px 15px}.staff-directory-grid h3{font-size:19px}.staff-credentials{min-height:0;font-size:11px}.staff-directory-grid p{font-size:12px}.staff-contact-card{gap:25px}.staff-contact-card>div:last-child{width:100%}.staff-contact-card .button{width:100%}
}
@media(max-width:360px){
  .inner-hero h1{font-size:32px}.check-list{grid-template-columns:1fr}.check-list li{min-height:0}.staff-consultation-lead{padding:13px 14px;font-size:15px;text-align:left}.staff-directory-grid article>div:not(.staff-photo){padding:14px 12px}.staff-directory-grid h3{font-size:17px}.staff-directory-grid p{font-size:11px;line-height:1.6}.staff-visit-label{font-size:11px}
}

/* v0.9.6: approved top-page clarity improvements. Desktop keeps natural title
   wrapping; mobile receives deliberate, readable line breaks without shrinking. */
.mobile-title-line{display:inline}
.service-select-prompt{display:block;width:max-content;max-width:100%;margin:14px auto 0;padding:7px 14px;border-radius:999px;background:#fff3dc;color:#8f3e0d;font-size:14px;line-height:1.45}
.service-grid .service-card{position:relative;padding-right:62px;background:#fff;border-color:#d7af72;box-shadow:0 4px 14px rgba(76,51,28,.06)}
.service-grid .service-card:hover{background:#fff8eb;border-color:#b75a18;box-shadow:0 12px 28px rgba(76,51,28,.14)}
.service-grid .service-card:focus-visible{background:#fff8eb;border-color:#9b430e;outline:4px solid #9b430e;outline-offset:3px}
.service-card-arrow{position:absolute;right:17px;top:50%;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#a94d12;color:#fff;font-size:20px;font-weight:800;line-height:1;transform:translateY(-50%);transition:background .16s,transform .16s}
.service-card:hover .service-card-arrow,.service-card:focus-visible .service-card-arrow{background:#7f3108;transform:translate(2px,-50%)}

@media(min-width:761px){
  .concerns{padding-top:94px}
  .concern-grid{gap:18px}
  .concern-grid article{min-height:148px;padding:25px 25px 24px 65px;border:1px solid #ead5b3;border-radius:16px;background:#fffaf0;box-shadow:0 8px 22px rgba(78,53,31,.07)}
  .concern-grid article::before{left:22px;top:28px;width:29px;height:29px;background:#f2d39a}
  .concern-grid span{font-size:12px;color:#8d6c4d}
  .concern-grid h3{margin:5px 0 0;font-size:24px;line-height:1.55;font-weight:700}
  .concern-grid h3 strong{color:#8d3c0e;font-weight:800}
}

@media(max-width:760px){
  .mobile-title-line{display:block;white-space:nowrap}
  .concern-grid h3 strong{color:inherit;font-weight:800}
  .service-select-prompt{margin-top:12px;font-size:13px}
  .service-grid .service-card{min-height:122px;padding:16px 58px 16px 15px;border-width:2px;background:#fffaf1;box-shadow:0 5px 14px rgba(76,51,28,.09)}
  .service-card-arrow{right:14px;width:34px;height:34px;font-size:19px}
}

/* v0.9.7: keep meaning units intact across the user's desktop width and nearby
   widths, distinguish the approved medical artwork, and separate access CTAs. */
.semantic-line{display:block;white-space:nowrap}
.process #process-title .mobile-title-line{display:block;white-space:nowrap}
.access-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.access-actions .map-link{margin:0}

@media(min-width:761px){
  .concern-grid article:first-child h3 strong{white-space:nowrap}
}

@media(max-width:760px){
  .access-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:16px}
  .access-actions .map-link{width:100%;justify-content:center}
}

/* v0.10.1: use the approved text-free illustration set consistently. Every
   card keeps the established image-left, copy-right layout and interaction.
   Edge-connected white canvas pixels are transparent in the PNG assets so
   the art blends into the card without hiding enclosed white details. */
.service-card-image{display:block;width:102px;height:102px;object-fit:contain;background:transparent}

@media(max-width:760px){
  .service-card-image{width:78px;height:78px}
}

@media(max-width:360px){
  .service-card-image{width:68px;height:68px}
}

/* v0.10.7: simplify the approved hero copy. On desktop the grid now takes
   its height from the remaining content, while the existing photo is cropped
   gently around the conversation instead of being stretched. Mobile keeps
   its approved image size, position and crop. */
@media(min-width:761px){
  .hero-grid{min-height:0;align-items:stretch}
  .hero-copy{padding-top:32px;padding-bottom:30px}
  .hero-photo{min-height:0}
  .hero-photo picture{display:block;width:100%;height:100%;overflow:hidden}
  .hero-photo picture img{width:100%;height:100%;object-fit:cover;object-position:center 54%;transform:scale(1.08);transform-origin:center 54%}
}

/* v0.10.2: keep each testimonial's original photo uncropped while removing
   the large white side bands, then present title, body and attribution in the
   reading order approved for the top page. */
.voice-grid article{height:100%}
.voice-sheet{width:100%;height:230px;margin:0 0 17px;border:0;border-radius:0;background:transparent;overflow:hidden;display:flex;align-items:center;justify-content:center}
.voice-sheet img{display:block;width:auto;max-width:100%;height:auto;max-height:230px;object-fit:contain;object-position:center;margin:0 auto;background:transparent}
.voice-grid h3{margin:0 0 9px}
.voice-grid article>p{margin:0 0 12px}
.voice-attributes{margin:auto 0 0;padding-top:6px}

@media(max-width:760px){
  .voice-sheet{height:190px;margin-bottom:14px;padding:0}
  .voice-sheet img{width:auto;max-width:100%;height:auto;max-height:190px}
  .voice-grid h3{margin-top:0}
}

/* v0.10.9: align the top hero with the approved option 2 reference.
   The existing FA logo and consultation photographs remain unchanged. */
.hero-proof .proof-icon{display:block;color:#34404a}
.hero-proof .proof-icon svg{display:block;width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.hero-proof .proof-support,.hero-proof .proof-main{display:inline-block;color:inherit;font-weight:800}
.hero-proof .proof-number{display:inline-block;color:#e84d3f;font-weight:800;line-height:.85;vertical-align:-.06em}
.hero-proof li:nth-child(n+3) small{display:none}

@media(min-width:761px){
  .hero{background:#fff}
  .hero-grid{width:min(1400px,calc(100% - 80px));display:grid;grid-template-columns:minmax(400px,40%) minmax(0,60%);grid-template-areas:"title photo" "lead photo" "proof proof" "actions actions" "phone phone" "reassure reassure";align-items:stretch;column-gap:0}
  .hero-copy{display:contents}
  .hero h1{grid-area:title;align-self:end;max-width:8.6em;margin:0;padding:48px 38px 18px 0;font-size:clamp(49px,4.15vw,64px);line-height:1.2;letter-spacing:-.055em;white-space:nowrap}
  .hero h1::after{content:"";display:block;width:64px;height:6px;margin-top:20px;border-radius:99px;background:#ef7465}
  .hero-lead{grid-area:lead;align-self:start;max-width:30em;margin:0;padding:0 38px 34px 0;font-size:clamp(18px,1.55vw,23px);line-height:1.75;color:#303a40}
  .hero-photo{grid-area:photo;width:100%;height:400px;min-height:0;margin:0;padding:0;background:#f7eddd}
  .hero-photo picture{display:block;width:100%;height:100%;overflow:hidden}
  .hero-photo picture img{width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:none}
  .hero-proof{grid-area:proof;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 0}
  .hero-proof li{position:relative;min-height:114px;padding:15px 17px;display:grid;grid-template-columns:1fr;grid-template-areas:"strong";place-content:center;text-align:center;border:2px solid #ead5ae;border-top-width:2px;border-radius:12px;background:#fffaf0}
  .hero-proof .proof-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%)}
  .hero-proof strong{grid-area:strong;justify-self:center;align-self:center;text-align:center;font-size:clamp(18px,1.55vw,24px);line-height:1.16;letter-spacing:-.035em;white-space:nowrap}
  .hero-proof .proof-support{font-size:clamp(16px,1.35vw,21px)}
  .hero-proof .proof-main{font-size:clamp(20px,1.7vw,26px)}
  .hero-proof .proof-number{font-size:clamp(36px,3.1vw,50px)}
  .hero-proof small{display:none}
  .hero-proof .proof-access{display:block;padding:0}
  .proof-access a{position:relative;width:100%;min-height:110px;padding:15px 17px;display:grid;grid-template-columns:1fr;grid-template-areas:"strong";place-content:center;text-align:center}
  .proof-access a .proof-icon{left:17px}
  .proof-access a strong{grid-area:strong}
  .proof-access a strong{justify-self:center;text-align:center;line-height:1.16}
  .hero-actions{grid-area:actions;width:100%;display:flex;justify-content:center;gap:14px;margin:20px 0 0}
  .hero-actions>.button{min-width:390px;min-height:64px;font-size:21px}
  .hero-phone-compact{grid-area:phone;justify-content:center;align-items:baseline;margin:16px 0 0}
  .hero-phone-compact>span{font-size:15px}
  .hero-phone-compact>a{font-size:36px}
  .hero-phone-compact>small,.hero-phone-compact>p{display:none}
  .hero-reassure{grid-area:reassure;justify-self:center;margin:1px 0 24px;font-size:15px}
}

@media(min-width:761px) and (max-width:1100px){
  .hero h1{font-size:44px;letter-spacing:-.06em}
  .hero-proof{gap:8px}
  .hero-proof li{padding:12px 9px;grid-template-columns:1fr;column-gap:0}
  .hero-proof .proof-icon{left:9px}
  .hero-proof .proof-icon svg{width:42px;height:42px}
  .hero-proof strong{font-size:14px;letter-spacing:-.055em}
  .hero-proof .proof-support{font-size:13px}
  .hero-proof .proof-main{font-size:16px}
  .hero-proof .proof-number{font-size:33px}
  .hero-proof small{font-size:11px}
  .proof-access a{padding:12px 9px;grid-template-columns:1fr;column-gap:0}
  .proof-access a .proof-icon{left:9px}
}

@media(max-width:760px){
  .hero{background:#fff}
  .hero-grid{width:100%;display:grid;grid-template-columns:1fr;gap:0}
  .hero-copy{display:contents}
  .hero h1{order:1;width:min(100% - 28px,560px);margin:0 auto 13px;padding:22px 0 0;text-align:center;font-size:clamp(35px,9.6vw,42px);line-height:1.18;letter-spacing:-.045em}
  .hero h1::after{display:none}
  .hero-lead{order:2;width:min(100% - 30px,560px);margin:0 auto 20px;text-align:center;font-size:clamp(15px,4.2vw,18px);line-height:1.65;color:#303a40}
  .hero-photo{order:3;width:100%;height:auto;aspect-ratio:2/1;min-height:0;margin:0 0 14px;padding:0;background:#f7eddd}
  .hero-photo picture{display:block;width:100%;height:100%}
  .hero-photo picture img{width:100%;height:100%;object-fit:cover;object-position:center 50%;transform:none}
  .hero-proof{order:4;width:min(100% - 30px,560px);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 auto 14px}
  .hero-proof li{min-height:76px;padding:9px 6px;border:1.5px solid #e4c796;border-top-width:1.5px;border-radius:11px;background:#fffaf0}
  .hero-proof .proof-icon{display:none}
  .hero-proof strong{font-size:17px;line-height:1.2;color:#26343b;letter-spacing:-.035em}
  .hero-proof .proof-support{font-size:15px}
  .hero-proof .proof-main{font-size:19px}
  .hero-proof .proof-number{font-size:32px;color:#e2483b}
  .hero-proof small{margin-top:4px;font-size:12px;line-height:1.2;color:#626a6e}
  .proof-access a{min-height:73px;padding:7px 4px}
  .hero-actions{display:contents}
  .hero-actions>.button{width:min(100% - 30px,560px);min-height:58px;margin-inline:auto;font-size:18px}
  .hero-actions>.button-primary{order:5;margin-bottom:10px}
  .hero-actions>.button-secondary{order:6;display:flex;margin-bottom:0;background:#06c755;color:#fff;border:0}
  .hero-phone-compact{order:7;width:min(100% - 30px,560px);display:flex;justify-content:center;align-items:baseline;gap:5px 12px;margin:14px auto 0;text-align:center}
  .hero-phone-compact>span{font-size:14px}
  .hero-phone-compact>a{font-size:27px}
  .hero-phone-compact>small,.hero-phone-compact>p{display:none}
  .hero-reassure{order:8;width:min(100% - 30px,560px);margin:1px auto 18px;text-align:center;font-size:14px}
}

@media(max-width:360px){
  .hero h1{font-size:33px;padding-top:18px}
  .hero-lead{font-size:15px;margin-bottom:16px}
  .hero-proof{gap:6px}
  .hero-proof li{min-height:72px;padding-inline:4px}
  .hero-proof strong{font-size:15px}
  .hero-proof .proof-support{font-size:13px}
  .hero-proof .proof-main{font-size:17px}
  .hero-proof .proof-number{font-size:28px}
  .hero-proof small{font-size:10px}
  .hero-actions>.button{font-size:16px}
}
