/* =========================================================
   SERVICE / INNER PAGE · 服务页与内页通用样式
========================================================= */

/* Page Hero */
.page-hero{
  position:relative;
  padding:140px 0 100px;
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.page-hero .container{
  position:relative;
}
.page-hero .crumb{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:var(--muted);letter-spacing:.06em;
  margin-bottom:44px;
}
.page-hero .crumb a{transition:color .25s}
.page-hero .crumb a:hover{color:var(--gold)}
.page-hero .crumb span{opacity:.4}
.page-hero .kicker{
  display:inline-flex;align-items:center;gap:12px;
  font-size:10px;color:var(--gold);letter-spacing:.25em;
  text-transform:uppercase;margin-bottom:24px;
}
.page-hero .kicker::before{content:"";width:32px;height:1px;background:var(--gold)}
.page-hero h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(46px,5.4vw,76px);
  line-height:1.12;letter-spacing:-.04em;
  max-width:900px;
}
.page-hero h1 em{color:var(--gold);font-style:normal}
.page-hero .lead{
  max-width:620px;margin-top:30px;
  color:#766E60;font-size:16px;line-height:2;
}

/* =========================================================
   桌面端（≥900px）：Hero 两栏
   左列 62%：kicker + 大标题
   右列 38%：引言（垂直居中，左侧带竖线）
========================================================= */
@media(min-width:900px){
  .page-hero:not(.page-hero--image) .container{
    display:grid;
    grid-template-columns:1.65fr 1fr;
    column-gap:0;
    align-items:start;
  }
  .page-hero:not(.page-hero--image) .crumb{
    grid-column:1 / -1;
    grid-row:1;
    align-self:start;
  }
  .page-hero:not(.page-hero--image) .kicker{
    grid-column:1;
    grid-row:2;
    align-self:start;
    padding-right:50px;
    margin-bottom:26px;
  }
  .page-hero:not(.page-hero--image) h1{
    grid-column:1;
    grid-row:3;
    align-self:start;
    max-width:none;
    padding-right:50px;
    font-size:clamp(38px,4.2vw,58px);
    line-height:1.15;
  }
  .page-hero:not(.page-hero--image) .lead{
    grid-column:2;
    grid-row:2 / 4;
    align-self:center;
    margin-top:0;
    max-width:none;
    font-size:13.5px;
    line-height:2.1;
    color:#7A7265;
    padding-left:50px;
    border-left:1px solid var(--line);
  }
}

/* Hero with background image（目的地页） */
.page-hero--image{
  background-size:cover;
  background-position:center;
  padding:200px 0 130px;
  border-bottom:none;
}
.page-hero--image .kicker{color:var(--gold-light)}
.page-hero--image .kicker::before{background:var(--gold-light)}
.crumb-light,
.crumb-light a{color:rgba(255,252,246,.7)}
.crumb-light a:hover{color:var(--gold-light)}
.crumb-light span{color:rgba(255,252,246,.4)}

/* Intro layout */
.intro{padding:130px 0;background:var(--paper)}
.intro-layout{
  display:grid;grid-template-columns:1fr 1fr;
  gap:100px;align-items:center;
}
.intro-text h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(36px,4.2vw,54px);
  line-height:1.18;letter-spacing:-.03em;
  margin-bottom:32px;
}
.intro-text h2 em{color:var(--gold);font-style:normal}
.intro-text p{
  color:#4A4234;font-size:15px;line-height:2.1;
  margin-bottom:20px;
}
.intro-visual{
  position:relative;aspect-ratio:4/5;
  overflow:hidden;border-radius:4px;
  background:var(--paper-2);
}
.intro-visual img{width:100%;height:100%;object-fit:cover}

/* Focus cards */
.focus{padding:130px 0;background:var(--white)}
.focus-heading{margin-bottom:65px;max-width:760px}
.focus-heading h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(36px,4.2vw,54px);
  line-height:1.15;letter-spacing:-.03em;
}
.focus-heading h2 em{color:var(--gold);font-style:normal}
.focus-heading p{
  margin-top:24px;color:var(--muted);
  font-size:14px;line-height:2;
}
.focus-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.focus-card{
  padding:44px 36px 40px;
  background:var(--paper);
  border:1px solid var(--line);
  transition:.4s;
}
.focus-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(42,36,24,.06);
  border-color:var(--line-dark);
}
.focus-card .num{
  font-family:var(--serif);color:var(--gold);
  font-size:16px;margin-bottom:24px;
}
.focus-card h3{
  font-family:var(--serif);font-weight:400;
  font-size:24px;line-height:1.25;margin-bottom:18px;
}
.focus-card p{
  color:#7A7265;font-size:13px;line-height:1.9;
}

/* =========================================================
   DESTINATIONS LARGE
========================================================= */
.destinations-large{padding:130px 0;background:var(--paper-2)}
.dest-large-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:24px;margin-top:60px;
}
.dest-large-card{
  display:flex;flex-direction:column;
  background:var(--white);
  border:1px solid var(--line);
  overflow:hidden;
  transition:.4s;
}
.dest-large-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(42,36,24,.08);
  border-color:var(--line-dark);
}
.dest-large-fig{
  aspect-ratio:16/10;overflow:hidden;
  background:var(--paper-2);
}
.dest-large-fig img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.85);
  transition:transform .9s,filter .9s;
}
.dest-large-card:hover .dest-large-fig img{
  transform:scale(1.05);
  filter:saturate(1);
}
.dest-large-body{padding:34px 36px 38px}
.dest-large-tag{
  font-size:9px;color:var(--gold);
  letter-spacing:.22em;text-transform:uppercase;
  margin-bottom:14px;
}
.dest-large-body h3{
  font-family:var(--serif);font-weight:400;
  font-size:28px;line-height:1.25;
  margin-bottom:14px;
}
.dest-large-body p{
  color:#7A7265;font-size:13.5px;
  line-height:1.9;margin-bottom:22px;
}
.dest-large-link{
  color:var(--gold);font-size:11px;
  letter-spacing:.1em;
  transition:letter-spacing .3s;
}
.dest-large-card:hover .dest-large-link{
  letter-spacing:.18em;
}

/* Stages（深色） */
.stages{padding:130px 0;background:var(--ink);color:white}
.stages-heading{
  display:grid;grid-template-columns:1fr .8fr;gap:100px;
  align-items:end;margin-bottom:70px;
}
.stages-heading h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(36px,4.2vw,54px);
  line-height:1.15;letter-spacing:-.03em;
}
.stages-heading h2 em{color:var(--gold-light);font-style:normal}
.stages-heading p{
  color:rgba(255,255,255,.55);
  font-size:14px;line-height:2;
}
.stages-list{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.stage-item{
  padding:42px 34px;
  border-right:1px solid rgba(255,255,255,.1);
}
.stage-item:last-child{border-right:none}
.stage-item .stage-tag{
  font-family:var(--serif);color:var(--gold-light);
  font-size:14px;letter-spacing:.05em;
}
.stage-item h3{
  margin-top:50px;
  font-family:var(--serif);font-weight:400;
  font-size:26px;line-height:1.25;
}
.stage-item p{
  margin-top:18px;
  color:rgba(255,255,255,.5);
  font-size:12.5px;line-height:1.9;
}

/* About Feature */
.about-feature{
  display:grid;grid-template-columns:1fr 1.2fr;
  gap:80px;align-items:center;
  margin-top:20px;
}
.about-feature-visual{position:relative}
.about-feature-photo{
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:4px;
  background:rgba(255,255,255,.04);
}
.about-feature-photo img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.85);
}
.about-feature-tag{
  position:absolute;left:22px;bottom:22px;
  font-size:9px;letter-spacing:.22em;
  color:var(--gold-light);
  background:rgba(33,29,21,.7);
  padding:10px 14px;
  backdrop-filter:blur(6px);
}
.about-feature-content h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(32px,3.8vw,48px);
  line-height:1.2;letter-spacing:-.03em;
  margin-bottom:32px;
}
.about-feature-content h2 em{color:var(--gold-light);font-style:normal}
.about-feature-content p{
  color:rgba(255,255,255,.6);
  font-size:15px;line-height:2.1;
  margin-bottom:20px;
}
.about-feature-sign{
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.14);
}
.about-feature-sign .sign-name{
  font-family:var(--serif);
  font-size:24px;
  color:var(--gold-light);
  letter-spacing:.02em;
}
.about-feature-sign .sign-role{
  margin-top:8px;
  font-size:11px;
  color:rgba(255,255,255,.45);
  letter-spacing:.14em;
}

/* Steps Detail */
.steps-detail{padding:130px 0;background:var(--white)}
.steps-timeline{margin-top:20px}
.step-row{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:60px;
  padding:60px 0;
  border-top:1px solid var(--line);
  align-items:start;
}
.step-row:first-child{border-top:none;padding-top:20px}
.step-row:last-child{border-bottom:1px solid var(--line)}
.step-row-num{
  display:flex;flex-direction:column;gap:16px;
  position:sticky;top:120px;
}
.step-row-num .num-label{
  font-size:9px;color:var(--gold);
  letter-spacing:.25em;text-transform:uppercase;
}
.step-row-num .num-big{
  font-family:var(--serif);
  font-size:88px;
  line-height:.85;
  color:var(--gold);
  font-weight:400;
  letter-spacing:-.04em;
}
.step-row-body h3{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(28px,3vw,40px);
  line-height:1.2;letter-spacing:-.025em;
  margin-bottom:18px;
}
.step-row-body .step-lead{
  font-size:15px;
  color:#4A4234;
  line-height:2;
  margin-bottom:32px;
  max-width:640px;
}
.step-points{
  list-style:none;
  display:flex;flex-direction:column;
  gap:14px;
  margin-bottom:34px;
  max-width:640px;
}
.step-points li{
  position:relative;
  padding-left:24px;
  font-size:13.5px;
  color:#7A7265;
  line-height:1.9;
}
.step-points li::before{
  content:"";
  position:absolute;
  left:0;top:11px;
  width:12px;height:1px;
  background:var(--gold);
}
.step-output{
  display:flex;flex-direction:column;gap:8px;
  padding:22px 26px;
  background:var(--paper);
  border-left:2px solid var(--gold);
  max-width:640px;
}
.step-output .output-label{
  font-size:9px;color:var(--gold);
  letter-spacing:.22em;text-transform:uppercase;
}
.step-output .output-text{
  font-family:var(--serif);
  font-size:16px;
  color:var(--ink);
  line-height:1.6;
}

/* Scope */
.scope{padding:130px 0;background:var(--paper-2)}
.scope-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:24px;margin-top:20px;
}
.scope-col{
  padding:46px 42px;
  background:var(--white);
  border:1px solid var(--line);
}
.scope-col h3{
  font-family:var(--serif);font-weight:400;
  font-size:26px;line-height:1.25;
  margin-bottom:28px;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.scope-col.scope-do h3{color:var(--gold)}
.scope-col.scope-dont h3{color:#7A7265}
.scope-col ul{
  list-style:none;
  display:flex;flex-direction:column;
  gap:16px;
}
.scope-col li{
  position:relative;
  padding-left:28px;
  font-size:14px;
  color:#4A4234;
  line-height:1.85;
}
.scope-do li::before{
  content:"✓";
  position:absolute;
  left:0;top:-1px;
  color:var(--gold);
  font-size:15px;
}
.scope-dont li::before{
  content:"—";
  position:absolute;
  left:0;top:0;
  color:#B5AB98;
  font-size:15px;
}

/* Process Light */
.process-light{padding:130px 0;background:var(--paper-2)}
.process-light-heading{
  display:grid;grid-template-columns:1fr .8fr;gap:100px;
  align-items:end;margin-bottom:70px;
}
.process-light-heading h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(36px,4.2vw,54px);
  line-height:1.15;letter-spacing:-.03em;
}
.process-light-heading h2 em{color:var(--gold);font-style:normal}
.process-light-heading p{
  color:var(--muted);font-size:14px;line-height:2;
}
.process-list{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line-dark);
  border-bottom:1px solid var(--line-dark);
}
.process-step{
  padding:38px 28px;
  border-right:1px solid var(--line-dark);
  color:inherit;
  transition:background .3s;
}
.process-step:last-child{border-right:none}
a.process-step:hover{background:var(--white)}
.process-step .num{
  font-family:var(--serif);color:var(--gold);
  font-size:14px;letter-spacing:.06em;
}
.process-step h3{
  margin-top:56px;
  font-family:var(--serif);font-weight:400;
  font-size:22px;line-height:1.3;
}
.process-step p{
  margin-top:14px;
  color:#7A7265;font-size:12px;line-height:1.9;
}

/* Concerns */
.concerns{padding:130px 0;background:var(--white)}
.concerns-layout{
  display:grid;grid-template-columns:.9fr 1.1fr;
  gap:100px;align-items:start;
}
.concerns-heading h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(36px,4.2vw,54px);
  line-height:1.15;letter-spacing:-.03em;
  margin-bottom:30px;
}
.concerns-heading h2 em{color:var(--gold);font-style:normal}
.concerns-heading p{
  color:var(--muted);font-size:14px;line-height:2;
}
.concerns-list{
  list-style:none;
  display:flex;flex-direction:column;
}
.concern-item{
  display:grid;grid-template-columns:60px 1fr;
  gap:22px;align-items:start;
  padding:28px 0;
  border-bottom:1px solid var(--line);
}
.concern-item:first-child{padding-top:0}
.concern-item:last-child{border-bottom:none}
.concern-item .icon{
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);
}
.concern-item .icon svg{width:100%;height:100%}
.concern-item h4{
  font-family:var(--serif);font-weight:400;
  font-size:19px;line-height:1.35;margin-bottom:6px;
}
.concern-item p{
  color:#7A7265;font-size:13px;line-height:1.85;
}

/* FAQ */
.faq{padding:130px 0;background:var(--paper-2)}
.faq-heading{margin-bottom:55px;max-width:760px}
.faq-heading h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(36px,4.2vw,54px);
  line-height:1.15;letter-spacing:-.03em;
}
.faq-heading h2 em{color:var(--gold);font-style:normal}
.faq-list{max-width:900px}
.faq-item{
  border-bottom:1px solid var(--line-dark);
}
.faq-item summary{
  list-style:none;
  padding:28px 0;
  cursor:pointer;
  font-family:var(--serif);
  font-size:19px;font-weight:400;
  color:var(--ink);
  display:flex;justify-content:space-between;
  align-items:center;gap:24px;
  transition:color .25s;
}
.faq-item summary:hover{color:var(--gold)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";
  font-family:var(--sans);
  font-size:22px;
  color:var(--gold);
  transition:transform .3s;
  flex-shrink:0;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-answer{
  padding:0 0 28px;
  color:#7A7265;
  font-size:14px;line-height:2;
  max-width:780px;
}

/* Responsive */
@media(max-width:1100px){
  .intro-layout{gap:60px}
  .stages-heading,.process-light-heading{gap:60px}
  .concerns-layout{gap:60px}
  .about-feature{gap:50px}
  .focus-card{padding:36px 28px}
  .stage-item{padding:34px 26px}
  .step-row{grid-template-columns:160px 1fr;gap:40px}
  .step-row-num .num-big{font-size:72px}
}

@media(max-width:900px){
  /* 平板及手机：Hero 恢复单栏 */
  .page-hero:not(.page-hero--image) .container{
    display:block;
  }
  .page-hero:not(.page-hero--image) h1{
    max-width:900px;
    font-size:clamp(40px,6vw,60px);
    padding-right:0;
  }
  .page-hero:not(.page-hero--image) .lead{
    margin-top:34px;
    padding-left:0;
    border-left:none;
    max-width:100%;
  }
  .page-hero:not(.page-hero--image) .kicker{
    padding-right:0;
  }

  .intro-layout{grid-template-columns:1fr;gap:50px}
  .intro-visual{aspect-ratio:16/10;max-width:100%}
  .stages-heading,.process-light-heading,
  .concerns-layout{grid-template-columns:1fr;gap:40px}
  .focus-grid{grid-template-columns:1fr;gap:14px}
  .dest-large-grid{grid-template-columns:1fr;gap:18px}
  .dest-large-card[style]{grid-column:auto !important}
  .dest-large-card .dest-large-fig[style]{aspect-ratio:16/10 !important}
  .stages-list{grid-template-columns:1fr}
  .stage-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}
  .stage-item:last-child{border-bottom:none}
  .process-list{grid-template-columns:1fr 1fr}
  .process-step:nth-child(2){border-right:none}
  .process-step:nth-child(1),
  .process-step:nth-child(2){border-bottom:1px solid var(--line-dark)}
  .about-feature{grid-template-columns:1fr;gap:40px}
  .about-feature-photo{aspect-ratio:16/10}
  .step-row{grid-template-columns:1fr;gap:24px}
  .step-row-num{position:static;flex-direction:row;align-items:baseline;gap:20px}
  .step-row-num .num-big{font-size:56px}
  .scope-grid{grid-template-columns:1fr;gap:18px}
}

@media(max-width:720px){
  .page-hero{padding:110px 0 70px}
  .page-hero--image{padding:150px 0 80px}
  .page-hero h1{font-size:36px}
  .page-hero .lead{font-size:14px}
  .intro,.focus,.stages,.process-light,.concerns,.faq,
  .destinations-large,.steps-detail,.scope{padding:90px 0}
  .concern-item{grid-template-columns:44px 1fr;gap:16px}
  .concern-item .icon{width:32px;height:32px}
  .faq-item summary{font-size:16px;padding:22px 0}
  .faq-answer{font-size:13px}
  .dest-large-body{padding:28px 26px 32px}
  .dest-large-body h3{font-size:22px}
  .about-feature-content h2{font-size:30px}
  .about-feature-content p{font-size:14px}
  .step-row{padding:44px 0}
  .step-row-num .num-big{font-size:48px}
  .step-row-body h3{font-size:26px}
  .step-points li{font-size:13px}
  .scope-col{padding:34px 26px}
  .scope-col h3{font-size:22px}
}