@charset "UTF-8";
:root{--navy:#14263d;--navy2:#203954;--teal:#287d78;--teal-dark:#1d6662;--gold:#d6b77a;--ink:#243247;--muted:#687789;--line:#e1e7eb;--pale:#f4f6f5;--white:#fff;--shadow:0 18px 55px rgba(20,38,61,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;letter-spacing:.025em}a{color:inherit}img{max-width:100%}.container{width:min(1120px,calc(100% - 48px));margin:auto}.narrow{max-width:800px}.section{padding:100px 0}.eyebrow{margin:0 0 16px;color:var(--teal);font-size:.76rem;font-weight:800;letter-spacing:.18em}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.4;letter-spacing:.015em}h2{font-size:clamp(1.8rem,3.4vw,2.65rem);color:var(--navy);margin-bottom:18px}h3{color:var(--navy)}.section-lead{color:var(--muted);margin-bottom:38px}.site-header{height:84px;background:#fff;border-bottom:1px solid rgba(20,38,61,.08);position:sticky;top:0;z-index:20}.header-inner,.header-inner .main-nav{display:flex;align-items:center}.header-inner{height:100%;justify-content:space-between}.brand{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1.25}.brand-name{font-weight:800;color:var(--navy);font-size:1.1rem;letter-spacing:.04em}.brand-en{font-size:.57rem;color:#8190a0;letter-spacing:.16em;margin-top:5px}.main-nav{gap:24px}.main-nav a{text-decoration:none;font-size:.82rem;font-weight:700;color:#425267}.main-nav a:hover,.footer-links a:hover{color:var(--teal)}.main-nav .nav-cta{background:var(--teal);color:#fff;padding:10px 17px;border-radius:4px}.menu-toggle{display:none}.hero{background:linear-gradient(115deg,#f5f7f6 0%,#eef3f2 58%,#e7efed 100%);overflow:hidden}.hero-grid{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding-top:65px;padding-bottom:65px}.hero h1{font-size:clamp(2.4rem,5vw,4.35rem);color:var(--navy);letter-spacing:-.035em;margin:0 0 25px}.hero h1 span{color:var(--teal)}.hero-lead{font-size:1.05rem;line-height:2;color:#536477;max-width:610px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:13px 23px;border-radius:4px;text-decoration:none;font-weight:800;border:1px solid transparent;cursor:pointer;font:inherit;font-weight:750;transition:.2s}.button-primary{background:var(--teal);color:#fff}.button-primary:hover{background:var(--teal-dark);transform:translateY(-1px)}.button-light{background:#fff;color:var(--navy)}.button-outline{border-color:#b8c7ca;color:var(--navy);background:#fff}.button-outline:hover{border-color:var(--teal);color:var(--teal)}.text-link{font-size:.9rem;font-weight:700;text-decoration:none;border-bottom:1px solid #9caeb0;padding-bottom:4px}.hero-note{font-size:.76rem;color:#738291;margin:16px 0 0}.hero-visual{min-height:430px;position:relative;display:grid;place-items:center}.visual-orbit{position:absolute;border:1px solid rgba(40,125,120,.22);border-radius:50%;width:420px;height:420px}.orbit-two{width:510px;height:510px;border-color:rgba(20,38,61,.10)}.visual-card{position:relative;width:min(370px,90%);padding:40px 35px;background:#fff;border:1px solid rgba(20,38,61,.07);box-shadow:var(--shadow);border-radius:8px;text-align:center}.visual-label{font-size:.65rem;color:var(--teal);font-weight:800;letter-spacing:.2em}.visual-symbol{font-family:Georgia,serif;font-size:5rem;line-height:1.3;color:var(--teal);margin:10px}.visual-card strong{font-size:1.2rem;color:var(--navy)}.visual-card p{color:var(--muted);font-size:.88rem;margin:12px 0 20px}.visual-line{height:1px;background:var(--line);margin-bottom:17px}.visual-tags{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.visual-tags span{background:#eef4f2;color:#42615f;font-size:.67rem;padding:5px 9px;border-radius:2px}.hero-stamp{position:absolute;right:0;bottom:28px;background:var(--navy);color:#fff;width:95px;height:95px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:.75rem;font-weight:700;line-height:1.5;transform:rotate(8deg)}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.problem-card{padding:27px 23px;background:#fff;border:1px solid var(--line);min-height:230px}.card-number{color:var(--teal);font-size:.75rem;font-weight:800;letter-spacing:.15em}.problem-card h3{font-size:1.05rem;margin:18px 0 10px}.problem-card p,.strength-grid p{color:var(--muted);font-size:.87rem;margin:0}.service-section{background:var(--pale)}.two-column{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.body-copy{color:#526174}.body-copy p{margin-bottom:17px}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.strength-icon{width:55px;height:55px;display:grid;place-items:center;background:#eaf2f0;color:var(--teal);font-weight:800;border-radius:50%;margin-bottom:20px}.strength-grid h3{font-size:1.15rem}.works-section{background:#f5f7f7}.work-feature{display:grid;grid-template-columns:260px 1fr;background:#fff;border:1px solid var(--line);box-shadow:0 8px 30px rgba(20,38,61,.04)}.work-mark{background:var(--navy);color:#fff;padding:35px;display:flex;flex-direction:column;justify-content:center;min-height:360px}.work-mark span{font-size:.65rem;letter-spacing:.18em;color:#b8cfce}.work-mark strong{font-size:2.5rem;line-height:1.2;margin:30px 0 14px}.work-mark small{color:#c6d1dc}.work-content{padding:40px 45px}.work-content h3{font-size:1.35rem}.work-content>p{color:var(--muted)}.check-list{padding-left:1.2em;color:#48596c}.check-list li{padding:4px 0}.work-highlight{background:#f0f5f3;border-left:3px solid var(--teal);padding:17px 20px;margin-top:25px}.work-highlight strong{color:var(--navy)}.work-highlight p{margin:5px 0 0;font-size:.9rem;color:#536477}.small-note{font-size:.75rem;color:#84909b;margin-top:18px}.profile-layout{display:grid;grid-template-columns:320px 1fr;gap:75px;align-items:center}.profile-placeholder{min-height:340px;background:linear-gradient(145deg,#e9efed,#dce7e4);display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--navy);border-radius:4px}.profile-placeholder span{font-size:.68rem;letter-spacing:.2em;color:var(--teal);font-weight:800}.profile-placeholder strong{font-size:2rem;margin:20px 0 8px}.profile-placeholder small{font-size:.78rem;color:#61717d}.profile-copy h2{margin-bottom:8px}.profile-title{font-weight:700;color:var(--teal);font-size:.92rem}.profile-copy>p:not(.eyebrow):not(.profile-title){color:#59697a}.price-section{background:var(--pale)}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.price-card{background:#fff;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.price-card-featured{border:2px solid var(--teal);background:#fbfdfc}.price-label{font-size:.65rem;color:var(--teal);letter-spacing:.15em;font-weight:800}.price-card h3{font-size:1.12rem;margin:12px 0 8px}.price{font-size:2.1rem;color:var(--navy);font-weight:800;margin:0;line-height:1.4}.price span{font-size:.8rem;font-weight:600}.price-time{font-size:.78rem;color:var(--teal);font-weight:700;margin:3px 0 15px}.price-card>p:not(.price):not(.price-time){font-size:.87rem;color:var(--muted);flex:1}.price-card .button{margin-top:12px}.compact-list{padding-left:1.2em;color:#526174;font-size:.85rem}.compact-list li{padding:3px 0}.price-notes{font-size:.78rem;color:#75818d;margin-top:22px}.price-notes p{margin:4px 0}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:40px}.flow-grid>div{border-top:2px solid var(--teal);padding-top:18px}.flow-grid span{font-size:.78rem;color:var(--teal);font-weight:800}.flow-grid h3{font-size:1rem;margin:12px 0 7px}.flow-grid p{font-size:.83rem;color:var(--muted)}.faq-section{background:#f5f7f7}.faq-section details{border-bottom:1px solid #d9e0e3;padding:20px 0}.faq-section summary{font-weight:750;color:var(--navy);cursor:pointer;list-style:none}.faq-section summary:after{content:"＋";float:right;color:var(--teal)}.faq-section details[open] summary:after{content:"−"}.faq-section details p{margin:15px 0 0;color:#5e6d7c;font-size:.9rem}.final-cta{background:var(--navy);color:#fff;text-align:center;padding:85px 0}.final-cta .eyebrow{color:#9cc9c4}.final-cta h2{color:#fff}.final-cta p:not(.eyebrow){color:#cbd5df}.final-cta .button{margin-top:15px}.site-footer{background:#101f32;color:#c3ced8;padding:45px 0 20px}.footer-inner{display:flex;justify-content:space-between;gap:30px}.footer-brand .brand-name{color:#fff}.footer-brand .brand-en{color:#9caebd}.footer-inner p{font-size:.78rem;color:#aab7c4;margin:14px 0}.footer-links{display:flex;gap:22px;align-items:flex-start}.footer-links a{font-size:.8rem;text-decoration:none}.copyright{border-top:1px solid #344356;margin-top:30px;padding-top:15px;font-size:.7rem;color:#8292a2}.simple-header{padding:23px max(24px,calc((100% - 1120px)/2));border-bottom:1px solid var(--line)}.form-page{background:#f4f6f5;min-height:75vh;padding:65px 20px}.form-shell{max-width:760px;margin:auto;background:#fff;padding:48px 55px;box-shadow:0 12px 40px rgba(20,38,61,.06)}.form-shell h1{font-size:2rem;color:var(--navy)}.form-shell>p{color:var(--muted)}.notice{background:#eef5f3;border-left:3px solid var(--teal);padding:14px 17px;font-size:.85rem;margin:22px 0;color:#425d5a}.error-box{background:#fff1ef;border:1px solid #e8b9b2;padding:15px 20px;margin:20px 0;color:#873b32}.error-box ul{margin-bottom:0}.contact-form{display:grid;gap:19px;margin-top:28px}.contact-form>label:not(.agree){display:block;font-weight:750;font-size:.9rem;color:var(--navy)}.contact-form input:not([type=checkbox]),.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #ccd5db;border-radius:3px;padding:13px 14px;font:inherit;font-size:1rem;color:var(--ink);background:#fff}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid rgba(40,125,120,.2);border-color:var(--teal)}.required{display:inline-block;background:#f5e9e7;color:#9b4c42;font-size:.68rem;padding:2px 7px;border-radius:2px;margin-left:5px}.optional{font-size:.68rem;color:#82909b;margin-left:5px}.agree{display:flex;gap:10px;align-items:flex-start;font-size:.85rem}.agree input{margin-top:7px}.agree a{color:var(--teal)}.button-wide{width:100%}.form-back{margin-top:25px;font-size:.85rem}.form-back a{color:var(--teal)}.simple-footer{text-align:center;padding:22px;color:#7e8b98;font-size:.75rem}.confirm-list{display:grid;grid-template-columns:160px 1fr;border-top:1px solid var(--line);margin:30px 0}.confirm-list dt,.confirm-list dd{padding:14px 10px;margin:0;border-bottom:1px solid var(--line)}.confirm-list dt{font-weight:750;color:var(--navy);background:#f7f9f8}.multiline{white-space:pre-wrap}.confirm-actions{display:flex;gap:12px;flex-wrap:wrap}.success-shell{text-align:center;padding-top:65px;padding-bottom:65px}.success-mark{width:60px;height:60px;border-radius:50%;background:#e5f1ed;color:var(--teal);font-size:2rem;display:grid;place-items:center;margin:0 auto 25px}.success-shell .button{margin-top:20px}.policy h2{font-size:1.2rem;margin:28px 0 8px}.policy p{font-size:.9rem}.hp-field{position:absolute;left:-9999px;opacity:0}
@media(max-width:900px){.main-nav{gap:13px}.main-nav a{font-size:.75rem}.hero-grid{grid-template-columns:1fr  .85fr}.hero h1{font-size:3.2rem}.problem-grid{grid-template-columns:repeat(2,1fr)}.profile-layout{gap:40px}.work-feature{grid-template-columns:210px 1fr}}
@media(max-width:700px){.container{width:min(100% - 36px,560px)}.section{padding:70px 0}.site-header{height:72px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;border:1px solid var(--line);background:#fff;border-radius:3px;padding:10px}.menu-toggle span{height:2px;background:var(--navy);width:100%}.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:18px 22px 24px;box-shadow:0 12px 20px rgba(20,38,61,.1);flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:12px 4px;font-size:.9rem}.main-nav .nav-cta{text-align:center;margin-top:8px;padding:12px}.hero-grid{display:block;padding-top:65px;padding-bottom:50px}.hero h1{font-size:clamp(2.35rem,10vw,3.4rem)}.hero-lead{font-size:.95rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-visual{min-height:340px;margin-top:20px}.visual-orbit{width:290px;height:290px}.orbit-two{width:340px;height:340px}.visual-card{padding:28px 22px;width:300px}.hero-stamp{right:0;bottom:10px;width:78px;height:78px;font-size:.65rem}.problem-grid,.strength-grid,.price-grid{grid-template-columns:1fr}.problem-card{min-height:0}.two-column{grid-template-columns:1fr;gap:15px}.strength-grid{gap:28px}.work-feature{grid-template-columns:1fr}.work-mark{min-height:180px;padding:25px}.work-mark strong{font-size:2rem;margin:12px 0}.work-content{padding:28px 23px}.profile-layout{grid-template-columns:1fr;gap:30px}.profile-placeholder{min-height:230px}.flow-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-inner{flex-direction:column}.footer-links{flex-wrap:wrap}.form-page{padding:30px 12px}.form-shell{padding:30px 20px}.form-shell h1{font-size:1.65rem}.confirm-list{grid-template-columns:1fr}.confirm-list dt{padding-bottom:4px;border-bottom:0}.confirm-list dd{padding-top:4px}.confirm-actions{flex-direction:column}.confirm-actions .button{width:100%}.simple-header{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Accessibility and contrast refinements */
:root{--ink:#172538;--muted:#46576b;--teal:#17645f;--teal-dark:#104c49}
body{color:#172538}
.section-lead,.hero-lead,.body-copy,.problem-card p,.strength-grid p,.work-content>p,
.work-highlight p,.profile-copy>p:not(.eyebrow):not(.profile-title),.price-card>p:not(.price):not(.price-time),
.flow-grid p,.faq-section details p{color:#46576b}
.brand-en{color:#5c6b7a}
.hero-note{color:#4c5c6d}
.main-nav a{color:#26384d}
.main-nav a:hover,.footer-links a:hover{color:#125b56}
.main-nav .nav-cta{background:#17645f;color:#fff}
.main-nav .nav-cta:hover,.main-nav .nav-cta:focus{background:#104c49;color:#fff}
.button-primary{background:#17645f;color:#fff}
.button-primary:hover,.button-primary:focus-visible{background:#104c49;color:#fff}
.button-light{background:#fff;color:#14263d}
.button-light:hover,.button-light:focus-visible{background:#e7eeec;color:#14263d}
.text-link{color:#24384d}
.price-time{color:#145b56}
.contact-form select{display:block;width:100%;margin-top:7px;border:1px solid #aebbc5;border-radius:3px;padding:13px 14px;font:inherit;font-size:1rem;color:#172538;background:#fff}
.contact-form select:focus{outline:2px solid rgba(23,100,95,.25);border-color:#17645f}
.notice{color:#294844}
.error-box{color:#762d25}
.form-shell>p{color:#46576b}

/* Header CTA: keep text legible in every interactive state */
.site-header .main-nav a.nav-cta,
.site-header .main-nav a.nav-cta:link,
.site-header .main-nav a.nav-cta:visited,
.site-header .main-nav a.nav-cta:hover,
.site-header .main-nav a.nav-cta:focus,
.site-header .main-nav a.nav-cta:focus-visible,
.site-header .main-nav a.nav-cta:active {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #17645f !important;
  text-decoration: none;
}
.site-header .main-nav a.nav-cta:hover,
.site-header .main-nav a.nav-cta:focus-visible {
  background-color: #104c49 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  outline: 2px solid #d6b77a;
  outline-offset: 2px;
}

/* FINAL OVERRIDE v0.7: stronger hover feedback for header CTA */
.site-header .main-nav a.nav-cta,
.site-header .main-nav a.nav-cta:link,
.site-header .main-nav a.nav-cta:visited,
.site-header .main-nav a.nav-cta:active {
  background-color: #17645f !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 2px 5px rgba(20, 38, 61, 0.14);
  transform: translateY(0);
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.site-header .main-nav a.nav-cta:hover,
.site-header .main-nav a.nav-cta:focus,
.site-header .main-nav a.nav-cta:focus-visible {
  background-color: #d6b77a !important;
  color: #14263d !important;
  -webkit-text-fill-color: #14263d !important;
  outline: none !important;
  box-shadow: 0 8px 18px rgba(20, 38, 61, 0.22);
  transform: translateY(-3px);
}

/* v0.9: site-wide readability and contrast improvements */
html { font-size: 17px; }
body {
  color: #142238 !important;
  font-size: 1.0625rem;
  line-height: 1.85;
}
p, li, dd, dt, label, input, select, textarea, button {
  font-size: 1rem;
}
p, li, dd, dt, label {
  color: #26384d;
}
small, .eyebrow, .brand-en, .hero-note, .section-lead,
.price-time, .footer-note, .form-note, .caption, .meta {
  color: #43546a !important;
  font-size: 0.94rem;
}
h1, h2, h3, h4, .section-title, .hero-title {
  color: #142238 !important;
}
.main-nav a, .footer-links a, .text-link {
  color: #17364d !important;
  font-size: 1rem;
  font-weight: 600;
}
.service-card p, .problem-card p, .work-highlight p,
.profile-copy p, .price-card p, .flow-grid p,
.faq-section details p, .form-shell p {
  color: #26384d !important;
  font-size: 1rem;
  line-height: 1.9;
}
.faq-section summary {
  color: #142238 !important;
  font-size: 1.06rem;
  font-weight: 700;
}
.contact-form input, .contact-form select, .contact-form textarea {
  color: #142238 !important;
  font-size: 1rem;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #65758a !important;
  opacity: 1;
}
.site-header .main-nav a.nav-cta,
.site-header .main-nav a.nav-cta:link,
.site-header .main-nav a.nav-cta:visited,
.site-header .main-nav a.nav-cta:active {
  background-color: #17645f !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.site-header .main-nav a.nav-cta:hover,
.site-header .main-nav a.nav-cta:focus,
.site-header .main-nav a.nav-cta:focus-visible {
  background-color: #d6b77a !important;
  color: #14263d !important;
  -webkit-text-fill-color: #14263d !important;
  box-shadow: 0 8px 18px rgba(20,38,61,.22) !important;
  transform: translateY(-3px);
}
@media (max-width: 700px) {
  html { font-size: 16px; }
  body { font-size: 1rem; }
  p, li, dd, dt, label { font-size: 1rem; }
}


/* v1.0: pricing notes - larger and darker for readability */
.price-notes {
  margin-top: 24px;
}
.price-notes p {
  color: #26384d !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 2 !important;
  letter-spacing: 0.015em;
  margin: 0 0 10px !important;
}
@media (max-width: 700px) {
  .price-notes p {
    font-size: 1rem !important;
    line-height: 1.9 !important;
  }
}


/* v1.1: footer links - maintain strong contrast on dark footer */
.site-footer .footer-links a,
.site-footer .footer-links a:link,
.site-footer .footer-links a:visited {
  color: #e5edf5 !important;
  -webkit-text-fill-color: #e5edf5 !important;
  opacity: 1 !important;
  text-decoration: none !important;
  font-weight: 600;
  transition: color .18s ease, background-color .18s ease, text-decoration-color .18s ease;
}
.site-footer .footer-links a:hover,
.site-footer .footer-links a:focus,
.site-footer .footer-links a:focus-visible,
.site-footer .footer-links a:active {
  color: #ffd27a !important;
  -webkit-text-fill-color: #ffd27a !important;
  text-decoration: underline !important;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  outline: none;
}


/* v1.2: public case-study link */
.work-mark .work-site-link {
  color: #ffffff;
  text-decoration: none;
}
.work-mark .work-site-link:hover,
.work-mark .work-site-link:focus-visible {
  color: #ffd27a;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.work-site-url {
  display: inline-block;
  margin-top: 18px;
  color: #ffffff;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.work-site-url:hover,
.work-site-url:focus-visible {
  color: #ffd27a;
}


/* v1.3: remove excess gap before the final consultation banner */
.faq-section.section {
  padding-bottom: 32px !important;
}
.final-cta {
  padding: 58px 0 !important;
}
.final-cta .eyebrow {
  color: #b9d8d5 !important;
}
.final-cta h2 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  margin-bottom: 18px;
}
.final-cta p:not(.eyebrow) {
  color: #e2eaf2 !important;
}
@media (max-width: 700px) {
  .faq-section.section {
    padding-bottom: 24px !important;
  }
  .final-cta {
    padding: 44px 0 !important;
  }
}


/* v1.4: mobile navigation must be collapsed until the hamburger is tapped */
@media (max-width: 700px) {
  .site-header .header-inner .main-nav {
    display: none !important;
  }
  .site-header .header-inner .main-nav.open {
    display: flex !important;
  }
}


/* v1.5: mobile Japanese heading line-break and size refinement */
@media (max-width: 700px) {
  .hero h1 {
    font-size: clamp(2rem, 7.2vw, 2.65rem) !important;
    line-height: 1.38 !important;
    letter-spacing: -0.025em !important;
    text-wrap: balance;
  }
  .hero h1 br {
    display: none;
  }
  .service-section h2 {
    font-size: clamp(1.55rem, 5.6vw, 2rem) !important;
    line-height: 1.55 !important;
    letter-spacing: -0.02em !important;
    text-wrap: balance;
  }
  .service-section h2 br {
    display: none;
  }
}


/* v1.6: explicit mobile typography overrides for the two wrapped headings */
@media screen and (max-width: 700px) {
  body .hero .hero-copy h1 {
    font-size: 1.9rem !important;
    line-height: 1.5 !important;
    letter-spacing: -0.045em !important;
    font-weight: 800 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-wrap: initial !important;
    margin-bottom: 22px !important;
  }
  body .hero .hero-copy h1 br {
    display: none !important;
  }
  body .service-section .two-column > div:first-child h2 {
    font-size: 1.45rem !important;
    line-height: 1.65 !important;
    letter-spacing: -0.035em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-wrap: initial !important;
  }
  body .service-section .two-column > div:first-child h2 br {
    display: none !important;
  }
}


/* v1.7: consistent styling across all service and pricing cards */
.price-grid .price-card,
.price-grid .price-card-featured {
  border: 1px solid #d7e0e5 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.price-grid .price-card {
  border-radius: 2px;
}


/* v1.8: reduce mobile heading sizes further */
@media screen and (max-width: 700px) {
  body .hero .hero-copy h1 {
    font-size: 1.55rem !important;
    line-height: 1.5 !important;
    letter-spacing: -0.04em !important;
    margin-bottom: 20px !important;
  }
  body .service-section .two-column > div:first-child h2 {
    font-size: 1.2rem !important;
    line-height: 1.6 !important;
    letter-spacing: -0.025em !important;
  }
}


/* v1.9: reduce oversized headings on desktop and tablet */
@media screen and (min-width: 701px) {
  body .hero .hero-copy h1 {
    font-size: clamp(2.5rem, 3.8vw, 3.35rem) !important;
    line-height: 1.42 !important;
    letter-spacing: -0.035em !important;
  }
  body .service-section .two-column > div:first-child h2 {
    font-size: clamp(1.7rem, 2.3vw, 2.1rem) !important;
    line-height: 1.55 !important;
    letter-spacing: -0.025em !important;
  }
}

/* Profile portrait supplied by the representative */
.profile-photo-wrap{display:flex;flex-direction:column;gap:12px;max-width:320px}
.profile-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;border-radius:4px}
.profile-photo-caption{font-size:.9rem;color:#344b60;font-weight:700}

/* First visual explainer: technical second-opinion flow */
.service-flow-section{background:#f5f7f6}
.service-flow{max-width:900px;margin:34px auto 0;display:flex;flex-direction:column;align-items:center;gap:13px}
.flow-step{position:relative;width:min(100%,620px);padding:23px 28px;text-align:center;border-radius:9px;background:#eaf1f5;border:1px solid #dce6eb;color:#142b45}
.flow-number{position:absolute;left:16px;top:14px;font-size:12px;font-weight:800;letter-spacing:.12em;color:#557187}
.flow-symbol{font-size:20px;font-weight:800;letter-spacing:.02em}
.flow-step p{margin:8px 0 0;color:#435c70;font-size:16px}
.flow-advisor{background:#e1efeb;border:2px solid #9abdb3}
.flow-advisor .flow-symbol{color:#176c68;font-size:18px}
.flow-advisor h3{font-size:27px;margin:7px 0;color:#145f5b}
.flow-arrow{font-size:30px;line-height:1;color:#176c68;font-weight:700}
.flow-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:min(100%,720px)}
.flow-checks>div{background:#fff;border:1px solid #dce5e4;border-radius:8px;padding:19px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:9px;color:#243f53}
.check-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e5f0ed;color:#176c68;font-size:19px;font-weight:800}
.flow-result{width:min(100%,620px);padding:24px;text-align:center;background:#142b45;border-radius:9px;color:#fff}
.flow-result strong{font-size:23px;letter-spacing:.02em}
.flow-result p{margin:8px 0 0;color:#e5edf2;font-size:15px}
@media(max-width:600px){
 .service-flow{gap:10px;margin-top:24px}
 .flow-step{padding:21px 14px}
 .flow-symbol{font-size:18px}
 .flow-advisor h3{font-size:23px}
 .flow-checks{gap:7px}
 .flow-checks>div{padding:14px 5px;font-size:13px}
 .flow-result{padding:21px 13px}
 .flow-result strong{font-size:20px}
}

/* Second infographic: monthly advisor service usage */
.monthly-flow-wrap{margin:38px 0 30px;padding:30px 28px;background:#f2f6f5;border:1px solid #dbe5e1;border-radius:10px}
.monthly-flow-wrap>.eyebrow{margin-bottom:7px}
.monthly-flow-title{font-size:24px;color:#142b45;margin:0 0 23px}
.monthly-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:stretch;gap:8px}
.monthly-flow-step{position:relative;min-height:75px;padding:25px 14px 18px;background:#fff;border:1px solid #d5e1de;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}
.monthly-flow-no{position:absolute;top:9px;left:12px;font-size:11px;font-weight:850;color:#67847d;letter-spacing:.12em}
.monthly-flow-icon{font-size:30px;line-height:1;color:#176c68}
.monthly-flow-step strong{font-size:17px;color:#142b45}
.monthly-flow-step small{font-size:14px;line-height:1.5;color:#506477}
.monthly-flow-connector{display:grid;place-items:center;font-size:24px;font-weight:800;color:#176c68}
.monthly-flow-extra{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:18px;padding:15px 18px;background:#e1efeb;border:1px solid #b8d4ca;border-radius:7px;color:#244c49;margin-top:6px}
.monthly-flow-extra span{font-size:15px;font-weight:700}
.monthly-flow-extra strong{font-size:18px;color:#145f5b}
.monthly-flow-rules{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.monthly-flow-rules span{font-size:14px;color:#40596b;background:#fff;border:1px solid #d6e0e2;border-radius:30px;padding:7px 14px}
@media(max-width:650px){
 .monthly-flow-wrap{padding:23px 16px}
 .monthly-flow{grid-template-columns:1fr;gap:7px}
 .monthly-flow-step{min-height:120px}
 .monthly-flow-connector{height:17px;font-size:18px;transform:rotate(90deg)}
 .monthly-flow-extra{flex-direction:column;gap:4px;text-align:center}
 .monthly-flow-extra strong{font-size:16px}
 .monthly-flow-rules{flex-direction:column;align-items:stretch}
 .monthly-flow-rules span{text-align:center}
}

/* Third infographic: consultation process */
.flow-intro{margin:-4px 0 24px;color:#526477;font-size:.95rem}
.consult-flow{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr;align-items:center;gap:7px;margin-top:28px}
.consult-step{min-height:190px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 13px 18px;background:#f4f7f6;border:1px solid #dce5e2;border-radius:9px}
.consult-no{position:absolute;top:10px;left:12px;font-size:.68rem;font-weight:850;letter-spacing:.1em;color:#66847c}
.consult-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e1efeb;color:#176c68;font-size:25px;font-weight:800;margin-bottom:12px}
.consult-step h3{font-size:1rem;line-height:1.45;margin:0 0 7px;color:#142b45}
.consult-step p{font-size:.82rem;line-height:1.6;color:#526477;margin:0}
.consult-arrow{font-size:24px;font-weight:800;color:#176c68;text-align:center}
.consult-step-final{background:#edf4f1;border-color:#b8d2c9}
@media(max-width:760px){
 .consult-flow{grid-template-columns:1fr;gap:8px;max-width:440px;margin:25px auto 0}
 .consult-step{min-height:145px;padding:24px 15px 18px}
 .consult-arrow{transform:rotate(90deg);height:20px;line-height:20px}
}

/* Match the two adjacent service-section heading sizes */
body .service-section .two-column > div:first-child h2,
body .service-detail .two-column > div:first-child h2 {
  font-size: clamp(1.55rem, 5.6vw, 2rem) !important;
  line-height: 1.55 !important;
  letter-spacing: -0.02em !important;
}

/* Fourth infographic: three principles for technical review */
.strength-diagram{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.strength-point{position:relative;min-height:215px;padding:27px 20px 24px;background:#f3f7f5;border:1px solid #dce7e2;border-radius:10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.strength-point:nth-child(2){background:#eaf2f0}
.strength-point .strength-icon{position:absolute;top:13px;left:15px;font-size:.72rem;font-weight:850;color:#648279;letter-spacing:.12em}
.strength-symbol{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:7px 0 17px;background:#dcece6;color:#176c68;font-size:34px;font-weight:800}
.strength-point h3{font-size:1.2rem;color:#142b45;margin:0 0 10px}
.strength-point p{font-size:.92rem;line-height:1.65;color:#526477;margin:0}
.strength-summary{text-align:center;margin:23px 0 0;color:#176c68;font-size:1rem;font-weight:750}
@media(max-width:680px){
 .strength-diagram{grid-template-columns:1fr;gap:12px;max-width:440px;margin:25px auto 0}
 .strength-point{min-height:75px;padding:22px 16px}
 .strength-symbol{width:52px;height:52px;font-size:28px;margin:2px 0 11px}
 .strength-point h3{font-size:1.1rem}
}

/* Fifth infographic: development case study */
.work-diagram{margin:24px 0 22px;padding:22px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:9px}
.work-diagram-group{display:flex;flex-direction:column;gap:12px}
.work-diagram-label{font-size:.78rem;font-weight:800;letter-spacing:.08em;color:#176c68}
.work-diagram-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.work-diagram-item{min-height:112px;padding:15px 13px;background:#fff;border:1px solid #dce5e2;border-radius:7px;display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-content:center;align-items:center}
.work-diagram-icon{grid-row:span 2;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e1efeb;color:#176c68;font-size:20px;font-weight:800}
.work-diagram-item strong{font-size:.92rem;color:#142b45;line-height:1.45}
.work-diagram-item small{font-size:.78rem;color:#526477;line-height:1.5;margin-top:3px}
.work-diagram-bridge{text-align:center;color:#176c68;font-size:26px;font-weight:800;line-height:1.4;padding:5px}
.work-diagram-system .work-diagram-items{grid-template-columns:repeat(3,minmax(0,1fr))}
.work-diagram-system .work-diagram-item{grid-template-columns:1fr;text-align:center;justify-items:center;gap:8px;padding:16px 10px}
.work-diagram-system .work-diagram-icon{grid-row:auto}
.work-diagram-system .work-diagram-item small{font-size:.75rem}
@media(max-width:650px){
 .work-diagram{padding:17px 13px}
 .work-diagram-items,.work-diagram-system .work-diagram-items{grid-template-columns:1fr}
 .work-diagram-item{min-height:88px}
 .work-diagram-system .work-diagram-item{grid-template-columns:34px 1fr;text-align:left;justify-items:start;min-height:82px}
 .work-diagram-system .work-diagram-icon{grid-row:span 2}
}

/* Sixth infographic: representative education and experience */
.profile-experience{margin:22px 0 20px;padding:21px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:9px}
.profile-experience-title{margin:0 0 15px!important;font-size:1rem;font-weight:800;color:#142b45}
.profile-education{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.profile-education>div{display:flex;flex-direction:column;gap:4px;padding:14px;background:#fff;border:1px solid #dce5e2;border-radius:7px}
.profile-education span,.profile-experience-label{font-size:.72rem;letter-spacing:.08em;font-weight:800;color:#176c68}
.profile-education strong{font-size:.95rem;color:#142b45}
.profile-education small{font-size:.82rem;color:#526477}
.profile-experience-label{margin:18px 0 10px}
.profile-experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.profile-experience-grid>div{display:grid;grid-template-columns:34px 1fr;align-items:center;column-gap:9px;padding:12px;background:#fff;border:1px solid #dce5e2;border-radius:7px}
.profile-experience-icon{grid-row:span 2;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e1efeb;color:#176c68;font-size:17px;font-weight:800}
.profile-experience-grid strong{font-size:.88rem;line-height:1.4;color:#142b45}
.profile-experience-grid small{font-size:.72rem;line-height:1.4;color:#526477;margin-top:2px}
@media(max-width:600px){
 .profile-experience{padding:16px 13px}
 .profile-education{grid-template-columns:1fr}
 .profile-experience-grid{grid-template-columns:1fr}
}

/* Seventh infographic: common IT concerns */
.problem-diagram{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:30px}
.problem-point{position:relative;min-height:178px;padding:24px 20px 20px;background:#f3f7f6;border:1px solid #dce7e2;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.problem-point:nth-child(2),.problem-point:nth-child(3){background:#fff}
.problem-point-no{position:absolute;top:12px;left:14px;font-size:.72rem;font-weight:850;letter-spacing:.1em;color:#66847d}
.problem-point-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;margin:3px 0 12px;background:#e1efeb;color:#176c68;font-size:25px;font-weight:800}
.problem-point h3{margin:0 0 8px;color:#142b45;font-size:1.08rem;line-height:1.4}
.problem-point p{margin:0;color:#526477;font-size:.9rem;line-height:1.6}
.problem-diagram-summary{margin:20px 0 0;text-align:center;color:#176c68;font-weight:750;font-size:.98rem}
@media(max-width:600px){
 .problem-diagram{grid-template-columns:1fr;gap:10px;max-width:440px;margin:23px auto 0}
 .problem-point{min-height:145px;padding:20px 15px}
 .problem-point-icon{width:44px;height:44px;font-size:22px;margin:0 0 9px}
 .problem-point h3{font-size:1rem}
}

/* Eighth infographic: consultation and pricing choices */
.consult-price-guide{margin:34px 0 30px;padding:28px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:10px}
.consult-price-guide>.eyebrow{margin:0 0 7px}
.consult-price-title{margin:0 0 23px;font-size:1.35rem;line-height:1.5;color:#142b45}
.consult-price-start{max-width:440px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:15px;padding:17px 20px;background:#142b45;border-radius:8px;color:#fff}
.consult-price-icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#145f5b;font-weight:850}
.consult-price-start strong,.consult-price-start small{display:block}
.consult-price-start strong{font-size:1.08rem}
.consult-price-start small{margin-top:4px;color:#e4edf1;font-size:.84rem}
.consult-price-branch{height:34px;max-width:760px;margin:0 auto;position:relative;border-top:0}
.consult-price-branch:before{content:"";position:absolute;left:50%;top:0;height:17px;border-left:2px solid #8eaaa2}
.consult-price-branch:after{content:"";position:absolute;left:16.66%;right:16.66%;top:17px;border-top:2px solid #8eaaa2}
.consult-price-branch span{position:absolute;top:17px;height:17px;border-left:2px solid #8eaaa2}
.consult-price-branch span:first-child{left:16.66%}
.consult-price-branch span:last-child{right:16.66%}
.consult-price-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.consult-price-option{min-height:75px;padding:19px 14px;background:#fff;border:1px solid #dce5e2;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px}
.consult-price-tag{font-size:.68rem;font-weight:850;letter-spacing:.12em;color:#176c68}
.consult-price-option strong{font-size:.95rem;color:#142b45;line-height:1.45}
.consult-price-option b{font-size:1.35rem;color:#145f5b}
.consult-price-option small{font-size:.8rem;color:#526477;line-height:1.45}
.consult-price-monthly{background:#e8f1ee;border-color:#b9d3ca}
.consult-price-footnote{margin:18px 0 0;text-align:center;color:#526477;font-size:.88rem}
@media(max-width:650px){
 .consult-price-guide{padding:22px 14px}
 .consult-price-title{font-size:1.18rem}
 .consult-price-branch{height:22px}
 .consult-price-branch:after,.consult-price-branch span{display:none}
 .consult-price-branch:before{height:22px;top:0}
 .consult-price-options{grid-template-columns:1fr;gap:9px}
 .consult-price-option{min-height:120px}
 .consult-price-start{padding:15px 12px}
 .consult-price-start small{font-size:.78rem}
}

/* Updated consultation paths: follow-up is optional */
.consult-price-description{max-width:760px;margin:-9px 0 23px;color:#526477;font-size:.92rem;line-height:1.7}
.consult-paths{display:flex;flex-direction:column;gap:12px}
.consult-path{padding:15px 16px;background:#fff;border:1px solid #dce5e2;border-radius:8px}
.consult-path-label{display:block;margin-bottom:10px;font-size:.72rem;font-weight:850;letter-spacing:.08em;color:#176c68}
.consult-path-steps{display:flex;align-items:center;justify-content:center;gap:9px}
.consult-path-step{flex:1;min-width:0;min-height:74px;padding:11px 8px;background:#f3f6f5;border:1px solid #dce5e2;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px}
.consult-path-step strong{font-size:.88rem;line-height:1.4;color:#142b45}
.consult-path-step small{font-size:.76rem;line-height:1.4;color:#526477}
.consult-path-free{background:#edf3f7;border-color:#cbdbe5}
.consult-path-monthly{background:#e8f1ee;border-color:#b9d3ca}
.consult-path-arrow{flex:0 0 auto;color:#176c68;font-size:20px;font-weight:800}
@media(max-width:760px){
 .consult-path{padding:13px 10px}
 .consult-path-steps{gap:5px}
 .consult-path-step{padding:9px 4px;min-height:80px}
 .consult-path-step strong{font-size:.76rem}
 .consult-path-step small{font-size:.68rem}
 .consult-path-arrow{font-size:15px}
}
@media(max-width:480px){
 .consult-path-steps{flex-wrap:wrap;justify-content:flex-start}
 .consult-path-step{flex:1 1 38%;min-height:68px}
 .consult-path-arrow{flex:0 0 14px;text-align:center}
}

/* Ninth infographic: clarify core advisory support and case-by-case work */
.support-boundary-section{background:#f7f8f7}
.support-boundary-diagram{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);align-items:center;gap:14px;max-width:900px;margin:30px auto 0}
.support-boundary-card{height:100%;padding:25px 24px;background:#fff;border:1px solid #dce5e2;border-radius:10px}
.support-advice{background:#eaf2ef;border-color:#c9ddd5}
.support-boundary-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#d8eae3;color:#176c68;font-size:29px;font-weight:800}
.support-boundary-card h3{margin:15px 0 7px;font-size:1.05rem;color:#526477}
.support-boundary-card>strong{display:block;margin-bottom:14px;font-size:1.35rem;line-height:1.4;color:#142b45}
.support-boundary-card ul{margin:0;padding-left:1.2em;color:#40596b;line-height:1.9;font-size:.9rem}
.support-boundary-card small{display:block;margin-top:13px;color:#526477;font-size:.8rem;line-height:1.65}
.support-boundary-divider{text-align:center;color:#176c68;font-size:28px;font-weight:800}
.support-boundary-note{margin:20px 0 0;text-align:center;color:#176c68;font-weight:750;font-size:.95rem}
@media(max-width:650px){
 .support-boundary-diagram{grid-template-columns:1fr;gap:9px;max-width:460px;margin-top:23px}
 .support-boundary-card{padding:21px 18px}
 .support-boundary-divider{line-height:1;transform:rotate(90deg)}
 .support-boundary-card>strong{font-size:1.2rem}
}

/* Tenth infographic: FAQ overview grouped by topic */
.faq-intro{margin:-5px 0 22px;color:#526477;font-size:.92rem;line-height:1.65}
.faq-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 24px}
.faq-overview>div{min-height:118px;padding:17px 12px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px}
.faq-overview>div:nth-child(2){background:#eaf2ef}
.faq-overview-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#dcece6;color:#176c68;font-size:.72rem;font-weight:850}
.faq-overview strong{font-size:.88rem;line-height:1.45;color:#142b45}
.faq-overview small{font-size:.73rem;line-height:1.4;color:#526477}
.faq-detail-label{margin:0 0 10px;color:#176c68;font-size:.85rem;font-weight:800}
@media(max-width:560px){
 .faq-overview{grid-template-columns:1fr;gap:8px}
 .faq-overview>div{min-height:82px;display:grid;grid-template-columns:34px 1fr;justify-items:start;text-align:left;padding:13px 15px;column-gap:10px}
 .faq-overview-icon{grid-row:span 2}
 .faq-overview strong{align-self:end}
 .faq-overview small{align-self:start}
}

/* Functional FAQ category tabs */
.faq-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:22px 0 18px}
.faq-tab{appearance:none;border:1px solid #cbd7d3;border-radius:7px;background:#fff;color:#263f50;padding:13px 10px;font:inherit;font-size:.9rem;font-weight:750;line-height:1.4;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.faq-tab:hover{border-color:#176c68;background:#f0f6f3}
.faq-tab.is-active{background:#142b45;border-color:#142b45;color:#fff}
.faq-tab:focus-visible{outline:3px solid #75b9ad;outline-offset:3px}
.faq-panel{padding:20px 22px;background:#f6f8f7;border:1px solid #dce5e2;border-radius:9px}
.faq-panel-title{margin:0 0 14px;color:#142b45;font-size:1.08rem}
.faq-questions details{margin:0 0 9px;padding:0;background:#fff;border:1px solid #dce5e2;border-radius:7px;overflow:hidden}
.faq-questions details[hidden]{display:none!important}
.faq-questions summary{position:relative;padding:15px 42px 15px 16px;cursor:pointer;list-style:none;color:#142b45;font-weight:700;line-height:1.55}
.faq-questions summary::-webkit-details-marker{display:none}
.faq-questions summary:after{content:"＋";position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:1.1rem;color:#176c68}
.faq-questions details[open] summary:after{content:"−"}
.faq-questions details p{margin:0;padding:0 16px 16px;color:#40596b;font-size:.92rem;line-height:1.8}
@media(max-width:600px){
 .faq-tabs{grid-template-columns:1fr;gap:7px}
 .faq-tab{text-align:left;padding:12px 14px}
 .faq-panel{padding:16px 12px}
 .faq-questions summary{padding:13px 37px 13px 12px;font-size:.9rem}
 .faq-questions details p{padding:0 12px 13px;font-size:.88rem}
}

/* Eleventh infographic: consultation channels and escalation */
.support-contact-diagram{margin:23px 0 0;padding:19px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:9px}
.support-contact-step{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;padding:16px;background:#fff;border:1px solid #dce5e2;border-radius:8px}
.support-contact-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#e1efeb;color:#176c68;font-size:23px;font-weight:800}
.support-contact-kicker{display:block;margin-bottom:4px;color:#176c68;font-size:.7rem;font-weight:850;letter-spacing:.1em}
.support-contact-step h3{margin:0 0 6px;color:#142b45;font-size:1rem;line-height:1.45}
.support-contact-step p{margin:0;color:#526477;font-size:.88rem;line-height:1.7}
.support-contact-arrow{text-align:center;padding:4px 0;color:#176c68;font-size:22px;font-weight:800;line-height:1.2}
.support-contact-extra{background:#f8faf9;border-style:dashed;border-color:#b9cbc5}
@media(max-width:600px){
 .support-contact-diagram{padding:13px 10px}
 .support-contact-step{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:13px 11px}
 .support-contact-icon{width:39px;height:39px;font-size:20px}
 .support-contact-step h3{font-size:.94rem}
 .support-contact-step p{font-size:.84rem}
}

/* Twelfth improvement: replace dense pricing footnotes with scannable terms */
.price-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}
.price-note-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;padding:16px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:8px}
.price-note-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e1efeb;color:#176c68;font-size:18px;font-weight:800}
.price-note-card strong{display:block;margin:2px 0 6px;color:#142b45;font-size:.9rem}
.price-note-card p{margin:0;color:#526477;font-size:.8rem;line-height:1.65}
.price-note-tax{grid-column:1/-1;margin:0!important;padding:10px 2px 0;color:#526477;font-size:.8rem;line-height:1.6}
@media(max-width:700px){
 .price-notes{grid-template-columns:1fr;gap:8px}
 .price-note-card{padding:13px}
 .price-note-tax{grid-column:auto}
}

/* Thirteenth improvement: replace repetitive profile prose with two clear principles */
.profile-principles{display:grid;gap:11px;margin:20px 0 22px}
.profile-principle{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:15px 16px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:8px}
.profile-principle-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#e1efeb;color:#176c68;font-size:21px;font-weight:800}
.profile-principle strong{display:block;margin:2px 0 5px;color:#142b45;font-size:.96rem;line-height:1.45}
.profile-principle p{margin:0;color:#526477;font-size:.87rem;line-height:1.7}
@media(max-width:600px){
 .profile-principle{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:13px 11px}
 .profile-principle-icon{width:35px;height:35px;font-size:19px}
 .profile-principle p{font-size:.84rem}
}

/* Fourteenth improvement: remove repetitive service-scope prose around the contact flow */
.service-detail-lead{margin:0 0 14px;color:#40596b;font-size:.94rem;line-height:1.7}
.service-detail-note{margin:13px 0 0;padding:12px 14px;background:#f7f8f7;border-left:3px solid #176c68;color:#526477;font-size:.83rem;line-height:1.7}

/* Fifteenth improvement: focus the second-opinion diagram on what is reviewed */
.service-flow-section .section-lead{max-width:720px}
.service-flow-section .flow-result strong{line-height:1.5}

/* Sixteenth improvement: show monthly support as parallel options, not a sequence */
.monthly-flow-lead{margin:-5px 0 18px;color:#526477;font-size:.9rem;line-height:1.65}
.monthly-support-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.monthly-support-option{min-height:148px;padding:18px 13px;background:#fff;border:1px solid #dce5e2;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}
.monthly-support-option .monthly-flow-icon{width:46px;height:46px;margin:0;border-radius:50%;display:grid;place-items:center;background:#e1efeb;color:#176c68;font-size:23px}
.monthly-support-option strong{color:#142b45;font-size:.92rem;line-height:1.45}
.monthly-support-option small{color:#526477;font-size:.8rem;line-height:1.45}
.monthly-support-extra{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:14px 17px;background:#eaf2ef;border:1px solid #c9ddd5;border-radius:8px}
.monthly-support-extra span{color:#40596b;font-size:.88rem;font-weight:700}
.monthly-support-extra strong{color:#145f5b;font-size:1.05rem}
@media(max-width:650px){
 .monthly-support-options{grid-template-columns:1fr;gap:8px}
 .monthly-support-option{min-height:100px;display:grid;grid-template-columns:46px 1fr;justify-items:start;text-align:left;column-gap:12px;padding:13px 15px}
 .monthly-support-option .monthly-flow-icon{grid-row:span 2}
 .monthly-support-option strong{align-self:end}
 .monthly-support-option small{align-self:start}
 .monthly-support-extra{align-items:flex-start;flex-direction:column;gap:5px}
}

/* Seventeenth improvement: make the consultation steps easier to scan */
.consult-flow-steps{list-style:none;counter-reset:none;margin:26px auto 0;padding:0;max-width:920px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.consult-flow-step{position:relative;min-height:190px;padding:20px 15px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:9px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px}
.consult-flow-number{position:absolute;top:10px;left:12px;color:#66847d;font-size:.72rem;font-weight:850;letter-spacing:.08em}
.consult-flow-icon{width:48px;height:48px;margin-top:12px;display:grid;place-items:center;border-radius:50%;background:#e1efeb;color:#176c68;font-size:23px;font-weight:800}
.consult-flow-step h3{margin:0;color:#142b45;font-size:.96rem;line-height:1.45}
.consult-flow-step p{margin:0;color:#526477;font-size:.82rem;line-height:1.6}
.consult-flow-step-final{background:#eaf2ef;border-color:#c9ddd5}
@media(max-width:760px){
 .consult-flow-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .consult-flow-step{min-height:160px;padding:17px 12px}
}
@media(max-width:480px){
 .consult-flow-steps{grid-template-columns:1fr;gap:8px;max-width:480px}
 .consult-flow-step{min-height:0;display:grid;grid-template-columns:42px 40px minmax(0,1fr);align-items:center;text-align:left;padding:13px 12px;column-gap:10px}
 .consult-flow-number{position:static;grid-column:1;grid-row:1/3}
 .consult-flow-icon{grid-column:2;grid-row:1/3;width:38px;height:38px;margin:0;font-size:19px}
 .consult-flow-step h3{grid-column:3;align-self:end;font-size:.92rem}
 .consult-flow-step p{grid-column:3;align-self:start;font-size:.8rem}
}

/* Eighteenth improvement: make the final consultation CTA's next steps explicit */
.final-cta-flow{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin:23px auto 5px;color:#fff}
.final-cta-flow span:not(.final-cta-flow-arrow){padding:9px 13px;border:1px solid #526779;border-radius:6px;background:rgba(255,255,255,.06);font-size:.86rem;font-weight:700}
.final-cta-flow-arrow{color:#9cc9c4;font-size:1.1rem;font-weight:800}
@media(max-width:560px){
 .final-cta{padding:58px 0}
 .final-cta-flow{flex-direction:column;gap:5px;margin:18px auto 8px}
 .final-cta-flow span:not(.final-cta-flow-arrow){width:min(100%,280px)}
 .final-cta-flow-arrow{transform:rotate(90deg);line-height:1.1}
}

/* Nineteenth improvement: group the inquiry form by purpose */
.contact-form .form-group{min-width:0;margin:0;padding:20px 20px 5px;border:1px solid #dce5e2;border-radius:9px;background:#f8faf9}
.contact-form .form-group legend{padding:0 8px;color:#142b45;font-size:1.05rem;font-weight:800}
.form-group-note{margin:-3px 0 17px;color:#526477;font-size:.84rem;line-height:1.6}
.contact-form .form-group>label{margin-bottom:16px}
@media(max-width:560px){
 .contact-form .form-group{padding:16px 12px 2px}
 .contact-form .form-group legend{font-size:1rem}
}

/* Twenty-first improvement: structure the second-opinion service explanation */
.second-opinion-points{display:grid;gap:10px;margin:4px 0}
.second-opinion-point{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:start;padding:14px 15px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:8px}
.second-opinion-number{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#e1efeb;color:#176c68;font-size:.76rem;font-weight:850}
.second-opinion-point strong{display:block;margin:2px 0 5px;color:#142b45;font-size:.94rem;line-height:1.45}
.second-opinion-point p{margin:0;color:#526477;font-size:.86rem;line-height:1.7}
@media(max-width:600px){
 .second-opinion-point{grid-template-columns:32px minmax(0,1fr);gap:9px;padding:12px 11px}
 .second-opinion-number{width:31px;height:31px;font-size:.7rem}
 .second-opinion-point p{font-size:.83rem}
}

/* Twenty-second improvement: separate case-study outcome from technical details */
.work-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 18px}
.work-summary-result{padding:15px 16px;background:#eaf2ef;border:1px solid #c9ddd5;border-radius:8px}
.work-summary-label{display:block;margin-bottom:6px;color:#176c68;font-size:.72rem;font-weight:850;letter-spacing:.04em}
.work-summary-result strong{display:block;color:#142b45;font-size:.93rem;line-height:1.55}
.work-detail-heading{margin:18px 0 9px;color:#142b45;font-size:.88rem;font-weight:800}
@media(max-width:600px){
 .work-summary{grid-template-columns:1fr;gap:8px}
 .work-summary-result{padding:13px}
 .work-summary-result strong{font-size:.88rem}
}

/* Twenty-third improvement: clarify that additional work is optional, not bundled */
.support-boundary-divider{font-size:.76rem!important;font-weight:800;line-height:1.5;color:#176c68!important;text-align:center}
.support-boundary-divider span{display:inline-block;margin-top:3px;padding:3px 8px;border-radius:20px;background:#eaf2ef;color:#145f5b;font-size:.72rem}
@media(max-width:650px){
 .support-boundary-divider{padding:7px 0}
}

/* Hero service image: consultation scene */
.hero-visual.hero-photo{min-height:460px;overflow:hidden;display:block;border-radius:10px;background:#eaf1ef;box-shadow:0 18px 45px rgba(20,38,61,.12)}
.hero-visual.hero-photo img{display:block;width:100%;height:100%;min-height:460px;object-fit:cover;object-position:center 35%;border-radius:10px}
.hero-photo-caption{position:absolute;left:18px;bottom:18px;padding:10px 15px;border-radius:5px;background:rgba(17,43,62,.88);color:#fff;font-size:.9rem;font-weight:750;letter-spacing:.02em}
@media(max-width:760px){
 .hero-visual.hero-photo{min-height:340px;margin-top:20px}
 .hero-visual.hero-photo img{min-height:340px;max-height:420px;object-position:center 30%}
}

/* Hero background composition with editable HTML copy and real CTA links */
.hero.hero-background{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background-image:
    linear-gradient(90deg, rgba(247,250,249,.98) 0%, rgba(247,250,249,.95) 39%, rgba(247,250,249,.76) 55%, rgba(247,250,249,.10) 78%, rgba(247,250,249,0) 100%),
    url("../images/hero-background.jpg");
  background-size:cover;
  background-position:center right;
}
.hero-background-inner{position:relative;z-index:1;width:100%;padding-top:76px;padding-bottom:76px}
.hero-overlay-copy{max-width:690px;padding:26px 0}
.hero-background .eyebrow{color:#176c68;font-weight:850;letter-spacing:.12em}
.hero-background h1{font-size:clamp(2.35rem,4.5vw,3.75rem);line-height:1.38;letter-spacing:-.035em;color:#102c42;margin:18px 0 20px}
.hero-background h1 span{color:#176c68}
.hero-background .hero-lead{max-width:610px;color:#334f60;font-size:1.02rem;line-height:1.85}
.hero-benefits{display:grid;gap:9px;list-style:none;margin:22px 0 26px;padding:0;color:#17394b;font-weight:750;font-size:.96rem}
.hero-benefits li{position:relative;padding-left:29px;line-height:1.55}
.hero-benefits li:before{content:"✓";position:absolute;left:0;top:0;color:#087b78;font-size:1.2rem;font-weight:900}
.hero-background .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.hero-background .button{min-height:56px;padding:14px 22px;border-radius:6px}
.hero-background .button-outline{background:rgba(255,255,255,.9);border:1px solid #176c68;color:#14535a}
.hero-background .hero-note{color:#506675;font-size:.78rem;margin-top:13px}
@media(max-width:760px){
 .hero.hero-background{min-height:0;background-image:linear-gradient(180deg,rgba(248,250,249,.97) 0%,rgba(248,250,249,.94) 58%,rgba(248,250,249,.45) 100%),url("../images/hero-background.jpg");background-position:62% center}
 .hero-background-inner{padding-top:48px;padding-bottom:250px}
 .hero-overlay-copy{padding:0}
 .hero-background h1{font-size:clamp(1.8rem,7vw,2.45rem);line-height:1.5}
 .hero-background .hero-lead{font-size:.92rem;line-height:1.8}
 .hero-benefits{font-size:.88rem;gap:8px}
 .hero-background .hero-actions{align-items:stretch;flex-direction:column}
 .hero-background .hero-actions .button{width:100%}
}


/* Hero responsive refinement: keep the consultant's face visible and give copy room */
.hero.hero-background{
  min-height:640px;
  background-color:#f5f8f7;
  background-image:
    linear-gradient(90deg,
      rgba(247,250,249,1) 0%,
      rgba(247,250,249,.99) 32%,
      rgba(247,250,249,.90) 45%,
      rgba(247,250,249,.48) 58%,
      rgba(247,250,249,.04) 74%,
      rgba(247,250,249,0) 100%),
    url("../images/hero-background.jpg");
  background-size:100% 100%, 58% auto;
  background-repeat:no-repeat;
  background-position:center, right 15%;
}
.hero-background-inner{
  width:min(100% - 104px, 1450px);
  margin-inline:auto;
  padding:58px 0 62px;
}
.hero-overlay-copy{max-width:680px;padding:18px 0}
.hero-background h1{font-size:clamp(2.25rem,3.65vw,3.35rem);line-height:1.38;margin:16px 0 18px}
.hero-background .hero-lead{max-width:590px;line-height:1.75}
.hero-benefits{margin:18px 0 22px;gap:8px}
.hero-background .hero-actions{margin-top:20px}
@media(max-width:1050px) and (min-width:761px){
 .hero.hero-background{background-size:100% 100%, 64% auto;background-position:center,right 12%}
 .hero-background-inner{width:calc(100% - 72px)}
 .hero-overlay-copy{max-width:610px}
 .hero-background h1{font-size:clamp(2.05rem,4vw,2.8rem)}
}
@media(max-width:760px){
 .hero.hero-background{
   min-height:0;
   display:block;
   background-color:#f7faf9;
   background-image:none;
   isolation:isolate;
 }
 .hero.hero-background:after{
   content:"";
   position:absolute;
   z-index:-1;
   left:0;right:0;bottom:0;
   height:180px;
   background-image:
     linear-gradient(180deg,rgba(247,250,249,1) 0%,rgba(247,250,249,.35) 32%,rgba(247,250,249,0) 100%),
     url("../images/hero-background.jpg");
   background-size:100% 100%,100% auto;
   background-repeat:no-repeat;
   background-position:center,bottom center;
 }
 .hero-background-inner{
   width:calc(100% - 40px);
   padding:28px 0 184px;
 }
 .hero-overlay-copy{max-width:none;padding:0}
 .hero-background .eyebrow{font-size:.68rem;letter-spacing:.08em;line-height:1.5}
 .hero-background h1{
   font-size:clamp(1.62rem,6.2vw,2.05rem);
   line-height:1.42;
   letter-spacing:-.025em;
   margin:12px 0 13px;
 }
 .hero-background .hero-lead{font-size:.88rem;line-height:1.65}
 .hero-benefits{font-size:.83rem;gap:6px;margin:14px 0 16px}
 .hero-benefits li{padding-left:23px;line-height:1.45}
 .hero-background .hero-actions{flex-direction:column;align-items:stretch;gap:8px;margin-top:14px}
 .hero-background .hero-actions .button{width:100%;min-height:48px;padding:11px 15px;font-size:.9rem}
 .hero-background .hero-note{font-size:.72rem;line-height:1.5;margin-top:9px}
}
@media(max-width:380px){
 .hero-background-inner{width:calc(100% - 32px);padding-top:22px;padding-bottom:165px}
 .hero-background h1{font-size:1.55rem}
 .hero-background .eyebrow{font-size:.62rem}
 .hero-benefits{font-size:.78rem}
 .hero.hero-background:after{height:160px}
}


/* Mobile hero: no background photo on small screens */
@media(max-width:760px){
  .hero.hero-background{
    background-image:none !important;
    background-color:#f7faf9;
  }
  .hero.hero-background:after{
    display:none !important;
    content:none !important;
  }
  .hero-background-inner{
    padding-bottom:30px !important;
  }
}


/* Top page final pass: stable desktop image framing and balanced text margins */
@media(min-width:761px){
  .hero.hero-background{
    background-size:100% 100%, clamp(620px, 58vw, 900px) auto;
    background-position:center, right center;
  }
  .hero-background-inner{
    width:min(calc(100% - 112px), 1380px);
    padding-top:64px;
    padding-bottom:64px;
  }
  .hero-overlay-copy{
    max-width:650px;
  }
}


/* Desktop headline wrap fix: prevent a single Japanese character from dropping */
@media(min-width:1200px){
  .hero-overlay-copy{max-width:820px}
  .hero-background h1{
    max-width:820px;
    font-size:clamp(2.45rem,3.15vw,3.15rem);
    line-height:1.34;
    letter-spacing:-.045em;
  }
  .hero-background h1 span{white-space:nowrap}
}
@media(min-width:761px) and (max-width:1199px){
  .hero-overlay-copy{max-width: min(68vw, 720px)}
  .hero-background h1{
    font-size:clamp(2rem,3.5vw,2.7rem);
    line-height:1.38;
  }
}


/* Service clarity: phrase the three review areas as questions visitors recognize */
#service .second-opinion-point strong{
  font-size:clamp(.94rem,1.2vw,1.04rem);
  line-height:1.5;
}
#service .second-opinion-point p{
  line-height:1.75;
}


/* Scope labels: make the distinction between advice and separately assessed work explicit */
.support-boundary-card h3{
  line-height:1.5;
  min-height:3em;
}
@media(max-width:650px){
  .support-boundary-card h3{min-height:0}
}

/* Improvements 27–30 */
.audience-section{background:#f7faf9}
.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.audience-card{padding:24px;background:#fff;border:1px solid #dce7e2;border-radius:10px}
.audience-number{display:inline-grid;place-items:center;width:34px;height:34px;margin-bottom:12px;border-radius:50%;background:#e1efeb;color:#176c68;font-size:.78rem;font-weight:850}
.audience-card h3{margin:0 0 9px;color:#142b45;font-size:1.08rem}
.audience-card p{margin:0;color:#526477;line-height:1.75;font-size:.92rem}
.support-boundary-note{margin-top:18px;padding:17px 19px;background:#f2f6f5;border-left:4px solid #176c68;border-radius:5px}
.support-boundary-note strong{display:block;color:#142b45;margin-bottom:6px}
.support-boundary-note p{margin:0;color:#526477;font-size:.9rem;line-height:1.75}
.price-choice-guide{margin:22px 0 26px;padding:22px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:10px}
.price-choice-guide h3{margin:0 0 15px;color:#142b45;font-size:1.08rem}
.price-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.price-choice-grid>div{display:flex;flex-direction:column;gap:7px;padding:14px;background:#fff;border-radius:7px}
.price-choice-grid strong{color:#334f60;font-size:.86rem;line-height:1.5}
.price-choice-grid span{color:#176c68;font-weight:800;font-size:.9rem;line-height:1.5}
.price-choice-guide>p{margin:13px 0 0;color:#526477;font-size:.82rem;line-height:1.65}
@media(max-width:650px){.audience-grid,.price-choice-grid{grid-template-columns:1fr}.audience-card{padding:18px}.price-choice-guide{padding:16px}}

/* Improvements 31–35 */
.pricing-terms-summary{margin:20px 0;padding:20px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:10px}
.pricing-terms-summary h3{margin:0 0 13px;color:#142b45;font-size:1.05rem}
.pricing-terms-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.pricing-terms-grid>div{display:flex;flex-direction:column;gap:6px;padding:12px;background:#fff;border-radius:7px}
.pricing-terms-grid strong{font-size:.78rem;color:#526477}
.pricing-terms-grid span{font-size:.88rem;font-weight:800;color:#176c68;line-height:1.5}
.pricing-terms-summary>p{margin:12px 0 0;color:#526477;font-size:.82rem;line-height:1.7}
.profile-intro{margin:14px 0 18px;color:#435b6b;font-size:.94rem;line-height:1.85}
.work-case-intro{margin:8px 0 15px;color:#526477;font-size:.9rem;line-height:1.75}
.consult-flow-options{margin-top:28px;padding:22px;background:#f2f6f5;border:1px solid #dce7e2;border-radius:10px}
.consult-flow-options h3{margin:0 0 16px;color:#142b45;font-size:1.05rem}
.consult-flow-option{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin:9px 0;padding:12px;background:#fff;border-radius:7px}
.consult-flow-option strong{color:#176c68;font-size:.84rem}
.consult-flow-option span{color:#83949e}
.consult-flow-options>p{margin:13px 0 0;color:#526477;font-size:.82rem;line-height:1.7}
@media(max-width:760px){.pricing-terms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.consult-flow-option{justify-content:flex-start;gap:6px}.consult-flow-option strong{font-size:.77rem}}
@media(max-width:420px){.pricing-terms-summary{padding:15px}.pricing-terms-grid{grid-template-columns:1fr 1fr}}


/* Improvements 36–40: form, policy, navigation, responsive and SEO support */
.main-nav{gap:clamp(10px,1.35vw,20px)}
.main-nav a{white-space:nowrap}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 20px}
.contact-form fieldset{min-width:0}
.contact-form select{display:block;width:100%;margin-top:7px;border:1px solid #ccd5db;border-radius:3px;padding:13px 14px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.contact-form select:focus{outline:2px solid rgba(40,125,120,.2);border-color:var(--teal)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:1100px) and (min-width:701px){
 .main-nav{gap:9px}
 .main-nav a{font-size:.72rem}
 .brand-name{font-size:1rem}
}
@media(max-width:700px){
 .main-nav a{white-space:normal;min-height:44px;display:flex;align-items:center}
 .footer-links{gap:10px 16px}
 .form-page{padding:22px 0}
 .form-shell{width:calc(100% - 28px);padding:26px 20px}
 .form-shell h1{font-size:1.55rem;line-height:1.45}
 .contact-form{gap:15px}
 .contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{font-size:16px;padding:12px}
 .contact-form fieldset{padding:16px 13px}
 .confirm-list{grid-template-columns:1fr;gap:4px}
 .confirm-list dd{margin:0 0 12px}
}


/* Mobile hero: reuse the exact same PC hero image asset */
@media(max-width:760px){
  .hero.hero-background{
    position:relative;
    display:block;
    min-height:0;
    overflow:hidden;
    background:#f7faf9 !important;
    background-image:none !important;
    isolation:isolate;
    padding-top:0;
  }
  .hero.hero-background:before{
    content:"";
    display:block;
    width:100%;
    height:85px;
    background-image:url("../images/mobile-hero-extended.jpg");
    background-repeat:no-repeat;
    background-size:cover;
    background-position:right 18%;
  }
  .hero.hero-background:after{
    display:none !important;
    content:none !important;
  }
  .hero-background-inner{
    width:calc(100% - 40px);
    margin-inline:auto;
    padding:24px 0 32px !important;
  }
  .hero-overlay-copy{max-width:none;padding:0}
}
@media(max-width:380px){
  .hero.hero-background:before{
    height:75px;
    background-position:right 18%;
  }
  .hero-background-inner{width:calc(100% - 32px)}
}

/* Updates: profile, free consultation, FAQ, operator info */
.profile-intro + .profile-intro{margin-top:10px}
.footer-address{margin-top:12px;color:#c6d2dc;font-size:.8rem;font-style:normal;line-height:1.8}
