/* ========================================
   子页面共用样式
   ======================================== */

/* Page Header */
.page-header{position:relative;padding:180px 0 100px;background-color:var(--color-bg);text-align:center;overflow:hidden}
.page-header::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:.3}
.page-header-content{position:relative;z-index:1;padding:0 24px}
.page-header-label{font-size:.75rem;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--color-accent);display:block;margin-bottom:16px}
.page-header-title{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,4rem);font-weight:300;letter-spacing:.08em;color:var(--color-text);margin-bottom:16px}
.page-header-desc{font-size:1.125rem;font-weight:300;color:var(--color-text-secondary);letter-spacing:.1em}

/* Page Section */
.page-section{padding:120px 0;background-color:var(--color-bg)}
.page-section-alt{background-color:var(--color-bg-light)}

/* Mission Grid */
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.mission-image-wrapper{position:relative}
.mission-image{width:100%;aspect-ratio:4/3;object-fit:cover;filter:contrast(1.05)}
.mission-image-frame{position:absolute;inset:16px;border:1px solid var(--color-accent);opacity:.25;pointer-events:none;transition:opacity .6s ease,inset .6s ease}
.mission-image-wrapper:hover .mission-image-frame{opacity:.4;inset:12px}
.mission-content{padding-left:20px}
.mission-content .section-label{margin-bottom:16px}
.mission-content .section-title{margin-bottom:40px}
.mission-text p{font-size:1rem;font-weight:300;color:var(--color-text-secondary);margin-bottom:20px;line-height:1.9}
.mission-text p strong{color:var(--color-text);font-weight:500}

/* Values */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.value-card{background-color:var(--color-surface);border:1px solid var(--color-border);padding:48px 36px;transition:transform .5s var(--transition-smooth),box-shadow .5s var(--transition-smooth),border-color .3s ease}
.value-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.35);border-color:rgba(201,169,110,.2)}
.value-num{display:block;font-family:var(--font-display);font-size:.875rem;font-weight:300;color:var(--color-accent);margin-bottom:20px;letter-spacing:.1em}
.value-card h3{font-family:var(--font-serif);font-size:1.375rem;font-weight:500;margin-bottom:16px;color:var(--color-text)}
.value-card p{font-size:.9375rem;font-weight:300;color:var(--color-text-secondary);line-height:1.8}

/* Achievement */
.achievement-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;margin-bottom:60px}
.achievement-item{text-align:center;padding:32px 16px;border:1px solid var(--color-border);background-color:var(--color-surface);transition:border-color .3s ease}
.achievement-item:hover{border-color:rgba(201,169,110,.3)}
.achievement-number{font-family:var(--font-display);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:300;color:var(--color-accent);display:block;margin-bottom:8px;line-height:1}
.achievement-label{font-size:.8125rem;color:var(--color-text-muted);letter-spacing:.05em}
.achievement-detail{max-width:800px;margin:0 auto;text-align:center}
.achievement-detail p{font-size:1rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9}
.achievement-detail p strong{color:var(--color-text);font-weight:500}

/* Team */
.team-content{max-width:800px;margin:0 auto;text-align:center}
.team-lead{font-family:var(--font-serif);font-size:1.5rem;font-weight:300;color:var(--color-text);margin-bottom:48px;line-height:1.6}
.team-features{display:flex;flex-direction:column;gap:16px;margin-bottom:48px}
.team-feature{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1rem;font-weight:300;color:var(--color-text-secondary)}
.team-feature-icon{color:var(--color-accent);font-size:1.25rem}
.team-feature strong{color:var(--color-text);font-weight:500}
.team-desc{font-size:1rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9}

/* Timeline */
.timeline{max-width:700px;margin:0 auto;position:relative}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--color-accent),transparent);opacity:.4}
.timeline-item{position:relative;padding-left:48px;padding-bottom:48px}
.timeline-item:last-child{padding-bottom:0}
.timeline-year{position:absolute;left:0;top:0;font-family:var(--font-display);font-size:.875rem;font-weight:300;color:var(--color-accent);letter-spacing:.1em;transform:translateX(-50%);background-color:var(--color-bg);padding:4px 0}
.timeline-content h4{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--color-text);margin-bottom:8px}
.timeline-content p{font-size:.9375rem;font-weight:300;color:var(--color-text-secondary);line-height:1.7}
.page-section-alt .timeline-year{background-color:var(--color-bg-light)}

/* Product Hero */
.product-hero{text-align:center;max-width:800px;margin:0 auto}
.product-hero .section-label{margin-bottom:20px}
.product-hero-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:300;line-height:1.3;letter-spacing:.05em;color:var(--color-text);margin-bottom:24px}
.product-hero-desc{font-size:1.0625rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9}

/* Product Cards Large */
.product-cards{display:flex;flex-direction:column;gap:80px}
.product-card-large{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center}
.product-card-large-reverse{direction:rtl}
.product-card-large-reverse>*{direction:ltr}
.product-card-large-image{position:relative;overflow:hidden}
.product-card-large-image img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .6s var(--transition-smooth)}
.product-card-large:hover .product-card-large-image img{transform:scale(1.03)}
.product-card-large-content{padding:20px 0}
.product-card-num{display:block;font-family:var(--font-display);font-size:.875rem;font-weight:300;color:var(--color-accent);margin-bottom:16px;letter-spacing:.1em}
.product-card-large-content h3{font-family:var(--font-serif);font-size:1.75rem;font-weight:500;margin-bottom:20px;color:var(--color-text)}
.product-card-large-content>p{font-size:1rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9;margin-bottom:28px}
.product-card-large-content>p strong{color:var(--color-text);font-weight:500}
.product-card-features{display:flex;flex-direction:column;gap:10px}
.product-card-features li{font-size:.9375rem;font-weight:300;color:var(--color-text-secondary);padding-left:20px;position:relative;line-height:1.6}
.product-card-features li::before{content:'';position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background-color:var(--color-accent);opacity:.6}

/* Platform Flow */
.platform-flow{display:flex;align-items:flex-start;justify-content:center;gap:16px;margin-bottom:60px;flex-wrap:wrap}
.platform-step{flex:1;min-width:180px;max-width:220px;text-align:center;padding:36px 24px;background-color:var(--color-surface);border:1px solid var(--color-border);transition:border-color .3s ease}
.platform-step:hover{border-color:rgba(201,169,110,.3)}
.platform-step-icon{color:var(--color-accent);margin-bottom:20px;display:flex;justify-content:center}
.platform-step h4{font-family:var(--font-serif);font-size:1.125rem;font-weight:500;margin-bottom:12px;color:var(--color-text)}
.platform-step p{font-size:.875rem;font-weight:300;color:var(--color-text-secondary);line-height:1.7}
.platform-arrow{font-family:var(--font-display);font-size:1.5rem;color:var(--color-accent);opacity:.5;padding-top:48px}
.platform-detail{max-width:800px;margin:0 auto;text-align:center}
.platform-detail p{font-size:1rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9}
.platform-detail p strong{color:var(--color-text);font-weight:500}

/* Scenarios */
.scenarios-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.scenario-card{background-color:var(--color-surface);border:1px solid var(--color-border);padding:36px 28px;transition:transform .4s var(--transition-smooth),border-color .3s ease}
.scenario-card:hover{transform:translateY(-4px);border-color:rgba(201,169,110,.25)}
.scenario-card h4{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;margin-bottom:14px;color:var(--color-text)}
.scenario-card p{font-size:.9375rem;font-weight:300;color:var(--color-text-secondary);line-height:1.7}

/* Research Layout */
.research-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:80px}
.research-layout-reverse{direction:rtl}
.research-layout-reverse>*{direction:ltr}
.research-visual{position:relative}
.research-image-main-wrapper{position:relative;overflow:hidden}
.research-image-main{width:100%;aspect-ratio:4/3;object-fit:cover}
.research-image-sub-wrapper{position:absolute;bottom:-32px;right:-32px;width:45%;border:4px solid var(--color-bg);box-shadow:0 16px 48px rgba(0,0,0,.5)}
.research-layout-reverse .research-image-sub-wrapper{right:auto;left:-32px}
.research-image-sub{width:100%;aspect-ratio:4/3;object-fit:cover}
.research-content{padding:20px 0}
.research-tag{display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);padding:8px 16px;border:1px solid var(--color-accent);margin-bottom:24px}
.research-title{font-family:var(--font-serif);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500;line-height:1.3;margin-bottom:24px;color:var(--color-text)}
.research-desc{font-size:1rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9;margin-bottom:40px}
.research-desc strong{color:var(--color-text);font-weight:500}
.research-metrics{display:flex;gap:40px;padding-top:32px;border-top:1px solid var(--color-border)}
.research-metric{display:flex;flex-direction:column;gap:8px}
.research-metric-value{font-family:var(--font-display);font-size:2rem;font-weight:300;color:var(--color-accent);line-height:1}
.research-metric-label{font-size:.8125rem;color:var(--color-text-muted);letter-spacing:.05em}

/* Research Details */
.research-details{margin-top:60px;padding-top:60px;border-top:1px solid var(--color-border)}
.research-details-title{font-family:var(--font-serif);font-size:1.375rem;font-weight:500;margin-bottom:32px;color:var(--color-text);text-align:center}
.research-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:40px}
.research-detail-card{background-color:var(--color-surface);border:1px solid var(--color-border);padding:36px 28px;transition:border-color .3s ease}
.research-detail-card:hover{border-color:rgba(201,169,110,.25)}
.research-detail-num{display:block;font-family:var(--font-display);font-size:1.25rem;font-weight:300;color:var(--color-accent);margin-bottom:16px}
.research-detail-card h5{font-family:var(--font-serif);font-size:1.125rem;font-weight:500;margin-bottom:12px;color:var(--color-text)}
.research-detail-card p{font-size:.9375rem;font-weight:300;color:var(--color-text-secondary);line-height:1.7}
.research-extra{max-width:800px;margin:0 auto;text-align:center}
.research-extra p{font-size:1rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9}
.research-extra p strong{color:var(--color-text);font-weight:500}

/* ICFEP */
.icfep-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.icfep-visual img{width:100%;aspect-ratio:4/3;object-fit:cover}
.icfep-content{padding:20px 0}
.icfep-lead{font-size:1.125rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9;margin-bottom:40px}
.icfep-lead strong{color:var(--color-text);font-weight:500}
.icfep-comparison{display:flex;align-items:center;gap:24px;margin-bottom:24px;padding:24px;background-color:var(--color-surface);border:1px solid var(--color-border)}
.icfep-vs{flex:1;text-align:center}
.icfep-vs-label{display:block;font-size:.8125rem;color:var(--color-text-muted);margin-bottom:8px;letter-spacing:.05em}
.icfep-vs-value{display:block;font-family:var(--font-display);font-size:1.75rem;font-weight:300;color:var(--color-text);margin-bottom:4px}
.icfep-vs-note{display:block;font-size:.8125rem;color:var(--color-text-muted)}
.icfep-vs-win .icfep-vs-value{color:var(--color-accent)}
.icfep-vs-arrow{font-family:var(--font-display);font-size:1.5rem;color:var(--color-accent);opacity:.6}
.icfep-note{font-size:.9375rem;font-weight:300;color:var(--color-text-secondary);margin-top:32px}
.icfep-note strong{color:var(--color-text);font-weight:500}

/* Closing Hero */
.closing-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-bg);margin-top:var(--nav-height)}
.closing-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-light) 30%,#e8e4de 70%,#f5f3ef 100%);opacity:0;transition:opacity 3s cubic-bezier(.25,.46,.45,.94)}
.closing-hero.in-view .closing-hero-bg{opacity:1}
.closing-hero-content{position:relative;z-index:1;text-align:center;padding:120px 40px;max-width:900px}
.closing-hero-line{font-family:var(--font-serif);font-size:clamp(1.25rem,3.5vw,2.25rem);font-weight:300;line-height:2.2;color:var(--color-text);transition:color 3s cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateY(30px)}
.closing-hero.in-view .closing-hero-line{opacity:1;transform:translateY(0);color:#3a3a3a}
.closing-hero.in-view .closing-hero-line:nth-child(1){transition:color 3s ease,opacity 1.5s ease .3s,transform 1.5s ease .3s}
.closing-hero.in-view .closing-hero-line:nth-child(2){transition:color 3s ease,opacity 1.5s ease .8s,transform 1.5s ease .8s}
.closing-hero.in-view .closing-hero-line:nth-child(3){transition:color 3s ease,opacity 1.5s ease 1.3s,transform 1.5s ease 1.3s}
.closing-hero-highlight{font-weight:500;color:var(--color-accent);transition:color 3s ease}
.closing-hero.in-view .closing-hero-highlight{color:#1a1a1a}
.closing-hero-final{font-size:clamp(1.5rem,4vw,2.75rem);font-weight:500;margin-top:16px;color:var(--color-text);transition:color 3s ease}
.closing-hero.in-view .closing-hero-final{color:#1a1a1a}

/* Contact */
.contact-section{padding:120px 0;background-color:var(--color-bg-light)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.contact-info .section-label{margin-bottom:16px}
.contact-info .section-title{margin-bottom:32px}
.contact-desc{font-size:1rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9;margin-bottom:48px}
.contact-details{display:flex;flex-direction:column;gap:24px}
.contact-item{display:flex;flex-direction:column;gap:6px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}
.contact-item-label{font-size:.8125rem;color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase}
.contact-item-value{font-size:1rem;font-weight:300;color:var(--color-text)}
.contact-visual{display:flex;align-items:center;justify-content:center}
.contact-quote{text-align:center;max-width:400px}
.contact-quote blockquote{font-family:var(--font-serif);font-size:2rem;font-weight:300;color:var(--color-accent);line-height:1.5;margin-bottom:24px;letter-spacing:.05em}
.contact-quote cite{font-size:.9375rem;font-weight:300;color:var(--color-text-secondary);font-style:normal;letter-spacing:.1em}

/* Brand Section */
.brand-section{text-align:center;padding:100px 0}
.brand-content{max-width:600px;margin:0 auto}
.brand-name{font-family:var(--font-serif);font-size:2.5rem;font-weight:600;color:var(--color-text);letter-spacing:.2em;margin-bottom:16px}
.brand-motto{font-size:1rem;font-weight:300;color:var(--color-text-secondary);letter-spacing:.15em;margin-bottom:32px}
.brand-divider{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);margin:0 auto 32px}
.brand-desc{font-size:1rem;font-weight:300;color:var(--color-text-secondary);line-height:1.9}

/* Responsive */
@media(max-width:1024px){
    .mission-grid{grid-template-columns:1fr;gap:60px}
    .mission-visual{max-width:500px;margin:0 auto}
    .mission-content{padding-left:0;text-align:center}
    .values-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}
    .achievement-grid{grid-template-columns:repeat(3,1fr)}
    .product-card-large,.product-card-large-reverse{grid-template-columns:1fr;direction:ltr;gap:40px}
    .platform-flow{flex-direction:column;align-items:center;gap:0}
    .platform-arrow{padding:16px 0;transform:rotate(90deg)}
    .platform-step{max-width:300px;width:100%}
    .scenarios-grid{grid-template-columns:repeat(2,1fr)}
    .research-layout,.research-layout-reverse{grid-template-columns:1fr;direction:ltr;gap:48px}
    .research-layout-reverse>*{direction:ltr}
    .research-image-sub-wrapper{display:none}
    .research-details-grid{grid-template-columns:1fr}
    .icfep-grid{grid-template-columns:1fr}
    .contact-grid{grid-template-columns:1fr;text-align:center}
    .contact-details{align-items:center}
    .contact-item{align-items:center}
}
@media(max-width:768px){
    .page-header{padding:140px 0 80px}
    .page-section{padding:80px 0}
    .achievement-grid{grid-template-columns:repeat(2,1fr);gap:12px}
    .achievement-item{padding:24px 12px}
    .scenarios-grid{grid-template-columns:1fr}
    .research-metrics{flex-direction:column;gap:20px;align-items:center}
    .research-metric{align-items:center}
    .icfep-comparison{flex-direction:column;gap:16px}
    .icfep-vs-arrow{transform:rotate(90deg)}
    .closing-hero-content{padding:80px 24px}
    .contact-quote blockquote{font-size:1.5rem}
}
