/* ===== Page ===== */
.main{padding-top:64px;}
.breadcrumb{border-bottom:1px solid var(--border);background:var(--background);}
.breadcrumb ol{display:flex;align-items:center;gap:.5rem;padding:1rem 0;font-size:.875rem;color:var(--muted-foreground);}
.breadcrumb li{display:flex;align-items:center;}
.breadcrumb a:hover{color:var(--primary);}
.breadcrumb .icon{width:16px;height:16px;}
.breadcrumb .current{color:var(--foreground);font-weight:500;}
.title-band{background:linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.5)),url('../images/flow/flow-title.jpg') center/cover no-repeat;}
.title-band .container{padding:3.5rem 1rem;text-align:center;}
.title-en{font-size:.875rem;font-weight:500;color:var(--accent);letter-spacing:.1em;margin-bottom:.75rem;}
.title-ja{font-size:1.875rem;font-weight:700;color:var(--primary);}

/* Sections */
.section{padding:3.5rem 0;}
.section-bg{background:var(--background);}
.section-alt{background:var(--secondary);}
.section-pb0{padding-bottom:0;}

/* Lead */
.lead{max-width:48rem;margin:0 auto;text-align:center;}
.lead h2{font-size:1.5rem;font-weight:700;color:var(--primary);line-height:1.7;}
.lead p{margin-top:1.5rem;font-size:1.0625rem;line-height:2;color:#323b44;}

/* Free estimate highlight */
.highlight{max-width:48rem;margin:0 auto;border-left:4px solid #ce5914;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.08);padding:1.25rem 1.5rem;text-align:left;}
.highlight h2{font-size:1.125rem;font-weight:700;color:#013d71;}
.highlight p{margin-top:1rem;font-size:1rem;line-height:2;color:#323b44;}

/* Timeline */
.timeline{max-width:64rem;margin:0 auto;}
.tl-item{position:relative;display:flex;gap:1.25rem;}
.tl-col{display:flex;flex-direction:column;align-items:center;}
.tl-num{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background:var(--primary);color:var(--primary-foreground);font-size:1.125rem;font-weight:700;box-shadow:0 4px 6px rgba(0,0,0,.12);}
.tl-line{margin-top:.5rem;width:2px;flex-grow:1;background:rgba(0,61,113,.25);}
.tl-content{padding-bottom:3rem;}
.tl-item:last-child .tl-content{padding-bottom:0;}
.tl-grid{display:grid;gap:1.25rem;}
.tl-step{font-size:.875rem;font-weight:500;color:#ce5914;letter-spacing:.1em;}
.tl-title{margin-top:.25rem;font-size:1.25rem;font-weight:700;color:var(--primary);}
.tl-desc{margin-top:.75rem;font-size:1.125rem;line-height:1.7;color:#323b44;}
.tl-image{aspect-ratio:4/3;width:100%;overflow:hidden;border-radius:0;background:var(--muted);box-shadow:0 1px 3px rgba(0,0,0,.08);}
.tl-image img{width:100%;height:100%;object-fit:cover;}

/* CTA */
.page-cta{text-align:center;}
.btn-cta{background:#ce5914;color:var(--accent-foreground);font-weight:700;padding:.625rem 2.5rem;font-size:1rem;}
.btn-cta:hover{background:#fff;color:#013d71;}
.btn-cta .icon{width:20px;height:20px;}


/* ===== Responsive (flow page specific) ===== */
@media(min-width:1024px){
  .main{padding-top:80px;}
  .title-band .container{padding:5rem 1rem;}
  .title-ja{font-size:2.25rem;}
  .section{padding:5rem 0;}
  .lead h2{font-size:1.875rem;}
  .highlight{padding:2.5rem;}
  .highlight h2{font-size:1.25rem;}
  .highlight p{font-size:1.125rem;}
  .tl-item{gap:2rem;}
  .tl-content{padding-bottom:4rem;}
  .tl-grid{grid-template-columns:1fr 1fr;align-items:center;gap:2rem;}
  .tl-title{font-size:1.5rem;}
}
