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

/* 初回ご来店の予約特典：各ページで同じ小さな案内を使用 */
.reservation-gift-panel{width:min(100% - 30px,980px);margin:28px auto;display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:18px 22px;border:1px solid #e5d2b8;border-radius:14px;background:#fffaf2;color:#26343a}
.reservation-gift-panel img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.reservation-gift-panel p{margin:0;color:#a34c38;font-size:13px;font-weight:800}
.reservation-gift-panel h2{margin:4px 0 6px;font-family:"MPLUS Rounded","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:22px;line-height:1.35;font-weight:800}
.reservation-gift-panel .reservation-gift-copy{margin:0;color:#37464b;font-size:14px;font-weight:600;line-height:1.75}
@media(max-width:760px){.reservation-gift-panel{grid-template-columns:92px 1fr;gap:14px;margin:22px auto;padding:14px}.reservation-gift-panel h2{font-size:18px}.reservation-gift-panel .reservation-gift-copy{font-size:13px;line-height:1.6}}
/* トップだけ、店舗案内と予約特典の間隔を半分程度にする */
.home .access{padding-bottom:47px}
.home .access+.reservation-gift-panel{margin-top:14px}
@media(max-width:760px){.home .access{padding-bottom:32px}.home .access+.reservation-gift-panel{margin-top:11px}}

/* v0.10.45: 手順は既存プラグインの自動番号と競合しない構造に統一。 */

/* v0.10.41: isolate the renewal top page from the public site's legacy
   site-base reset. The enqueue order fix restores the approved base type and
   responsive measurements; keep the hero title weight explicit as a final
   guard against a later heading reset. */
body{word-break:normal}
.hero h1{font-weight:800}
.button,.header-support-link{text-decoration:none}

/* 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}
/* 長いメニュー名でも文字を小さくせず、PCでは横幅と間隔で1行に収める。 */
.desktop-nav a,.header-support-link{white-space:nowrap}
@media(min-width:1280px){
  .site-header .shell{width:min(1280px,calc(100% - 32px))}
  .site-header .header-inner{gap:18px}
  .site-header .desktop-nav{gap:18px}
}
@media(max-width:1279px) 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;
  font-synthesis:none
}
/* 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,
.fire-v025 .fire-hero h1,
.content-shell>h1{font-family:"MPLUS Rounded","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif!important;font-weight:800!important;font-synthesis:none}
.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}
.concern-grid article>p{margin:6px 0 0;color:#685f57;font-size:16px;line-height:1.65}
.hero-reassure{display:grid;gap:2px;text-align:center;line-height:1.5}
.hero-reassure span{display:block}

.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{font-size:13px;line-height:1.5;margin:6px 0 0}.staff-track .staff-message{color:#554d47;font-weight:700}.staff-track .staff-credentials{padding-top:8px;border-top:1px solid #eadbc8;color:#92511f;font-weight:800}

.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 .consultation-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.guide-flow .consultation-steps>article{display:block;padding:20px;border-radius:15px;background:#fff}
.guide-flow .consultation-steps>article>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:10px;padding-bottom:13px}.staff-track article{flex-basis:42%;display:block}.staff-track img{width:100%;height:auto;aspect-ratio:4/3}.staff-track article>div{padding:12px 11px 14px}.staff-track h3{font-size:17px}.staff-track .staff-message{font-size:11px;line-height:1.55}.staff-track .staff-credentials{font-size:10px;line-height:1.45}
  .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 .consultation-steps{grid-template-columns:1fr;gap:10px}.guide-flow .consultation-steps>article{display:grid;padding:16px}.guide-flow .consultation-steps>article>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:45%}}

@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>p{margin-top:4px;font-size:14px;line-height:1.6}
  .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-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-published-summary{margin:18px 0 24px;text-align:center}
.voice-published-total{display:flex;align-items:baseline;justify-content:center;gap:.35em;margin:0;color:#7d3f25;line-height:1}
.voice-published-total strong{font-size:clamp(54px,14vw,76px);font-weight:800;letter-spacing:-.04em}
.voice-published-total span{font-size:16px;font-weight:700}
.voice-published-summary small{display:block;margin-top:7px;color:#74695f;font-size:12px;line-height:1.5}

/* トップのお客様の声：相談後の感想を主役にした共通カード */
.top-voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.top-voice-card{display:flex;flex-direction:column;padding:24px 22px 20px;border:1px solid #e5d2b8;border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(92,60,28,.06)}
.top-voice-topic{align-self:flex-start;margin:0 0 12px;padding:5px 10px;border-radius:999px;background:#fff2df;color:#8c3d0e;font-size:12px;line-height:1.35;font-weight:800}
.top-voice-quote-label{margin:0 0 7px;color:#8a715e;font-size:11px;line-height:1.5;font-weight:800;letter-spacing:.04em}
.top-voice-card blockquote{margin:0;color:#29343a;font-family:"MPLUS Rounded","Noto Sans JP",sans-serif;font-size:20px;line-height:1.72;font-weight:800;letter-spacing:-.02em}
.top-voice-footer{display:grid;grid-template-columns:68px minmax(0,1fr);gap:13px;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid #eee2d1}
.top-voice-survey-link{display:block;width:68px;text-decoration:none}
.top-voice-survey{display:block;width:68px;height:74px;object-fit:cover;object-position:center top;border:1px solid #e5d7c5;border-radius:8px;background:#f1e9de}
.top-voice-footer p{margin:0 0 5px;color:#776b60;font-size:11px;line-height:1.55}
.top-voice-more{display:inline-flex;align-items:center;gap:7px;color:#7d3f25;font-size:14px;font-weight:800;text-decoration:none}
.top-voice-more::after{content:"→"}
.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}
}
@media(min-width:761px){
  .voice-published-summary{margin:20px 0 30px}
  .voice-published-total strong{font-size:72px}
  .voice-published-total span{font-size:18px}
}
.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){
  .top-voice-grid{grid-template-columns:1fr;gap:16px}
  .top-voice-card{padding:20px 18px 17px}
  .top-voice-card blockquote{font-size:19px}
  .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-inner-hero h1{margin:0 0 20px;font-size:42px;line-height:1.45;letter-spacing:.01em}
.staff-inner-hero h1 span{display:block}
.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-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:760px){.staff-inner-hero h1{margin:0 0 18px;font-size:30px;line-height:1.45;letter-spacing:0}}
@media(max-width:360px){
  .inner-hero h1{font-size:32px}.check-list{grid-template-columns:1fr}.check-list li{min-height:0}.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}
.final-card{align-items:start}
.final-title-line{display:block}
.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}
}
