/* le-projet.ch — Architecture du projet. Shared brand tokens and components. */
:root {
  --bg: #142a32; --bg-elevated: #1c343d; --bg-card: #203a43;
  --bg-card-hover: #28434b; --text: #f6f3eb; --text-secondary: #c5d2d3;
  --text-tertiary: #a5babb; --border: #3b535b; --border-light: #657c82;
  --accent: #bd3b2c; --accent-light: #f3a08e; --teal: #a4d1cb;
  --accent-glow: transparent; --teal-glow: transparent;
  --navbar-bg: #142a32; --nav-pill-bg: transparent;
  --radius: 8px; --radius-lg: 12px;
}
[data-theme="light"] {
  --bg: #f6f3eb; --bg-elevated: #eeebe2; --bg-card: #fffcf6;
  --bg-card-hover: #ffffff; --text: #142a32; --text-secondary: #4a5d61;
  --text-tertiary: #53666a; --border: #d1d5cc; --border-light: #a3b1ae;
  --accent: #bd3b2c; --accent-light: #ad3326; --teal: #136358;
  --success: #136358; --error: #ad3326;
  --navbar-bg: #f6f3eb; --nav-pill-bg: transparent;
}
body { font-size: 16px; }
.container { max-width: 1280px; padding-inline: 3rem; }
.navbar { padding: 1.2rem 0; border-bottom: 1px solid var(--border); backdrop-filter: none; }
.nav-brand { gap: .5rem; min-width: 215px; font-size: 1.15rem; letter-spacing: -.035em; }
.brand-text, [data-theme="light"] .brand-text {
  background: none; -webkit-text-fill-color: currentColor; color: var(--text);
  width: 146px; min-height: 1.6em;
}
.brand-text.typing::after { background: var(--accent-light); }
.nav-brand { position:relative; width:190px; min-width:190px; padding:0; align-items:center; }
.brand-frame { display:inline-flex; position:relative; width:168px; border-left:2px solid var(--accent-light); border-bottom:2px solid var(--accent-light); padding:.3rem .65rem .35rem; }
.brand-frame::before { content:''; position:absolute; left:-2px; top:0; width:48%; height:2px; background:var(--accent-light); }
.brand-frame .brand-text, [data-theme="light"] .brand-frame .brand-text { width:auto; min-height:1.4em; color:var(--accent-light); font-size:1.2rem; font-weight:600; letter-spacing:-.035em; white-space:nowrap; }
.brand-frame .brand-text.typing::after { background:var(--accent-light); }
.navbar { padding: .65rem 0; }
.nav-center { background: none; border: 0; padding: 0; backdrop-filter: none; }
.nav-link { font-size: .81rem; font-weight: 500; padding: .45rem .55rem; color: var(--text-secondary); }
.nav-link:hover { background: var(--bg-elevated); color: var(--text); }
.btn-nav { border-radius: 6px; border: 1px solid var(--border-light); color: var(--text); }
.btn { border-radius: 6px; min-height: 46px; padding: .8rem 1.2rem; font-weight: 600; box-shadow: none; }
.btn-accent { background: var(--accent); color: #fff; border: 1px solid var(--accent); }
.btn-accent:hover { background: #9f3024; color: #fff; box-shadow: none; transform: none; }
.btn-outline { border-color: var(--border-light); color: var(--text); background: transparent; }
.btn-outline:hover { background: var(--bg-elevated); color: var(--text); transform: none; }
.site-hero { background: var(--bg); min-height: auto; padding: 10rem 0 5rem; }
.site-hero::before { display: none; }
.hero-layout { grid-template-columns: 1.2fr 1fr; gap: 5rem; align-items: center; }
.hero-content { text-align: left; }
.site-hero h1 { font-size: clamp(2.8rem, 4.5vw, 4.4rem); color: var(--text); line-height: 1.06; letter-spacing: -.055em; font-weight: 600; margin-bottom: 1.8rem; }
.gradient, .hero h1 .gradient, [data-theme="light"] .hero h1 .gradient {
  background: none; -webkit-text-fill-color: currentColor; color: var(--accent-light);
}
.site-hero .hero-badge, [data-theme="light"] .site-hero .hero-badge {
  color: var(--text-secondary); background: transparent; border: 0; border-radius: 0;
  padding: 0 0 0 1rem; border-left: 2px solid var(--accent-light); backdrop-filter: none; font-size: .75rem; letter-spacing: .06em;
}
.site-hero p.lead, [data-theme="light"] .site-hero p.lead { color: var(--text-secondary); margin: 0 0 2rem; font-size: 1.05rem; line-height: 1.8; max-width: 570px; }
.site-hero .btn-outline, [data-theme="light"] .site-hero .btn-outline { color: var(--text); border-color: var(--border-light); }
.hero-caption { color: var(--text-secondary); font-size: .82rem; }
.project-preview { border: 1px solid var(--border); border-radius: 0; box-shadow: none; color: var(--text); background: var(--bg-card); padding: 2.2rem; position: relative; }
.project-preview::before { content: ''; position: absolute; left: -10px; top: -10px; width: 36px; height: 36px; border-left: 2px solid var(--accent-light); border-top: 2px solid var(--accent-light); }
.preview-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.preview-label { color: var(--text-secondary); font-size: .65rem; letter-spacing: .09em; }
.preview-code { color: var(--text-secondary); font: .68rem ui-monospace, monospace; }
.project-preview h2 { font-size: 1.8rem; letter-spacing: -.035em; font-weight: 500; }
.preview-steps { position: relative; }
.preview-steps::before { content: ''; position: absolute; width: 1px; top: 20px; bottom: 30px; left: 19px; background: var(--border); }
.preview-steps li { position: relative; }
.preview-steps li > span { border: 1px solid var(--border-light); color: var(--teal); background: var(--bg-card); border-radius: 4px; font-family: ui-monospace, monospace; }
.preview-steps strong { font-weight: 600; font-size: .95rem; }
.preview-steps p { color: var(--text-secondary); font-size: .83rem; }
.preview-footnote { border-color: var(--border); color: var(--text-secondary); font-size: .8rem; line-height: 1.8; }
.section { padding: 5rem 0; }
.section-label { color: var(--teal); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
.section-heading, .preparation-grid h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.04em; line-height: 1.2; font-weight: 500; margin: .7rem 0 2rem; }
.section-tinted { border-block: 1px solid var(--border); }
.card { background: var(--bg-card); border-color: var(--border); box-shadow: none; border-radius: 8px; padding: 2rem; }
.card:hover { transform: none; border-color: var(--border-light); box-shadow: none; }
.card-glow::before { display: none; }
.card h3 { font-size: 1.12rem; font-weight: 600; letter-spacing: -.025em; }
.card p { font-size: .95rem; line-height: 1.8; }
.sector-card { min-height: 255px; display: flex; flex-direction: column; border-top: 2px solid var(--teal); }
a.sector-card { position: relative; }
/* A small assembly detail identifies choices; static information cards keep none. */
a.sector-card::after {
  content: ''; position: absolute; inset-inline-end: 1rem; inset-block-end: 1rem;
  width: .625rem; height: .625rem; border-inline-end: 2px solid var(--accent-light);
  border-block-end: 2px solid var(--accent-light); pointer-events: none;
  transition: width .16s ease, height .16s ease;
}
@media (hover: hover) and (pointer: fine) {
  a.sector-card:hover::after { width: .875rem; height: .875rem; }
}
a.sector-card:focus-visible::after { width: .875rem; height: .875rem; }
@media (max-width: 768px) {
  a.sector-card::after { inset-inline-end: .5rem; inset-block-end: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  a.sector-card::after, a.sector-card:hover::after, a.sector-card:focus-visible::after {
    width: .625rem; height: .625rem; transition: none;
  }
}
.sector-card h3 { font-size: 1.65rem; margin-bottom: .75rem; }
.sector-number { display: block; color: var(--text-secondary); font: .75rem ui-monospace, monospace; margin-bottom: 1.5rem; }
.sector-card .text-link { margin-top: auto; padding-top: 1.5rem; }
.text-link { color: var(--teal); font-size: .9rem; }
.page-hero { padding-top: 9rem; padding-bottom: 3.5rem; border-bottom: 1px solid var(--border); }
.page-hero h1 { font-size: clamp(2.3rem, 4vw, 3.8rem); max-width: 1000px; font-weight: 500; letter-spacing: -.04em; }
.page-hero .lead { color: var(--text-secondary); max-width: 790px; }
.cta-section { background: var(--text); color: var(--bg); padding: 5rem 0; }
.cta-section::before { display: none; }
.cta-section h2 { color: var(--bg); font-weight: 500; letter-spacing: -.035em; }
.cta-section p { color: var(--bg); opacity: .8; }
.cta-section .btn-outline { color: var(--bg); border-color: var(--bg); }
.cta-section .btn-outline:hover { color: var(--text); background: var(--bg); }
.footer { padding: 2rem 0; background: var(--bg); border-top: 1px solid var(--border); }
.footer-links { flex-wrap: wrap; gap: 1rem; }
.footer-links a { color: var(--text-secondary); }
.theme-toggle { color: var(--text-secondary); border-radius: 4px; margin-left: 0; }
.form-card { box-shadow: none; border-radius: 8px; }
.form-group input, .form-group select, .form-group textarea { border-radius: 5px; }
.notification-area { position: relative; margin-top: 7rem; }
.notification-area + main .page-hero { padding-top: 2rem; }
.contact-choices h2 { font-size: 1.6rem; line-height: 1.3; margin-bottom: 1rem; }
.callback-form { margin-top: 3rem; max-width: 780px; }
.callback-form > h2 { margin-bottom: 1.5rem; }
.contact-details { margin-top: 3rem; }
.contact-details h2 { margin-bottom: 1rem; }
.agent-price { font-size: 1rem; color: var(--teal); margin: 1.6rem 0; font-weight: 600; }
.agent-context h3 { margin-top: 1rem; }
.agent-context-result { max-width: 900px; margin-top: 2rem; line-height: 1.8; color: var(--text-secondary); }
.agent-selector { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.agent-selector a { display: flex; flex-direction: column; gap: 1rem; color: var(--text); }
.agent-selector strong { font-size: 1.3rem; font-weight: 500; }
.agent-selector span { color: var(--text-secondary); line-height: 1.7; }
.agent-selector small { color: var(--teal); margin-top: auto; }
.agent-section { border-top: 1px solid var(--border); scroll-margin-top: 110px; }
.agent-heading { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 2.5rem; }
.agent-heading h2 { margin: .5rem 0; }
.agent-heading p { color: var(--text-secondary); }
.agent-heading img, .agent-selector img { flex-shrink: 0; }
.agent-audience { font-size: .9rem; color: var(--text-secondary); }
.agent-action-title { margin-top: 1.5rem; }
.agent-actions { padding-left: 1.2rem; color: var(--text-secondary); font-size: .95rem; line-height: 1.8; }
.agent-actions li { margin-top: .5rem; }
.agent-examples { margin-top: 3rem; }
.agent-examples > h3 { font-size: 1.4rem; font-weight: 500; }
.agent-examples > .form-note { margin: 1rem 0 1.8rem; }
.agent-example { background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; }
.agent-example summary { padding: 1.3rem 1.5rem; cursor: pointer; font-weight: 600; }
.agent-example-body { padding: 0 1.5rem 1.5rem; }
.agent-question, .agent-answer { padding: 1rem; border-left: 2px solid var(--accent-light); background: var(--bg-elevated); margin-bottom: 1rem; }
.agent-answer { border-color: var(--teal); background: transparent; }
.agent-question > span, .agent-answer > span { display: block; color: var(--teal); text-transform: uppercase; font-size: .65rem; letter-spacing: .08em; margin-bottom: .6rem; }
.agent-question strong { font-size: 1rem; line-height: 1.6; font-weight: 500; }
.agent-answer p, .agent-next p { color: var(--text-secondary); line-height: 1.8; }
.agent-example-source { font-size: .78rem; line-height: 1.7; color: var(--text-secondary); }
.agent-next { border-top: 1px solid var(--border); margin-top: 1.2rem; padding-top: 1.2rem; }
.agent-next > strong { color: var(--teal); font-size: .8rem; }
.agent-next p { margin-top: .5rem; font-size: .9rem; }
.agent-boundary { max-width: 960px; border-left: 2px solid var(--border-light); padding-left: 1rem; margin-top: 2rem; color: var(--text-secondary); font-size: .85rem; line-height: 1.8; }
@media(max-width:768px) { .agent-selector { grid-template-columns:1fr; } .agent-heading { gap:1rem; } .agent-heading img { width:64px;height:64px; } }
.story-intro { max-width: 800px; color: var(--text-secondary); margin-bottom: 3rem; }
.story-layout { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.8fr); gap: 5rem; align-items: start; }
.story-position { position: sticky; top: 110px; border-top: 2px solid var(--accent-light); padding-top: 1.5rem; }
.story-count { font: .8rem ui-monospace,monospace; color: var(--teal); margin: 1rem 0; }
.story-position h2 { font-size: 1.4rem; line-height: 1.3; letter-spacing: -.025em; margin-bottom: 1rem; }
.story-tool { font-size: .85rem; color: var(--teal); }
.story-output { font-size: .9rem; color: var(--text-secondary); margin-top: .8rem; }
.story-position ol { list-style: none; padding: 1.4rem 0 0; margin: 0; }
.story-position li a { display: flex; gap: .8rem; padding: .45rem .6rem; border-left: 2px solid transparent; font-size: .83rem; color: var(--text-secondary); }
.story-position a[aria-current="step"] { border-color: var(--accent-light); color: var(--text); background: var(--bg-elevated); }
.story-position li span { font-family: ui-monospace,monospace; }
.story-chapter { padding: 0 0 4rem; margin-bottom: 4rem; border-bottom: 1px solid var(--border); scroll-margin-top: 120px; }
.story-chapter:last-child { margin-bottom: 0; }
.story-chapter h2 { font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 500; line-height: 1.2; letter-spacing: -.04em; margin: .9rem 0 1.5rem; }
.story-chapter h3 { font-size: 1.05rem; margin-bottom: .7rem; }
.story-chapter p { color: var(--text-secondary); line-height: 1.8; }
.story-narrative { font-size: 1.1rem; }
.story-flow { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; background: var(--bg-elevated); padding: 1.4rem; margin: 2rem 0; border: 1px solid var(--border); }
.story-flow div > span { font-size: .65rem; color: var(--teal); text-transform: uppercase; letter-spacing: .08em; }
.story-flow p { font-size: .9rem; margin-top: .4rem; }
.story-arrow { color: var(--accent-light); }
.story-proof { margin-top: 1.3rem; }
.story-proof strong { color: var(--text); font-size: .8rem; }
.story-method { border-left: 2px solid var(--teal); padding-left: 1.2rem; margin-top: 1.8rem; }
.story-method p { font-size: .88rem; margin-top: .5rem; }
.story-method-link { margin-top: 2rem; }
.app-stack { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin: 2rem 0; align-items: start; }
.app-detail { border: 1px solid var(--border); border-radius: 8px; background: var(--bg-card); }
.app-detail summary { display: flex; align-items: center; gap: 1rem; padding: 1.3rem; cursor: pointer; list-style: none; }
.app-detail summary::-webkit-details-marker { display: none; }
.app-detail summary > span:nth-child(2) { flex: 1; min-width: 0; }
.app-detail strong { display: block; font-size: 1rem; font-weight: 600; }
.app-detail small { display: block; margin-top: .4rem; color: var(--text-secondary); line-height: 1.5; }
.app-detail img { flex: 0 0 52px; object-fit: contain; }
.app-expand { color: var(--teal); font-size: 1.5rem; }
.app-detail[open] .app-expand { transform: rotate(45deg); }
.app-body { padding: 0 1.3rem 1.5rem; }
.app-body h3 { font-size: .8rem; color: var(--teal); margin: 1rem 0 .5rem; }
.app-body p { color: var(--text-secondary); font-size: .9rem; line-height: 1.8; }
.construction-app-icon { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px; font-size: 2rem; border: 2px solid var(--accent-light); color: var(--accent-light); }
.module-keypoints { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.module-keypoints a { display:flex; flex-direction:column; gap:.8rem; color:var(--text); }
.module-keypoints h3 { font-size:1.2rem; font-weight:500; }
.module-keypoints p { font-size:.9rem; line-height:1.7; color:var(--text-secondary); }
.module-keypoints .text-link { margin-top:auto; }
.module-keypoints-note { margin-top:1.8rem; }
.construction-visual { margin:2rem 0; padding:1.8rem; border:1px solid var(--border); background:var(--bg-card); }
.construction-visual-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1rem; }
.construction-visual-top > span:last-child { color:var(--text-secondary); font-size:.65rem; }
.construction-visual h3 { font-size:1.15rem; font-weight:500; margin-bottom:1.3rem; line-height:1.5; }
.construction-visual figcaption { border-top:1px solid var(--border); padding-top:1rem; margin-top:1.3rem; color:var(--text-secondary); font-size:.78rem; line-height:1.7; }
.module-chain { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; list-style:none; padding:0; }
.module-chain li { position:relative; border-top:1px solid var(--border-light); padding-top:.8rem; }
.module-chain li > span { display:block; color:var(--teal); font:.7rem ui-monospace,monospace; margin-bottom:.7rem; }
.module-chain strong { font-size:.85rem; font-weight:500; line-height:1.6; }
.module-outline-row { display:flex; align-items:center; gap:.8rem; padding:.8rem 0; border-bottom:1px solid var(--border); }
.module-outline-row > strong { min-width:100px; font-size:.85rem; font-weight:500; }
.module-outline-row > span:last-child { color:var(--text-secondary); font-size:.8rem; }
.module-outline-row.level-1 { margin-left:1rem; }.module-outline-row.level-2 { margin-left:2rem; }
.module-node { width:8px; height:8px; background:var(--teal); flex-shrink:0; }
.module-tags { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.2rem; }
.module-tags span { padding:.35rem .6rem; border:1px solid var(--border-light); color:var(--teal); font-size:.7rem; }
.module-root { border:1px solid var(--border-light); padding:1rem; text-align:center; font-size:.95rem; }
.module-children { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:0 1rem; padding-top:1.4rem; }
.module-children span { position:relative; border:1px solid var(--border); padding:.8rem; font-size:.85rem; text-align:center; color:var(--text-secondary); }
.module-children span::before { content:''; position:absolute; width:1px; height:1.4rem; background:var(--border-light); top:-1.4rem; left:50%; }
.module-project { display:flex; flex-direction:column; align-items:center; gap:.7rem; margin-top:1rem; color:var(--teal); }
.module-project strong { font-size:.85rem; font-weight:500; }
.module-metrics { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.5rem; }
.module-metrics dt { font-size:.75rem; color:var(--text-secondary); }
.module-metrics dd { margin:.5rem 0 0; font-size:1.9rem; letter-spacing:-.04em; color:var(--text); }
.module-progress-label { display:flex; justify-content:space-between; gap:1rem; font-size:.8rem; }
.module-progress-label strong { color:var(--teal); }
.module-progress { height:7px; background:var(--border); margin:.8rem 0; }
.module-progress span { display:block; height:100%; background:var(--teal); }
.construction-visual .module-validation { font-size:.75rem; line-height:1.7; color:var(--text-secondary); }
.module-documents { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.module-document { border:1px solid var(--border-light); padding:1rem; display:flex; flex-direction:column; gap:.7rem; }
.module-document strong { font-size:.9rem; color:var(--text); font-weight:500; }
.module-document span { font-size:.8rem; color:var(--text-secondary); border-left:2px solid var(--teal); padding-left:.6rem; }
@media(max-width:768px) { .module-keypoints { grid-template-columns:1fr 1fr; } .construction-visual { padding:1.2rem; } .module-outline-row { flex-wrap:wrap; } }
@media(max-width:480px) { .module-keypoints { grid-template-columns:1fr; } .module-chain { grid-template-columns:1fr; } .module-documents { grid-template-columns:1fr; } .construction-visual-top { flex-direction:column; align-items:flex-start; gap:.4rem; } }
.certification-section { border-block: 1px solid var(--border); scroll-margin-top:110px; }
.certification-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; }
.certification-intro h2 { max-width:750px; }
.certification-status { border:1px solid var(--border-light); color:var(--teal); padding:.7rem 1rem; font-size:.8rem; line-height:1.6; max-width:220px; flex-shrink:0; }
.certification-flow { margin:2rem 0; }
.certification-flow h3 { margin-top:1rem; }
.certification-benefit { max-width:940px; border-left:2px solid var(--teal); padding-left:1.2rem; color:var(--text); line-height:1.8; }
.certification-explanation { margin:2rem 0 1.5rem; border-block:1px solid var(--border); }
.certification-explanation summary { padding:1rem 0; cursor:pointer; color:var(--text); }
.certification-explanation > div { padding:0 0 1rem; }
.certification-explanation p { max-width:1000px; margin-bottom:1rem; line-height:1.8; color:var(--text-secondary); }
.certification-explanation .text-link { display:inline; }
.certification-scope { max-width:1000px; font-size:.85rem; color:var(--text-secondary); line-height:1.8; margin-bottom:1.5rem; }
@media(max-width:768px) { .certification-intro { flex-direction:column; gap:0; margin-bottom:1.5rem; } .certification-intro h2 { margin-bottom:1.2rem; } .certification-status { max-width:none; } }
summary:focus-visible, .story-position a:focus-visible { outline: 2px solid var(--teal); outline-offset: 4px; }
@media (max-width: 900px) {
  .story-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .story-position { z-index: 5; top: 90px; background: var(--bg); padding: .7rem 0; border-bottom: 1px solid var(--border); }
  .story-position > .section-label, .story-position h2, .story-output, .story-position nav { display: none; }
  .story-count { display: inline; margin: 0 .7rem 0 0; }
  .story-tool { display: inline; font-size: .75rem; }
  .story-chapter { scroll-margin-top: 145px; padding-bottom: 3rem; margin-bottom: 3rem; }
  .app-stack { grid-template-columns: 1fr; }
}
@media (max-width: 360px) { .story-flow { grid-template-columns: 1fr; } .story-arrow { transform: rotate(90deg); justify-self: start; } }
@media (max-width: 1100px) {
  .container { padding-inline: 2rem; }
  .hero-layout { gap: 2.5rem; }
  .nav-brand { min-width: 0; }
  .nav-center { background: var(--bg); border-bottom: 1px solid var(--border); }
}
@media (max-width: 768px) {
  .container { padding-inline: 1.25rem; }
  .navbar { padding: .85rem 0; }
  .nav-brand { font-size: .95rem; gap: .3rem; margin-right: 0; }
  .brand-text, [data-theme="light"] .brand-text { width: 125px; }
  .nav-brand { width:155px; }
  .brand-frame { width:149px; }
  .brand-frame .brand-text, [data-theme="light"] .brand-frame .brand-text { font-size:1.05rem; }
  .nav-right { margin-left: .35rem; }
  .btn-nav { padding: .5rem .65rem; }
  .hero-layout { grid-template-columns: 1fr; gap: 3rem; }
  .site-hero { padding: 7.5rem 0 3.5rem; }
  .site-hero h1 { font-size: 2.9rem; }
  .site-hero .hero-badge { font-size: .65rem; }
  .project-preview { padding: 1.5rem; }
  .section { padding: 3.5rem 0; }
  .card { padding: 1.5rem; }
  .page-hero { padding-top: 7rem; }
  .footer-content { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (max-width: 360px) {
  .nav-brand { flex-shrink: 0; font-size: .82rem; }
  .brand-text, [data-theme="light"] .brand-text { width: 98px; }
  .nav-brand { width:133px; }
  .brand-frame { padding:.35rem .5rem; }
  .brand-frame { width:126px; }
  .brand-frame .brand-text, [data-theme="light"] .brand-frame .brand-text { font-size:.91rem; }
  .nav-toggle { margin-left: auto; }
  .nav-right { margin-left: .25rem; }
  .btn-nav { font-size: .72rem; padding: .5rem; }
}
