/* ============================================================
   Peak2002 — Shared Typography System
   All font-size declarations live here. Individual pages should
   NOT set font-size in their own <style> blocks.
   ============================================================ */

/* ----------------------------------------------------------
   1. SCALE TOKENS
   ---------------------------------------------------------- */
:root {
  --type-2xsmall: clamp(0.72rem, 0.06vw + 0.69rem, 0.78rem);
  --type-xsmall:  clamp(0.78rem, 0.08vw + 0.75rem, 0.84rem);
  --type-small:   clamp(0.84rem, 0.1vw  + 0.81rem, 0.9rem);
  --type-base:    clamp(0.98rem, 0.2vw  + 0.93rem, 1.05rem);
  --type-md:      1rem;
  --type-lead:    clamp(1.08rem, 0.35vw + 1rem, 1.22rem);
  --type-lg:      1.1rem;
  --type-xl:      1.25rem;
  --type-h4:      clamp(1.15rem, 1.5vw, 1.35rem);
  --type-h3:      clamp(1.35rem, 2vw, 1.85rem);
  --type-h2:      clamp(1.65rem, 2.8vw, 2.45rem);
  --type-h1:      clamp(2rem, 3.8vw, 3.3rem);
  --type-display: clamp(2.5rem, 5vw, 4rem);
  --type-hero:    clamp(3rem, 6vw, 5rem);
}

/* ----------------------------------------------------------
   2. BASE ELEMENTS
   ---------------------------------------------------------- */
html  { text-size-adjust: 100%; }
body  { font-size: var(--type-base); line-height: 1.6; }

h1, h2, h3, h4, h5, h6 { line-height: 1.2; margin-top: 0; }
h1 { font-size: var(--type-h1); }
h2 { font-size: var(--type-h2); }
h3 { font-size: var(--type-h3); }
h4 { font-size: var(--type-h4); }
h5 { font-size: var(--type-md); }
h6 { font-size: var(--type-small); }

p, li, label, input, textarea, select, button { font-size: inherit; }
small, .text-small { font-size: var(--type-small); }
.lead, .text-lead  { font-size: var(--type-lead); line-height: 1.65; }

/* ----------------------------------------------------------
   3. NAVIGATION
   ---------------------------------------------------------- */
.nav-links > li > a          { font-size: 0.95rem; }
.nav-badge                    { font-size: 0.65rem; }
.nav-icon-btn svg             { width: 22px; height: 22px; }
.mobile-menu-links > li > a,
.mobile-menu-group-title      { font-size: 1.5rem; }
.mobile-menu-sub a            { font-size: 1rem; }

/* ----------------------------------------------------------
   4. MEGA-MENU
   ---------------------------------------------------------- */
.mega-menu-title              { font-size: 2.5rem; }
.mega-menu-product-name       { font-size: 0.8rem; }
.mega-menu-icon-circle        { font-size: 2rem; }
.mega-menu-coming-soon        { font-size: 1.5rem; }
.mega-menu-description        { font-size: 0.95rem; }
.mega-menu-notify-btn         { font-size: 0.9rem; }
.mega-menu-column h4          { font-size: 0.75rem; }
.mega-menu-column a           { font-size: 1.1rem; }
.mega-menu-column ul li a     { font-size: 1.1rem; }
.mega-menu-column a.coming-soon:hover::after { font-size: 0.85rem; }

/* ----------------------------------------------------------
   5. FOOTER
   ---------------------------------------------------------- */
.footer-section h4            { font-size: 0.75rem; }
.footer-section a             { font-size: 1rem; }
.footer-bottom-left p         { font-size: 0.9rem; }
.footer-tagline               { font-size: 1rem; }
.footer-languages             { font-size: 0.95rem; }

/* ----------------------------------------------------------
   6. MAILING SECTION
   ---------------------------------------------------------- */
.mailing-section h2           { font-size: var(--type-display); }
.mailing-section p            { font-size: 1.1rem; }
.mailing-form input           { font-size: 1rem; }
.mailing-form button          { font-size: 1rem; }

/* ----------------------------------------------------------
   7. SECTION TITLES
   ---------------------------------------------------------- */
.section-title                { font-size: var(--type-display); }
.section-subtitle             { font-size: 1.1rem; }

/* ----------------------------------------------------------
   8. FAQ (shared reference section)
   ---------------------------------------------------------- */
.faq-reference-section .section-title { font-size: clamp(2rem, 3.3vw, 3.1rem); }
.faq-question                 { font-size: clamp(1.05rem, 1.35vw, 1.55rem); }
.faq-toggle                   { font-size: 2rem; }
.faq-answer p                 { font-size: 1rem; }

/* ----------------------------------------------------------
   9. STORY / BLOG CARDS
   ---------------------------------------------------------- */
.page-title                   { font-size: var(--type-hero); }
.page-subtitle                { font-size: 1.1rem; }
.story-card-date              { font-size: 0.85rem; }
.story-card-title             { font-size: 1.5rem; }
.story-card-excerpt           { font-size: 1rem; }
.featured-story-date          { font-size: 0.85rem; }
.featured-story-title         { font-size: clamp(2rem, 4vw, 3rem); }
.featured-story-excerpt       { font-size: 1.1rem; }
.post-back-btn                { font-size: 0.95rem; }

/* ----------------------------------------------------------
   10. LEGAL PAGES
   ---------------------------------------------------------- */
.legal-heading                { font-size: clamp(2.2rem, 4vw, 3rem); }
.legal-date                   { font-size: 0.9rem; }
.accordion-header             { font-size: 1rem; }
.accordion-title              { font-size: 1.02rem; }
.accordion-icon               { font-size: 1.75rem; }
.faq-topic-title              { font-size: 0.75rem; }

/* ----------------------------------------------------------
   11. PRODUCT PAGES — SHARED COMPONENTS
   ---------------------------------------------------------- */
.breadcrumb                   { font-size: 0.9rem; }
.product-title                { font-size: 3.5rem; }
.product-price                { font-size: 1.5rem; }
.size-label span              { font-size: 0.9rem; }
.size-guide-link              { font-size: 0.85rem; }
.size-option                  { font-size: 0.9rem; }
.quantity-btn                 { font-size: 1.25rem; }
.add-to-cart                  { font-size: 1rem; }
.product-description          { font-size: 0.95rem; }
.product-highlights h4        { font-size: 0.95rem; }
.product-highlights li        { font-size: 0.9rem; }
.terrain-label                { font-size: 0.75rem; }
.terrain-value                { font-size: 0.9rem; }
.rocker-pct                   { font-size: 1.1rem; }
.rocker-type                  { font-size: 0.7rem; }
.ski-shape-label              { font-size: 0.75rem; }
.ski-shape-desc               { font-size: 0.85rem; }
.ability-label                { font-size: 0.75rem; }
.ability-tag                  { font-size: 0.8rem; }
.personality-label            { font-size: 0.75rem; }
.specs-table                  { font-size: 0.9rem; }
.specs-table th               { font-size: 0.75rem; }
.features-title               { font-size: 2rem; }
.feature-title                { font-size: 1.1rem; }
.feature-desc                 { font-size: 0.9rem; }
.artwork-label                { font-size: 2.5rem; }
.artwork-title                { font-size: 1.75rem; }
.artwork-desc                 { font-size: 0.95rem; }
.artwork-credit-name          { font-size: 3rem; }

/* Size-guide / size-finder (product pages) */
.size-guide-title             { font-size: 1.75rem; }
.size-guide-subtitle          { font-size: 1rem; }
.sf-label                     { font-size: 0.8rem; }
.sf-height-input              { font-size: 1.5rem; }
.sf-unit                      { font-size: 1.1rem; }
.sf-next-btn, .sf-back-btn    { font-size: 0.95rem; }
.sf-back-btn                  { font-size: 0.85rem; }
.sf-level-btn .sf-level-name  { font-size: 1rem; }
.sf-level-btn .sf-level-hint  { font-size: 0.75rem; }
.sf-result-label              { font-size: 0.8rem; }
.sf-result-size               { font-size: 3.5rem; }
.sf-result-unit               { font-size: 1rem; }
.sf-result-explanation        { font-size: 0.95rem; }
.sf-select-btn                { font-size: 0.95rem; }
.sf-restart-btn               { font-size: 0.85rem; }

/* "Complete your setup" section (product pages) */
.complete-title               { font-size: 2.5rem; }
.complete-subtitle            { font-size: 1.1rem; }
.complete-card-name           { font-size: 1rem; }
.complete-card-price          { font-size: 1rem; }
.complete-card-rating-count   { font-size: 0.85rem; }

/* Delivery / product FAQ */
.delivery-title               { font-size: 1.1rem; }
.delivery-text                { font-size: 0.9rem; }
.faq-title                    { font-size: 2rem; }
.faq-item                     { font-size: 1rem; }

/* ----------------------------------------------------------
   12. WEBSHOP PAGE
   ---------------------------------------------------------- */
.shop-title                   { font-size: var(--type-hero); }
.shop-description             { font-size: 1.1rem; }
.shop-breadcrumb              { font-size: 0.9rem; }
.filter-btn                   { font-size: 0.9rem; }
.filter-modal-header h3       { font-size: 1.1rem; }
.filter-reset                 { font-size: 0.9rem; }
.filter-section h4            { font-size: 0.95rem; }
.filter-option                { font-size: 0.85rem; }
.filter-chip                  { font-size: 0.95rem; }
.filter-apply                 { font-size: 0.85rem; }
.filter-clear                 { font-size: 1rem; }
.product-badge                { font-size: 0.75rem; }
.product-card h3              { font-size: 0.95rem; }
.product-card-model           { font-size: 0.9rem; }
.product-card .filter-btn     { font-size: 0.8rem; }
.sustainability-item h3       { font-size: 1.2rem; }
.sustainability-item p        { font-size: 0.95rem; }
.ski-finder-left h2           { font-size: var(--type-display); }
.ski-finder-left p            { font-size: 1.2rem; }
.ski-finder-feature span      { font-size: 1rem; }
.ski-finder-cta               { font-size: 1.1rem; }

/* ----------------------------------------------------------
   13. SKI-FINDER PAGE
   ---------------------------------------------------------- */
.finder-hero h1               { font-size: var(--type-hero); }
.finder-hero p                { font-size: 1.25rem; }
.progress-step                { font-size: 0.9rem; }
.quiz-question                { font-size: 2rem; }
.quiz-subtitle                { font-size: 1.1rem; }
.answer-icon                  { font-size: 1.5rem; }
.answer-content h3            { font-size: 1.1rem; }
.answer-content p             { font-size: 0.9rem; }
.btn-quiz                     { font-size: 1rem; }
.results-title                { font-size: 2.5rem; }
.results-subtitle             { font-size: 1.1rem; }
.result-info h2               { font-size: 2rem; }
.result-model                 { font-size: 1rem; }
.result-match                 { font-size: 0.85rem; }
.result-description           { font-size: 1rem; }
.result-spec-label            { font-size: 0.75rem; }
.result-spec-value            { font-size: 1.25rem; }
.other-recommendations h3     { font-size: 1.25rem; }
.other-product-card h4        { font-size: 1rem; }
.other-product-card p         { font-size: 0.85rem; }
.btn-restart                  { font-size: 1rem; }

/* ----------------------------------------------------------
   14. COMPARE PAGE
   ---------------------------------------------------------- */
.compare-ski-finder-link      { font-size: 0.9rem; }
.compare-title                { font-size: 2.5rem; }
.compare-card-name            { font-size: 1.5rem; }
.compare-card-desc            { font-size: 0.9rem; }
.compare-spec-label           { font-size: 0.75rem; }
.compare-spec-value           { font-size: 0.95rem; }
.compare-tag                  { font-size: 0.8rem; }
.compare-cta                  { font-size: 0.95rem; }
.compare-empty-title          { font-size: 1.5rem; }
.ski-finder-text              { font-size: 1.1rem; }

/* ----------------------------------------------------------
   15. CONTACT PAGE
   ---------------------------------------------------------- */
.contact-hero h1              { font-size: var(--type-hero); }
.contact-hero p               { font-size: 1.25rem; }
.contact-info h3              { font-size: clamp(2rem, 4vw, 2.5rem); }
.contact-info p               { font-size: 1.15rem; }
.contact-detail-item h4       { font-size: 0.85rem; }
.contact-detail-item a,
.contact-detail-item p        { font-size: 1.15rem; }

/* ----------------------------------------------------------
   16. TEAM PAGE
   ---------------------------------------------------------- */
.leadership-kicker            { font-size: 0.8rem; }
.leadership-intro h2          { font-size: clamp(2.1rem, 4vw, 3.2rem); }
.leadership-intro p           { font-size: 1.05rem; }
.leadership-intro a           { font-size: 0.95rem; }
.team-group-label             { font-size: 0.78rem; }
.team-group-heading h3        { font-size: clamp(1.55rem, 2.6vw, 2rem); }
.leader-role                  { font-size: 1.05rem; }
.leader-name                  { font-size: 2rem; }
.leader-bio                   { font-size: 1.02rem; }

/* ----------------------------------------------------------
   17. INDEX / HOME PAGE
   ---------------------------------------------------------- */
.hero-title                   { font-size: clamp(2.5rem, 5vw, 4rem); }
.hero-cta                     { font-size: 1rem; }
.section-text                 { font-size: clamp(1.2rem, 2vw, 1.8rem); }
.section-cta                  { font-size: 1rem; }
.mission-stat-number          { font-size: clamp(2.5rem, 4vw, 4rem); }
.mission-stat-label           { font-size: 0.9rem; }
.tech-item h3                 { font-size: 1.3rem; }
.tech-item p                  { font-size: 1rem; }
.stat-number                  { font-size: clamp(2.5rem, 5vw, 4rem); }
.stat-label                   { font-size: 1.1rem; }
.artwork-text .section-title  { font-size: clamp(2.5rem, 5vw, 3.5rem); }
.artwork-text .section-text   { font-size: 1.3rem; }
.two-col h3                   { font-size: 2rem; }
.two-col p                    { font-size: 1.1rem; }
.products-section .section-title { font-size: clamp(2.5rem, 5vw, 3.5rem); }
.products-section .section-text  { font-size: 1.3rem; }
.product-overlay h3           { font-size: 1.5rem; }
.product-overlay p            { font-size: 0.9rem; }
.why-item-number              { font-size: 3.5rem; }
.why-item-title               { font-size: 1.6rem; }
.why-item-text                { font-size: 1.1rem; }
.why-highlight-box h3         { font-size: 2rem; }
.why-highlight-box p          { font-size: 1.2rem; }

/* Modals */
.modal-close                  { font-size: 1.5rem; }
.modal h2                     { font-size: 2rem; }
.modal p                      { font-size: 1rem; }
.form-group label             { font-size: 0.9rem; }
.form-group input             { font-size: 1rem; }
.form-group textarea          { font-size: 1rem; }
.form-group button            { font-size: 1.1rem; }
.form-message                 { font-size: 0.9rem; }

/* ----------------------------------------------------------
   18. 404 PAGE
   ---------------------------------------------------------- */
.snowflake                    { font-size: 1rem; }
.code                         { font-size: clamp(6rem, 20vw, 12rem); }
.tagline                      { font-size: 1.25rem; }
.sub                          { font-size: 1rem; }

/* ----------------------------------------------------------
   19. RESPONSIVE OVERRIDES
   ---------------------------------------------------------- */
@media (max-width: 968px) {
  .nav-links > li > a                { font-size: 0.85rem; }
  .mega-menu-title                   { font-size: 1.5rem; }
  .products-section .section-title   { font-size: clamp(2rem, 4vw, 2.5rem); }
  .products-section .section-text    { font-size: 1.1rem; }
  .ski-finder-left h2                { font-size: 2.5rem; }
  .quiz-question                     { font-size: 1.5rem; }
}

@media (max-width: 768px) {
  .hero-title                        { font-size: clamp(2.6rem, 11vw, 4rem); }
  .section-title                     { font-size: clamp(1.5rem, 6vw, 2.5rem); }
  .section-text                      { font-size: clamp(0.85rem, 2.5vw, 1rem); }
  .products-section .section-title   { font-size: clamp(1.5rem, 6vw, 2.5rem); }
  .products-section .section-text    { font-size: clamp(0.8rem, 2.5vw, 0.95rem); }
  .artwork-text .section-title       { font-size: clamp(1.2rem, 5vw, 2rem); }
  .artwork-text .section-text        { font-size: clamp(0.8rem, 2.3vw, 0.9rem); }
  .page-title                        { font-size: 2.5rem; }
  .compare-title                     { font-size: 2rem; }
}

@media (max-width: 640px) {
  .shop-title                        { font-size: clamp(1.8rem, 6.5vw, 2.5rem); }
  .shop-description                  { font-size: clamp(0.85rem, 2.5vw, 1rem); }
  .filter-btn                        { font-size: clamp(0.75rem, 2.2vw, 0.85rem); }
  .footer-section h4                 { font-size: clamp(0.55rem, 1.8vw, 0.65rem); }
  .footer-section a                  { font-size: clamp(0.75rem, 2.2vw, 0.85rem); }
  .mailing-section h2                { font-size: 1.5rem; }
  .mailing-section p                 { font-size: 0.8rem; }
  .mailing-form input                { font-size: 0.85rem; }
  .mailing-form button               { font-size: 0.85rem; }
}

@media (max-width: 480px) {
  .hero-title                        { font-size: clamp(2.2rem, 10vw, 3rem); }
  .hero-subtitle                     { font-size: 0.85rem; }
  .section-title                     { font-size: 1.4rem; }
  .section-text                      { font-size: 0.8rem; }
  .products-section .section-title   { font-size: 1.4rem; }
  .artwork-text .section-title       { font-size: 1.2rem; }
  .artwork-text .section-text        { font-size: 0.75rem; }
  .footer-section h4                 { font-size: 0.5rem; }
  .footer-section a                  { font-size: 0.7rem; }
  .footer-bottom                     { font-size: 0.7rem; }
  .shop-title                        { font-size: 1.5rem; }
  .shop-description                  { font-size: 0.8rem; }
  .filter-btn                        { font-size: 0.7rem; }
}

/* Product page mobile */
@media (max-width: 768px) {
  .product-title                     { font-size: clamp(1.5rem, 5.5vw, 2rem); }
}
@media (max-width: 480px) {
  .product-title                     { font-size: clamp(1.3rem, 4.5vw, 1.8rem); }
  .product-price                     { font-size: clamp(0.65rem, 2vw, 0.75rem); }
}

/* ----------------------------------------------------------
   20. SKI TECHNOLOGY PAGE
   ---------------------------------------------------------- */
:root {
    --tech-surface: #f8fafc;
    --tech-border: #dbe2ea;
    --tech-muted: #64748b;
    --tech-shadow: 0 14px 34px rgba(2, 21, 40, 0.08);
}

.tech-page {
    max-width: 1120px;
    margin: 0 auto;
}

.tech-section {
    margin-bottom: 4rem;
    padding: 0 0 1.8rem;
    border: none;
    border-bottom: none;
    border-radius: 0;
    background: transparent;
}

.tech-section-heading {
    margin-bottom: 0.9rem;
}

.tech-section-kicker {
    font-size: 0.78rem;
    color: var(--tech-muted);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.4rem;
}

.tech-section h2 {
    font-size: clamp(1.45rem, 3vw, 2.05rem);
    font-weight: 500;
}

.tech-section:last-of-type {
    margin-bottom: 5rem;
}

.tech-section p {
    color: #334155;
    line-height: 1.65;
}

.tech-hero {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 1rem;
    align-items: stretch;
}

.tech-hero-copy h1 {
    font-size: clamp(2rem, 4.8vw, 3.4rem);
    line-height: 1.1;
    margin-bottom: 0.8rem;
}

.tech-hero-cta {
    margin-top: 1rem;
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.tech-btn {
    border: 1px solid var(--tech-border);
    color: var(--navy);
    text-decoration: none;
    border-radius: 999px;
    padding: 0.55rem 1rem;
    font-size: 0.88rem;
    transition: all 0.2s ease;
}

.tech-btn:hover {
    transform: translateY(-1px);
    border-color: #a3b2c3;
}

.tech-btn--primary {
    background: var(--navy);
    color: #fff;
    border-color: var(--navy);
}

.tech-hero-visual {
    border-radius: 0;
    border: none;
    background: linear-gradient(150deg, #061f36 0%, #0e3458 45%, #0a2845 100%);
    padding: 0;
    display: grid;
    align-content: center;
    gap: 0.55rem;
    min-height: 220px;
    overflow: hidden;
}

.tech-real-image {
    width: 100%;
    display: block;
    border-radius: 0;
    border: none;
    object-fit: cover;
}

.tech-real-image--hero {
    min-height: 220px;
    max-height: none;
    height: 100%;
    border: none;
    border-radius: 0;
}

.tech-chip-row {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.9rem;
}

.tech-chip {
    border: 1px solid var(--tech-border);
    border-radius: 999px;
    background: #fff;
    color: #334155;
    font-size: 0.8rem;
    padding: 0.38rem 0.72rem;
    cursor: pointer;
}

.tech-chip.is-active {
    background: var(--navy);
    border-color: var(--navy);
    color: #fff;
}

#materials {
    background: var(--navy);
    color: #fff;
    border-bottom: none;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 1.9rem 2rem;
    margin-top: 1rem;
}

#materials > * {
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

#materials .tech-section-kicker,
#materials h2,
#materials p {
    color: #fff;
}

#materials .tech-chip {
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

#materials .tech-chip.is-active {
    background: #fff;
    border-color: #fff;
    color: var(--navy);
}

#materials .tech-material-card {
    border-bottom-color: rgba(255, 255, 255, 0.25);
    color: #fff;
}

#materials .tech-material-card h3,
#materials .tech-material-card p,
#materials .tech-material-card small {
    color: #fff;
}

#materials .tech-material-card p {
    opacity: 0.88;
}

#materials .tech-material-card small {
    opacity: 0.72;
}

#materials .tech-material-card:hover {
    border-bottom-color: rgba(255, 255, 255, 0.7);
}

.tech-material-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.tech-material-card {
    text-align: left;
    border: none;
    border-bottom: 1px solid #e2e8f0;
    border-radius: 0;
    background: transparent;
    padding: 0.75rem 0.2rem 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.tech-material-card:hover {
    border-bottom-color: #94a3b8;
    transform: none;
}

.tech-material-card h3 {
    font-size: 0.98rem;
    margin-bottom: 0.25rem;
}

.tech-material-card p {
    font-size: 0.86rem;
    color: #4b5563;
}

.tech-material-card small {
    display: block;
    margin-top: 0.45rem;
    font-size: 0.72rem;
    color: #64748b;
    text-transform: uppercase;
}

.tech-faq-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.tech-section--faq {
    border: none;
    background: transparent;
    max-width: 900px;
    margin: 0 auto 2.3rem;
    padding: 0;
}

.tech-section--faq .tech-section-heading {
    margin-bottom: 1.35rem;
}

.tech-section--faq .tech-section-heading h2 {
    font-size: clamp(2rem, 3.8vw, 2.65rem);
    text-align: center;
    font-weight: 600;
}

.tech-faq-item {
    border-bottom: 1px solid var(--tech-border);
}

.tech-faq-question {
    width: 100%;
    padding: 1.45rem 0;
    background: none;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
    color: var(--navy);
    text-align: left;
    transition: color 0.2s ease;
}

.tech-faq-question:hover {
    color: var(--pink);
}

.tech-faq-toggle {
    font-size: 1.45rem;
    font-weight: 300;
    transition: transform 0.25s ease;
    color: var(--navy);
}

.tech-faq-item.is-open .tech-faq-toggle {
    transform: rotate(45deg);
}

.tech-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.28s ease;
}

.tech-faq-item.is-open .tech-faq-answer {
    max-height: 520px;
}

.tech-faq-answer p {
    padding-bottom: 1.35rem;
    color: #475569;
    line-height: 1.75;
    font-size: 0.95rem;
}

.tech-fade-in {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.tech-fade-in.is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 980px) {
    .tech-hero {
        grid-template-columns: 1fr;
    }

    .tech-material-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .tech-section {
        padding: 1rem;
    }

    .tech-material-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tech-fade-in,
    .tech-material-card,
    .tech-btn {
        transition: none !important;
    }
}
