.nav-links a.active{color:var(--color-text);font-weight:600;border-bottom:2px solid var(--color-accent-strong);padding-bottom:2px;}
    .brand-logo{height:110px;width:auto;max-width:360px;display:block;}
    .approach-hero{padding-top:34px;padding-bottom:24px;}
    .approach-hero-grid{display:grid;grid-template-columns:1fr .86fr;gap:24px;align-items:stretch;}
    .approach-hero .hero-panel{min-height:0;padding:clamp(30px,5vw,64px);border-radius:28px;}
    .approach-hero h1{max-width:12ch;font-size:clamp(2.25rem,5vw,4.6rem);}
    .approach-hero .hero-lead{max-width:68ch;}
    .approach-visual{position:relative;min-height:420px;border-radius:28px;border:1px solid var(--color-border);box-shadow:var(--shadow-medium);overflow:hidden;background:var(--gradient-hero);display:flex;align-items:flex-end;padding:28px;}
    .approach-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,31,26,.10) 0%,rgba(15,31,26,.36) 46%,rgba(15,31,26,.86) 100%);z-index:1;pointer-events:none;}
    .approach-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.88;filter:saturate(.9) contrast(.96);}
    .approach-visual-chips{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:10px;width:100%;}
    .approach-chip{border:1px solid var(--color-border-on-dark);background:rgba(19,56,47,.76);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:16px;padding:13px 15px;color:var(--color-text-on-dark);font-weight:800;line-height:1.25;}
    .approach-shell{display:grid;grid-template-columns:.92fr 1.08fr;gap:24px;align-items:stretch;}
    .approach-map{position:relative;min-height:520px;border-radius:28px;border:1px solid var(--color-border);background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.42));box-shadow:var(--shadow-medium);padding:28px;overflow:hidden;}
    .approach-map::before{content:"";position:absolute;inset:auto -120px -120px auto;width:320px;height:320px;background:radial-gradient(circle,rgba(201,166,86,.22),transparent 68%);filter:blur(8px);}
    .loop-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;position:relative;z-index:1;}
    .loop-step{border:1px solid var(--color-border);border-radius:20px;padding:16px;background:rgba(248,244,237,.82);cursor:pointer;outline:none;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;}
    .loop-step:hover{transform:translateY(-2px);border-color:rgba(201,166,86,.72);background:#fffaf1;box-shadow:0 0 0 3px rgba(201,166,86,.18);}
    .loop-step.active{transform:translateY(-2px);border-color:rgba(201,166,86,.5);background:var(--gradient-cta);box-shadow:0 0 0 3px rgba(201,166,86,.16);}
    .loop-step.active span,.loop-step.active strong{color:var(--color-surface-dark);}
    .loop-step:focus-visible{border-color:var(--color-accent-strong);box-shadow:0 0 0 4px rgba(201,166,86,.28);}
    .loop-step span{display:block;color:var(--color-accent-strong);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;}
    .loop-step strong{display:block;font-size:1.05rem;line-height:1.18;color:var(--color-text);}
    .loop-detail{position:relative;z-index:1;margin-top:18px;border-radius:24px;border:1px solid var(--color-border);background:var(--gradient-surface);padding:24px;min-height:190px;}
    .loop-detail h3{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.1;margin-bottom:10px;}
    .loop-detail p{color:var(--color-text-soft);line-height:1.75;margin-bottom:16px;}
    .loop-detail ul{margin:0;padding-left:18px;color:var(--color-text-soft);line-height:1.65;}
    .dimension-panel{border-radius:28px;border:1px solid var(--color-border);background:var(--gradient-surface);box-shadow:var(--shadow-medium);padding:clamp(22px,4vw,34px);}
    .dimension-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;}
    .dimension-tab{border:1px solid var(--color-border);border-radius:999px;background:rgba(255,255,255,.58);color:var(--color-text-soft);padding:10px 13px;font:inherit;font-size:.85rem;font-weight:800;cursor:pointer;outline:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;}
    .dimension-tab:hover,.dimension-tab.active{background:var(--gradient-cta);color:var(--color-surface-dark);border-color:rgba(201,166,86,.5);transform:translateY(-1px);box-shadow:0 0 0 3px rgba(201,166,86,.16);}
    .dimension-tab:focus-visible{border-color:var(--color-accent-strong);box-shadow:0 0 0 4px rgba(201,166,86,.28);}
    .dimension-content{border-radius:24px;background:rgba(19,56,47,.06);border:1px solid var(--color-border);padding:24px;}
    .dimension-content h2{font-size:clamp(1.6rem,2.5vw,2.4rem);line-height:1.08;margin-bottom:10px;}
    .dimension-content p{color:var(--color-text-soft);line-height:1.75;margin-bottom:18px;}
    .dimension-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;}
    .meta-card{border-radius:18px;border:1px solid var(--color-border);background:rgba(255,255,255,.58);padding:16px;}
    .meta-card span{display:block;color:var(--color-accent-strong);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px;}
    .meta-card strong{display:block;color:var(--color-text);line-height:1.3;}
    .dark-panel{border-radius:28px;border:1px solid var(--color-border-on-dark);background:var(--gradient-hero);box-shadow:var(--shadow-dark);padding:clamp(26px,5vw,48px);color:var(--color-text-on-dark);}
    .dark-panel .section-header h2{color:var(--color-text-on-dark);}
    .dark-panel .section-header p{color:var(--color-text-on-dark-soft);}
    .dark-panel .section-kicker{color:var(--color-text-on-dark-muted);}
    .proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
    .proof-card{position:relative;overflow:hidden;border:1px solid var(--color-border-on-dark);background:rgba(15,47,26,.62);border-radius:24px;padding:24px;color:var(--color-text-on-dark);box-shadow:none;}
    .proof-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--color-accent),rgba(247,244,238,.86));opacity:.78;}
    .proof-card span{color:var(--color-accent);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
    .proof-card h3{margin:14px 0 10px;font-size:1.25rem;line-height:1.14;color:var(--color-text-on-dark);}
    .proof-card p{margin:0;color:var(--color-text-on-dark-soft);line-height:1.7;}
    .proposition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
    .proposition-card{position:relative;overflow:hidden;border:1px solid var(--color-border-on-dark);background:rgba(15,47,26,.62);box-shadow:none;color:var(--color-text-on-dark);}
    .proposition-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--color-accent),rgba(247,244,238,.86));opacity:.86;}
    .proposition-number{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(201,166,86,.14);border:1px solid rgba(201,166,86,.36);color:var(--color-accent);font-weight:800;margin-bottom:18px;}
    .proposition-card h3{font-size:1.3rem;line-height:1.15;color:var(--color-text-on-dark);}
    .proposition-card p,.proposition-card li{color:var(--color-text-on-dark-soft);line-height:1.7;}
    .portfolio-card{border-radius:28px;border:1px solid var(--color-border-on-dark);background:var(--gradient-hero);box-shadow:var(--shadow-dark);padding:clamp(26px,5vw,48px);color:var(--color-text-on-dark);}
    .portfolio-card .section-header h2{color:var(--color-text-on-dark);}
    .portfolio-card .section-header p{color:var(--color-text-on-dark-soft);}
    .portfolio-card .section-kicker{color:var(--color-text-on-dark-muted);}
    .value-map{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:stretch;}
    .map-column{display:grid;gap:14px;}
    .map-block{border:1px solid var(--color-border-on-dark);background:rgba(15,47,26,.62);border-radius:var(--radius-lg);padding:20px;}
    .map-block h3{color:var(--color-text-on-dark);margin-bottom:8px;}
    .map-block p{color:var(--color-text-on-dark-soft);margin:0;line-height:1.7;}
    .quote-block{margin-top:22px;border:1px solid rgba(201,166,86,.28);background:rgba(19,56,47,.74);border-radius:var(--radius-lg);padding:22px 24px;}
    .quote-block p{margin:0;color:var(--color-text-on-dark-soft);font-size:1.05rem;line-height:1.75;}
    .journey-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
    .journey-item{border:1px solid var(--color-border);border-radius:22px;background:rgba(255,255,255,.68);padding:20px;}
    .journey-item strong{display:block;font-size:1.08rem;line-height:1.2;margin-bottom:8px;}
    .journey-item p{margin:0;color:var(--color-text-soft);line-height:1.65;}
    .footer-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
    @media(max-width:1100px){
      .brand-logo{height:76px;}
      .nav{flex-wrap:wrap;justify-content:center;}
      .brand{width:100%;justify-content:flex-start;}
      .nav-links{width:100%;justify-content:center;gap:10px 14px;}
      .approach-hero-grid,.approach-shell,.proof-grid,.proposition-grid,.journey-strip,.value-map{grid-template-columns:1fr;}
      .approach-visual{min-height:340px;}
      .approach-map{min-height:0;}
    }
    @media(max-width:720px){
      .brand-logo{height:80px;max-width:375px;}
      .nav{gap:10px 14px;padding:14px 0 16px;}
      .nav-links{gap:8px 14px;font-size:.88rem;line-height:1.15;}
      .nav-links a{padding:4px 0;white-space:nowrap;}
      .nav > .btn-primary{padding:8px 14px;font-size:.8rem;min-height:34px;}
      .approach-hero{padding-top:16px;}
      .approach-hero .hero-panel{padding:24px 20px;border-radius:22px;}
      .approach-visual{min-height:300px;padding:20px;border-radius:22px;}
      .loop-rail,.dimension-meta{grid-template-columns:1fr;}
      .footer-row{justify-content:center;text-align:center;}
    }
    @media(max-width:420px){
      .brand-logo{height:70px;max-width:325px;}
      .nav{gap:8px 10px;padding:12px 0 14px;}
      .nav-links{gap:7px 10px;font-size:.78rem;}
      .nav > .btn-primary{padding:7px 12px;font-size:.76rem;min-height:32px;}
      .dimension-tab{font-size:.78rem;padding:8px 10px;}
    }
