  /* ---- hero ---- */
  .fhero{padding:70px 0 60px; text-align:center;}
  .fhero h1{ font-size:clamp(2.1rem,4vw,3.1rem); font-weight:600; line-height:1.12; max-width:820px; margin:16px auto 22px; }
  .fhero h1 em{font-style:italic; color:var(--vermilion);}
  .fhero p{ max-width:640px; margin:0 auto 34px; color:var(--ink-soft); font-size:17px; }
  .fhero .hero-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

  .skyline{width:100%; display:block; height:56px;}

  /* ---- intro ---- */
  .intro{padding:70px 0 20px; text-align:center;}
  .intro h2{font-size:clamp(1.7rem,2.8vw,2.3rem); font-weight:600; margin:14px 0 18px;}
  .intro p{max-width:700px; margin:0 auto; color:var(--ink-soft); font-size:16.5px;}

  /* ---- story (text + art card, like zigzag) ---- */
  .detail-row{ padding:70px 0; }
  .detail-row:nth-child(even){background:var(--bg-alt);}
  .detail-inner{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  .detail-row.flip .detail-inner{direction:rtl;}
  .detail-row.flip .detail-inner > *{direction:ltr;}
  .detail-num{ font-family:'Fraunces',serif; font-size:14px; font-weight:700; color:var(--gold); letter-spacing:.08em; }
  .detail-text h3{font-size:clamp(1.5rem,2.4vw,1.9rem); font-weight:600; margin:10px 0 12px;}
  .detail-text > p.lede{color:var(--ink-soft); font-size:16px; margin:0 0 22px; max-width:480px;}

  .detail-art{ position:relative; }
  .art-card{ background:var(--maroon-deep); border-radius:26px; padding:34px 30px; color:#F2E4CB; box-shadow:var(--shadow); min-height:260px; display:flex; flex-direction:column; justify-content:space-between; }
  .art-card .art-icon{ width:54px;height:54px; border-radius:16px; background:rgba(232,196,104,0.16); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
  .art-card .art-icon svg{width:28px;height:28px; color:var(--gold-light);}
  .art-card .art-title{font-family:'Fraunces',serif; font-size:19px; font-weight:600; color:#F7E9C9; margin-bottom:8px;}
  .art-card .art-sub{font-size:13.5px; color:rgba(242,228,203,0.7); line-height:1.6;}
  .art-mini{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}
  .art-mini span{ background:rgba(251,243,231,0.08); border:1px solid rgba(251,243,231,0.14); border-radius:10px; padding:8px 12px; font-size:11.5px; }

  @media (max-width:900px){
    .detail-inner{grid-template-columns:1fr;}
    .detail-row.flip .detail-inner{direction:ltr;}
  }

  /* ---- vision & mission ---- */
  .vm{padding:90px 0; background:var(--bg-deep);}
  .vm-grid{display:grid; grid-template-columns:1fr 1.3fr; gap:24px; margin-top:46px; align-items:stretch;}
  .vm-card{ background:var(--maroon-deep); border-radius:22px; padding:38px 34px; color:#F2E4CB; box-shadow:var(--shadow); display:flex; flex-direction:column; justify-content:center; }
  .vm-card .plan-tag{font-family:'Fraunces',serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-light); font-weight:600;}
  .vm-card h3{color:#F7E9C9; font-size:24px; margin:10px 0 12px;}
  .vm-card p{color:rgba(242,228,203,0.78); font-size:15px; margin:0;}
  .mission-card{ background:var(--bg); border-radius:22px; padding:38px 34px; border:1px solid var(--line); }
  .mission-card .plan-tag{font-family:'Fraunces',serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--vermilion); font-weight:600;}
  .mission-card h3{font-size:24px; margin:10px 0 20px;}
  .mission-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 24px;}
  .mission-list li{display:flex; gap:10px; font-size:14.5px; align-items:flex-start; color:var(--ink-soft);}
  .mission-list svg{width:17px;height:17px; margin-top:2px; flex-shrink:0; color:var(--teal);}
  @media (max-width:900px){ .vm-grid{grid-template-columns:1fr;} .mission-list{grid-template-columns:1fr;} }

  /* ---- offer / why-choose grid (shared card style) ---- */
  .more-features{padding:100px 0;}
  .section-head{ text-align:center; margin-bottom:48px; }
  .section-head h2{font-size:clamp(1.7rem,2.8vw,2.3rem); font-weight:600; margin-top:14px;}
  .section-head p{max-width:640px; margin:14px auto 0; color:var(--ink-soft); font-size:16px;}
  .more-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .more-card{ background:var(--bg-alt); border-radius:var(--radius); padding:28px 26px; border:1px solid var(--line); transition:transform .3s ease, box-shadow .3s ease, background .3s ease; }
  .more-card:hover{transform:translateY(-6px); box-shadow:var(--shadow); background:#fff;}
  .more-icon{ width:48px;height:48px; border-radius:12px; background:var(--maroon-deep); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
  .more-icon svg{width:24px;height:24px; color:var(--gold-light);}
  .more-card h3{font-size:18px; font-weight:600; margin-bottom:8px;}
  .more-card > p.d{font-size:14px; color:var(--ink-soft); margin:0;}
  @media (max-width:1000px){ .more-grid{grid-template-columns:1fr 1fr;} }
  @media (max-width:600px){ .more-grid{grid-template-columns:1fr;} }

  /* ---- why choose (checklist) ---- */
  .why{padding:90px 0; background:var(--bg-alt);}
  .why-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px 30px; margin-top:46px; max-width:920px; margin-left:auto; margin-right:auto;}
  .why-item{display:flex; gap:14px; align-items:flex-start; background:var(--bg); border:1px solid var(--line); border-radius:16px; padding:18px 20px;}
  .why-item .why-ic{width:34px;height:34px; border-radius:10px; background:rgba(193,68,14,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .why-item .why-ic svg{width:18px;height:18px; color:var(--vermilion);}
  .why-item span{font-size:15px; color:var(--ink); font-weight:500; padding-top:6px;}
  @media (max-width:800px){ .why-grid{grid-template-columns:1fr;} }

  /* ---- commitment (quote band) ---- */
  .commitment{padding:100px 0; text-align:center; background:var(--maroon-deep); color:#F2E4CB; position:relative; overflow:hidden;}
  .commitment .eyebrow{color:var(--gold-light); justify-content:center;}
  .commitment .eyebrow::before{background:var(--gold-light);}
  .commitment blockquote{ font-family:'Fraunces',serif; font-style:italic; font-weight:500; font-size:clamp(1.4rem,2.6vw,2rem); line-height:1.5; max-width:780px; margin:20px auto 0; color:#F7E9C9; }
  .commitment .tagline{margin-top:28px; font-family:'Fraunces',serif; font-style:italic; color:var(--gold-light); font-size:16px;}

  /* ---- final CTA ---- */
  .final-cta{ padding:100px 0; text-align:center; }
  .final-cta h2{font-size:clamp(2rem,3.6vw,2.8rem); margin:18px 0 14px;}
  .final-cta p{max-width:560px; margin:0 auto 34px; color:var(--ink-soft);}
  .final-cta .hero-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

