.ref-logos-section { padding:var(--space-section) var(--space-gutter); }
.ref-logos-wrap { max-width:var(--maxw); margin-inline:auto; }
.ref-logos-head { max-width:920px; margin-bottom:2rem; }
.ref-logos-head h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1rem; }
.ref-logos-head p { font-size:var(--fs-lead); color:var(--c-muted); max-width:820px; }
.ref-logos-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1rem; }
.ref-logo-slot { display:grid; place-items:center; min-height:96px; background:var(--c-bg); border:1px solid var(--c-border); border-radius:10px; padding:1.5rem; transition:border-color var(--transition),box-shadow var(--transition); }
.ref-logo-slot:hover { border-color:rgba(204,51,51,0.22); box-shadow:var(--shadow-soft); }
.ref-logo-slot img { height:42px; max-width:100%; width:auto; object-fit:contain; filter:brightness(0); opacity:0.55; transition:filter var(--transition),opacity var(--transition); }
.ref-logo-slot:hover img { filter:none; opacity:1; }
.ref-logo-slot .lab-logo-text { font-family:var(--f-display); font-weight:700; font-size:1.05rem; color:var(--c-muted); }

.ref-stats-section { position:relative; overflow:hidden; background:var(--c-dark); color:#fff; padding:var(--space-section) var(--space-gutter); }
.ref-stats-section::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.05) 1px,transparent 1px); background-size:48px 48px; -webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000 10%,transparent 70%); mask-image:radial-gradient(ellipse 70% 80% at 50% 40%,#000 10%,transparent 70%); }
.ref-stats-wrap { position:relative; z-index:1; max-width:var(--maxw); margin-inline:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; text-align:center; }
.ref-stat .ref-stat-num { font-family:var(--f-mono); font-size:clamp(2.4rem,1.6rem + 2.6vw,3.4rem); font-weight:600; line-height:1; margin-bottom:0.6rem; }
.ref-stat .ref-stat-num .text-red { color:#FF6B6B; }
.ref-stat .ref-stat-label { font-size:0.98rem; color:#C9C8CE; }
.ref-stat + .ref-stat { border-left:1px solid rgba(255,255,255,0.1); }

.ref-lab-section { position:relative; overflow:hidden; background:var(--c-bg-alt); padding:var(--space-section) var(--space-gutter); }
.ref-lab-wrap { position:relative; z-index:1; max-width:var(--maxw); margin-inline:auto; }
.ref-lab-head { max-width:920px; margin-bottom:clamp(2rem,3.5vh,2.75rem); }
.ref-lab-head h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1rem; }
.ref-lab-head p { font-size:var(--fs-lead); color:var(--c-muted); max-width:820px; }
.ref-lab-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.lab-card { display:flex; flex-direction:column; background:var(--c-bg); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.75rem 1.6rem; box-shadow:var(--shadow-soft); transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition); }
.lab-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-lift); border-color:rgba(204,51,51,0.25); }
.lab-logo { height:42px; display:flex; align-items:center; margin-bottom:1.1rem; }
.lab-logo img { height:38px; max-width:150px; width:auto; object-fit:contain; }
.lab-logo .lab-logo-text { font-family:var(--f-display); font-weight:700; font-size:1.15rem; color:var(--c-ink); }
.lab-card .lab-cat { font-family:var(--f-mono); font-size:0.68rem; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; color:var(--c-muted); margin-bottom:0.5rem; }
.lab-card h3 { font-size:1.15rem; font-weight:700; margin-bottom:0.4rem; }
.lab-card p { font-size:0.88rem; color:var(--c-muted); margin-bottom:1.3rem; flex:1; }
.lab-card .lab-link { font-weight:600; font-size:0.9rem; color:var(--c-ink); display:inline-flex; align-items:center; gap:0.45rem; margin-top:auto; transition:color var(--transition),gap var(--transition); }
.lab-card:hover .lab-link { color:var(--c-red-deep); gap:0.7rem; }

.ref-testi-section { padding:var(--space-section) var(--space-gutter); }
.ref-testi-wrap { max-width:var(--maxw); margin-inline:auto; }
.ref-testi-head { max-width:920px; margin-bottom:clamp(2rem,3.5vh,2.75rem); }
.ref-testi-head h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1rem; }
.ref-testi-head p { font-size:var(--fs-lead); color:var(--c-muted); max-width:820px; }
.ref-testi-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.ref-testi-card { background:var(--c-bg); border:1px solid var(--c-border); border-radius:var(--radius); padding:2rem; box-shadow:var(--shadow-soft); display:flex; flex-direction:column; }
.ref-testi-card .stars { color:#F5B301; letter-spacing:2px; margin-bottom:1rem; }
.ref-testi-card blockquote { font-size:1.08rem; line-height:1.6; margin-bottom:1.5rem; flex:1; color:var(--c-ink); }
.ref-testi-author { display:flex; align-items:center; gap:0.85rem; }
.ref-testi-avatar { width:46px; height:46px; border-radius:50%; background:var(--c-red); color:#fff; display:grid; place-items:center; font-weight:700; font-size:0.95rem; font-family:var(--f-display); flex-shrink:0; }
.ref-testi-id strong { display:block; font-size:0.98rem; }
.ref-testi-id span { font-size:0.86rem; color:var(--c-muted); }
.ref-testi-google { margin-top:1.75rem; font-size:0.92rem; color:var(--c-muted); display:inline-flex; align-items:center; gap:0.5rem; }
.ref-testi-google a { color:var(--c-red-deep); font-weight:600; }
.ref-testi-google a:hover { text-decoration:underline; }

.exp-hero { position:relative; overflow:hidden; padding:calc(var(--topbar-h) + var(--header-h) + 3rem) var(--space-gutter) var(--space-section); background:var(--c-bg-alt); border-bottom:1px solid var(--c-border); }
.exp-hero-inner { position:relative; z-index:1; max-width:var(--maxw); margin-inline:auto; display:grid; grid-template-columns:1.3fr 0.7fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.breadcrumb { font-size:0.82rem; color:var(--c-muted); margin-bottom:1rem; display:flex; flex-wrap:wrap; gap:0.4rem; align-items:center; }
.breadcrumb a:hover { color:var(--c-red-deep); }
.breadcrumb span { color:var(--c-ink); }
.exp-hero h1 { font-size:var(--fs-h1); font-weight:800; margin-bottom:1.2rem; max-width:18ch; }
.exp-hero .lead { font-size:var(--fs-lead); color:var(--c-muted); max-width:56ch; margin-bottom:2rem; }
.exp-hero .lead strong { color:var(--c-ink); font-weight:600; }
.exp-hero-actions { display:flex; flex-wrap:wrap; gap:1rem; }
.exp-hero-card { background:var(--c-bg); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.75rem; box-shadow:var(--shadow-soft); }
.exp-hero-card .ehc-logo { height:40px; margin-bottom:1.25rem; display:flex; align-items:center; }
.exp-hero-card .ehc-logo .tech-badge { font-family:var(--f-display); font-weight:800; font-size:1.4rem; color:var(--c-ink); }
.exp-hero-card .ehc-logo .tech-badge em { color:var(--c-red); font-style:normal; }
.exp-hero-card ul li { display:flex; align-items:flex-start; gap:0.6rem; font-size:0.92rem; margin-bottom:0.7rem; }
.exp-hero-card ul li:last-child { margin-bottom:0; }
.exp-hero-card ul li svg { flex-shrink:0; color:var(--c-red); margin-top:2px; }

.problem-section { padding:var(--space-section) var(--space-gutter); }
.problem-wrap { max-width:var(--maxw); margin-inline:auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.problem-content h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1.2rem; max-width:18ch; }
.problem-content p { font-size:1.02rem; color:var(--c-muted); margin-bottom:1rem; max-width:56ch; }
.problem-content p strong { color:var(--c-ink); font-weight:600; }
.problem-list { display:flex; flex-direction:column; gap:0.85rem; }
.problem-item { display:flex; gap:0.85rem; align-items:flex-start; background:var(--c-bg-alt); border:1px solid var(--c-border); border-radius:10px; padding:1.1rem 1.25rem; }
.problem-item svg { flex-shrink:0; color:var(--c-red); margin-top:2px; }
.problem-item p { font-size:0.95rem; margin:0; color:var(--c-ink); }
.problem-item p strong { font-weight:600; }

.services-section { position:relative; overflow:hidden; background:var(--c-bg-alt); padding:var(--space-section) var(--space-gutter); }
.services-wrap { position:relative; z-index:1; max-width:var(--maxw); margin-inline:auto; }
.services-head { max-width:920px; margin-bottom:clamp(2rem,3.5vh,2.75rem); }
.services-head h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1rem; }
.services-head p { font-size:var(--fs-lead); color:var(--c-muted); max-width:820px; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.service-card { background:var(--c-bg); border:1px solid var(--c-border); border-radius:var(--radius); padding:1.75rem 1.6rem; box-shadow:var(--shadow-soft); transition:transform var(--transition),box-shadow var(--transition); }
.service-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lift); }
.service-icon { width:46px; height:46px; border-radius:10px; background:var(--c-red-tint); color:var(--c-red-deep); display:grid; place-items:center; margin-bottom:1.1rem; }
.service-card h3 { font-size:1.12rem; font-weight:700; margin-bottom:0.5rem; }
.service-card p { font-size:0.9rem; color:var(--c-muted); }

.tma-section { position:relative; overflow:hidden; padding:var(--space-section) var(--space-gutter); background:var(--c-bg); border-top:1px solid var(--c-border); }
.tma-wrap { position:relative; z-index:1; max-width:var(--maxw); margin-inline:auto; }
.tma-head { max-width:920px; margin-bottom:clamp(2rem,3.5vh,2.75rem); }
.tma-head h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1rem; max-width:20ch; }
.tma-head p { font-size:var(--fs-lead); color:var(--c-muted); max-width:820px; }
.tma-head p strong { color:var(--c-ink); font-weight:600; }
.tma-pillars { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-bottom:1.5rem; }
.tma-pillar { background:var(--c-bg-alt); border:1px solid var(--c-border); border-radius:var(--radius); padding:2rem; position:relative; overflow:hidden; transition:transform var(--transition),box-shadow var(--transition); }
.tma-pillar::before { content:''; position:absolute; top:0; left:0; bottom:0; width:4px; background:var(--c-red); }
.tma-pillar:hover { transform:translateY(-4px); box-shadow:var(--shadow-lift); }
.tma-pillar-icon { width:52px; height:52px; border-radius:12px; background:var(--c-red-tint); color:var(--c-red-deep); display:grid; place-items:center; margin-bottom:1.2rem; }
.tma-pillar h3 { font-size:1.25rem; font-weight:700; margin-bottom:0.6rem; }
.tma-pillar p { font-size:0.95rem; color:var(--c-muted); }
.tma-reassure { display:flex; flex-wrap:wrap; gap:0.85rem 2rem; padding:1.25rem 0; margin-bottom:1.5rem; border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); }
.tma-reassure-item { display:inline-flex; align-items:center; gap:0.5rem; font-size:0.95rem; font-weight:500; }
.tma-reassure-item svg { color:var(--c-red); flex-shrink:0; }
.tma-cta { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.5rem; }
.tma-cta-note { font-size:0.9rem; color:var(--c-muted); max-width:42ch; }

.method-section { padding:var(--space-section) var(--space-gutter); }
.method-wrap { max-width:var(--maxw); margin-inline:auto; }
.method-head { max-width:920px; margin-bottom:clamp(2.2rem,4vh,3rem); }
.method-head h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1rem; }
.method-head p { font-size:var(--fs-lead); color:var(--c-muted); max-width:820px; }
.method-track { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.method-track::before { content:''; position:absolute; top:26px; left:8%; right:8%; height:2px; background:repeating-linear-gradient(90deg,var(--c-border) 0 8px,transparent 8px 14px); z-index:0; }
.method-step { position:relative; z-index:1; }
.method-num { width:54px; height:54px; border-radius:50%; background:var(--c-bg); border:2px solid var(--c-red); display:grid; place-items:center; margin-bottom:1.2rem; font-family:var(--f-mono); font-size:1.1rem; font-weight:600; color:var(--c-red); box-shadow:0 0 0 6px var(--c-bg); }
.method-step h3 { font-size:1.1rem; font-weight:700; margin-bottom:0.5rem; }
.method-step p { font-size:0.9rem; color:var(--c-muted); }

.why-section { position:relative; overflow:hidden; background:var(--c-dark); color:#fff; padding:var(--space-section) var(--space-gutter); }
.why-section::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.05) 1px,transparent 1px); background-size:48px 48px; -webkit-mask-image:radial-gradient(ellipse 60% 80% at 80% 30%,#000 20%,transparent 75%); mask-image:radial-gradient(ellipse 60% 80% at 80% 30%,#000 20%,transparent 75%); }
.why-wrap { position:relative; z-index:1; max-width:var(--maxw); margin-inline:auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.why-content h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1.2rem; max-width:20ch; }
.why-content > p { font-size:1.05rem; color:#C9C8CE; margin-bottom:1.5rem; max-width:54ch; }
.why-points { display:flex; flex-direction:column; gap:1rem; }
.why-point { display:flex; gap:0.85rem; align-items:flex-start; }
.why-point svg { flex-shrink:0; color:#FF6B6B; margin-top:3px; }
.why-point div strong { display:block; font-weight:600; margin-bottom:0.15rem; }
.why-point div span { font-size:0.92rem; color:#C9C8CE; }
.why-card { background:linear-gradient(150deg,#1A1A20,#24121A); border:1px solid rgba(255,255,255,0.08); border-radius:var(--radius); padding:2rem; }
.why-card .tag { font-family:var(--f-mono); font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:0.1em; color:#F0B9B9; border:1px solid rgba(240,185,185,0.35); padding:0.25rem 0.7rem; border-radius:50px; display:inline-block; margin-bottom:1.1rem; }
.why-card h3 { font-size:1.4rem; font-weight:800; margin-bottom:0.8rem; }
.why-card p { font-size:0.95rem; color:#C9C8CE; margin-bottom:1.4rem; }

.proof-section { position:relative; overflow:hidden; background:var(--c-bg-alt); padding:var(--space-section) var(--space-gutter); }
.proof-wrap { position:relative; z-index:1; max-width:var(--maxw); margin-inline:auto; display:grid; grid-template-columns:0.8fr 1.2fr; gap:1.5rem; align-items:stretch; }
.result-card { background:var(--c-bg); border:1px solid var(--c-border); border-radius:var(--radius); padding:2rem; box-shadow:var(--shadow-soft); display:flex; flex-direction:column; justify-content:center; }
.result-card .big { font-family:var(--f-mono); font-size:clamp(2.5rem,1.8rem + 2.5vw,3.6rem); font-weight:600; line-height:1; color:var(--c-ink); margin-bottom:0.5rem; }
.result-card .big .text-red { color:var(--c-red); }
.result-card .desc { font-size:0.98rem; color:var(--c-muted); }
.testi-card { background:var(--c-ink); color:#fff; border-radius:var(--radius); padding:2rem; display:flex; flex-direction:column; }
.testi-card .stars { color:#F5B301; letter-spacing:2px; margin-bottom:1rem; }
.testi-card blockquote { font-size:1.05rem; line-height:1.6; margin-bottom:1.5rem; flex:1; }
.testi-author { display:flex; align-items:center; gap:0.85rem; }
.testi-avatar { width:44px; height:44px; border-radius:50%; background:var(--c-red); color:#fff; display:grid; place-items:center; font-weight:700; font-size:0.9rem; font-family:var(--f-display); }
.testi-id strong { display:block; font-size:0.95rem; }
.testi-id span { font-size:0.85rem; color:#9B9AA1; }

.faq-section { padding:var(--space-section) var(--space-gutter); }
.faq-wrap { max-width:820px; margin-inline:auto; }
.faq-head { text-align:center; margin-bottom:clamp(2rem,3.5vh,2.75rem); }
.faq-head h2 { font-size:var(--fs-h2); font-weight:800; }
.faq-item { border-bottom:1px solid var(--c-border); }
.faq-item summary { cursor:pointer; padding:1.25rem 0; font-weight:600; font-size:1.05rem; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary .icon { flex-shrink:0; width:22px; height:22px; position:relative; transition:transform var(--transition); }
.faq-item summary .icon::before, .faq-item summary .icon::after { content:''; position:absolute; background:var(--c-red); border-radius:2px; }
.faq-item summary .icon::before { top:10px; left:3px; right:3px; height:2px; }
.faq-item summary .icon::after { left:10px; top:3px; bottom:3px; width:2px; transition:transform var(--transition); }
.faq-item[open] summary .icon::after { transform:rotate(90deg); }
.faq-item .faq-body { padding:0 0 1.25rem; color:var(--c-muted); font-size:0.98rem; max-width:72ch; }

.cta-section { position:relative; overflow:hidden; background:var(--c-dark); color:#fff; padding:var(--space-section) var(--space-gutter); }
.cta-section::before { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.05) 1px,transparent 1px); background-size:48px 48px; -webkit-mask-image:radial-gradient(ellipse 60% 80% at 50% 0%,#000 20%,transparent 75%); mask-image:radial-gradient(ellipse 60% 80% at 50% 0%,#000 20%,transparent 75%); }
.cta-section::after { content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(ellipse 50% 60% at 50% 10%,#2A0E0E 0%,transparent 65%); }
.cta-wrap { position:relative; z-index:1; max-width:760px; margin-inline:auto; text-align:center; }
.cta-wrap h2 { font-size:var(--fs-h2); font-weight:800; margin-bottom:1.2rem; }
.cta-wrap p { font-size:1.1rem; color:#C9C8CE; margin-bottom:2.2rem; }
.cta-actions { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }

@media (max-width: 1024px) {
    .ref-logos-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ref-lab-grid { grid-template-columns: 1fr 1fr; }
    .ref-testi-grid { grid-template-columns: 1fr; }
    .exp-hero-inner { grid-template-columns: 1fr; }
    .problem-wrap, .why-wrap { grid-template-columns: 1fr; }
    .tma-pillars { grid-template-columns: 1fr; }
    .services-grid { grid-template-columns: 1fr 1fr; }
    .proof-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .method-track { grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; }
    .method-track::before { display: none; }
}
@media (max-width: 600px) {
    .ref-logos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ref-logo-slot { padding: 1.1rem 0.85rem; min-height: 80px; }
    .ref-lab-grid { grid-template-columns: 1fr; }
    .ref-stats-wrap { grid-template-columns: 1fr; gap: 1.5rem; }
    .ref-stat + .ref-stat { border-left: none; border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 1.5rem; }
    .services-grid { grid-template-columns: 1fr; }
    .method-track { grid-template-columns: 1fr; }
    .exp-hero-actions .btn, .cta-actions .btn { width: 100%; }
}
