/* Les schémas gardent leur contenu sans script ni mouvement. */
.experience { --exp-line:var(--diagram-line); position:relative; isolation:isolate }
.experience-top { display:flex; justify-content:space-between; gap:.6rem 2rem; flex-wrap:wrap; padding-bottom:1.4rem; border-bottom:1px solid var(--exp-line); font-size:.875rem }
.experience h2 { font-size:clamp(2rem,3.8vw,3.5rem) }
.experience-controls { display:flex; gap:.5rem; flex-wrap:wrap }
.experience-controls button { min-height:44px; min-width:44px; max-width:100%; padding:.55rem .9rem; border:1px solid currentColor; border-radius:30px; background:transparent; color:inherit; cursor:pointer; font-size:.875rem; line-height:1.3; transition:background .2s,color .2s,box-shadow .2s }
.experience-controls button[aria-pressed="true"] { background:var(--citron); color:var(--sombre); border-color:var(--citron) }
.experience-controls button:hover { box-shadow:0 0 0 2px currentColor }
.experience-note { font-size:.875rem; line-height:1.6; max-width:90ch; margin:1.5rem 0 0 }
/* Obsidian : une coupe horizontale du graphe, avec trois familles de savoirs. */
.cosmos { color:var(--bg); padding:2rem 0; background:var(--sombre); overflow:hidden; clip-path:polygon(0 0,calc(100% - 32px) 0,100% 32px,100% 100%,32px 100%,0 calc(100% - 32px)) }
.cosmos::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(ellipse at 73% 46%,color-mix(in srgb, var(--forest-mid) 65%, transparent),transparent 56%) }
.cosmos .experience-top { border-color:var(--diagram-line); color:var(--sur-sombre-mute) }
.cosmos--hero { padding-top:1rem }
.cosmos--hero .experience-top { align-items:center; padding-bottom:1rem }
.cosmos--hero .breadcrumb { margin:0; color:var(--sur-sombre-mute) }
.cosmos--hero .breadcrumb a { color:var(--sur-sombre) }
.cosmos--hero h1 { font-size:clamp(2.6rem,1.4rem + 3.2vw,4.65rem); max-width:19ch }
.cosmos-actions { gap:.8rem 1.25rem; margin-top:1.5rem }
.cosmos-actions>span { color:var(--sur-sombre-mute); font-size:.875rem }
.cosmos-actions .btn--primary { background:var(--citron); color:var(--sombre); border-color:var(--citron) }
.cosmos-actions .btn--primary:hover { background:var(--sur-sombre); border-color:var(--sur-sombre) }

.cosmos-layout { display:grid; grid-template-columns:1fr 1.3fr; gap:1rem; align-items:center }
.cosmos-copy { padding:3rem 0 2rem; position:relative; z-index:1 }
.cosmos .eyebrow { color:var(--citron) }
.cosmos h1 em { color:var(--citron) }
.cosmos-copy>p:not(.eyebrow) { color:var(--sur-sombre-mute); max-width:47ch }
.cosmos .experience-controls { margin-top:1.7rem }
.cosmos .experience-controls button[aria-pressed="true"] { background:var(--citron); border-color:var(--citron); color:var(--sombre) }
.cosmos :focus-visible { outline-color:var(--citron) }
.cosmos-detail { min-height:5.3em; margin:1.15rem 0 0; font-size:.9375rem }
.cosmos-map { position:relative; aspect-ratio:8/5; min-width:0; width:100% }
.cosmos-map svg { width:100%; height:100%; overflow:visible }
.cosmos-link { stroke:var(--diagram-line); stroke-width:1; fill:none; opacity:.42 }
.cosmos-link--main { stroke:var(--citron); stroke-width:1.5; opacity:.85 }
.cosmos-star { fill:var(--sur-sombre-mute) }
.cosmos-hub { fill:var(--citron); filter:drop-shadow(0 0 7px var(--citron)) }
.cosmos-orbit { fill:var(--sombre); stroke:var(--citron); stroke-width:1 }
.cosmos-orbit--outer { fill:none; stroke:var(--diagram-line); stroke-dasharray:2 7; opacity:.6 }
.cosmos-cluster { transition:opacity .5s }
.cosmos[data-memory="past"] [data-cluster]:not([data-cluster="past"]),.cosmos[data-memory="present"] [data-cluster]:not([data-cluster="present"]),.cosmos[data-memory="future"] [data-cluster]:not([data-cluster="future"]) { opacity:.14 }
.cosmos-center { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; font:500 1.5rem/1.2 var(--font-head) }
.cosmos-center small { display:block; font:400 .75rem/1.5 var(--font-body); color:var(--sur-sombre-mute); margin-top:.25rem }
.cosmos-label { position:absolute; font-size:1rem; line-height:1.35; padding:.3rem .5rem; background:var(--sombre); border-left:1px solid var(--diagram-line) }
.cosmos-label small { display:block; font-size:.8125rem; color:var(--sur-sombre-mute) }
.cosmos-label--past { left:7%; top:10% }
.cosmos-label--present { right:1%; top:27% }
.cosmos-label--future { left:53%; bottom:8% }
.cosmos-caption { position:absolute; bottom:-1.5rem; left:0; right:0; text-align:center; font-size:.75rem; color:var(--sur-sombre-faible) }
.cosmos-flow { display:flex; justify-content:space-between; align-items:center; gap:1rem; border-top:1px solid var(--diagram-line); padding-top:1.6rem; margin-top:1.3rem; font-size:.9375rem; color:var(--sur-sombre-mute) }
.cosmos-flow b { color:var(--citron); font-weight:400 }
.cosmos-flow strong { color:var(--citron) }
/* Les paliers représentent des plages réelles, regroupées pour la lecture. */
.ascent { background:var(--bg-alt); padding:2rem 0 3rem; color:var(--sombre) }
.ascent-heading { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:3rem; padding:2.5rem 0 1rem }
.ascent-heading p { max-width:48ch }
.ascent-stairs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; padding:0; list-style:none; margin:1.5rem 0 2rem; align-items:end }
.ascent-stairs li { position:relative; padding:1.5rem 1rem 1rem; background:var(--bg); border-top:3px solid var(--accent); min-height:calc(255px + var(--step)*28px); display:flex; flex-direction:column }
.ascent-range { font-size:.875rem; color:var(--text-mute); margin-bottom:1.3rem }
.ascent-stairs h3 { font-size:1.25rem }
.ascent-stairs p { font-size:1rem; line-height:1.5 }
.ascent-check { margin-top:auto; padding-top:1rem; font-size:.8125rem; color:var(--text-mute); display:flex; justify-content:space-between; gap:.4rem }
.ascent-stairs li:last-child { background:var(--sombre); color:var(--bg); border-color:var(--accent) }
.ascent-stairs li:last-child .ascent-range,.ascent-stairs li:last-child .ascent-check { color:var(--citron) }
.ascent-example { display:grid; grid-template-columns:1.1fr 1fr; gap:2rem; padding-top:1.5rem; border-top:1px solid var(--diagram-line); align-items:center }
.ascent-example .eyebrow { margin-bottom:1rem }
.ascent-example>p { margin:0; min-height:6.3em; font-size:1rem }
.ascent-example>p strong { display:block; margin-bottom:.5rem }
.ascent .experience-controls button[aria-pressed="true"] { color:var(--surface); background:var(--accent); border-color:var(--accent) }
/* La frontière du socle ne bouge pas quand le moteur est remplacé. */
.sovereign { padding:2rem clamp(1.25rem,3vw,3rem); background:var(--sombre); color:var(--bg); border-radius:6px }
.sovereign-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; align-items:center; padding:2rem 0 }
.sovereign-heading h2 { font-size:clamp(1.8rem,3.2vw,3rem); line-height:1.1; margin:0 }
.sovereign-heading em { color:var(--citron); font-family:var(--font-expression); font-weight:400 }
.sovereign-heading p { color:var(--sur-sombre-mute); margin:0; max-width:46ch }
.sovereign-diagram { display:grid; grid-template-columns:1.4fr .38fr 1fr; align-items:center }
.sovereign-owned { border:1px solid var(--diagram-line); background:var(--forest-mid); padding:1.6rem; border-radius:5px; position:relative }
.sovereign .eyebrow { color:var(--sur-sombre-mute); font-size:.8125rem }
.sovereign-team { text-align:center; font:500 1.5rem/1.3 var(--font-head); padding:1rem 0 1.4rem }
.sovereign-team>span { display:block; font:400 .875rem/1.5 var(--font-body); margin-top:.5rem; color:var(--sur-sombre-mute) }
.sovereign-parts { display:grid; grid-template-columns:1fr 1fr; gap:1rem }
.sovereign-parts>div { border-top:1px solid var(--diagram-line); padding-top:1rem }
.sovereign-parts strong { display:block; font-size:1.25rem; color:var(--sur-sombre); margin-bottom:.4rem }
.sovereign-parts span { display:block; font-size:.875rem; color:var(--sur-sombre-mute) }
.sovereign-owned>p { font-size:.875rem; margin-top:1.5rem; color:var(--citron) }
.sovereign-bridge { position:relative; text-align:center; color:var(--citron); font-size:.875rem }
.sovereign-bridge i { display:block; height:2px; width:100%; margin:.75rem 0; background:var(--diagram-line); position:relative; overflow:hidden }
.sovereign-bridge i::after { content:""; position:absolute; left:-30%; height:100%; width:30%; background:var(--citron) }
.sovereign-bridge small { display:block; color:var(--sur-sombre-mute); font-size:.75rem; padding-inline:.2rem }
.sovereign-engine { text-align:center; border:1px dashed var(--diagram-line); padding:1.6rem 1rem; border-radius:5px }
.engine-slot { min-height:175px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem }
.engine-icon { font-size:2.8rem; line-height:1; color:var(--citron) }
.engine-slot strong { font:500 1.7rem/1.2 var(--font-head) }
.engine-slot>span:last-child { color:var(--sur-sombre-mute); font-size:.8125rem }
.sovereign-engine .experience-controls { justify-content:center; margin-top:1rem }
.sovereign-engine .experience-controls button { padding:.5rem .7rem }
.sovereign :focus-visible { outline-color:var(--citron) }
.sovereign-result { padding-top:1.5rem; margin:1.5rem 0 0; border-top:1px solid var(--diagram-line); color:var(--citron); font-size:1.0625rem }
.sovereign .experience-note { color:var(--sur-sombre-mute) }
.construction-copy { margin-top:4rem }
@media (prefers-reduced-motion:no-preference) {
  .experience.is-entered .cosmos-link { animation:cosmos-connect 1.8s both; animation-delay:var(--delay,0ms); stroke-dasharray:400; stroke-dashoffset:0 }
  .experience.is-entered .cosmos-star { animation:cosmos-light 2s both; animation-delay:var(--delay,0ms); transform-box:fill-box; transform-origin:center }
  .experience.is-entered .cosmos-orbit--outer { animation:cosmos-orbit 4s ease-out both; transform-origin:400px 250px }
  .experience.is-entered .ascent-stairs li { animation:ascent-rise .9s cubic-bezier(.2,.65,.25,1) both; animation-delay:calc(var(--step)*140ms) }
  .experience.is-entered .sovereign-bridge i::after,.sovereign.is-switching .sovereign-bridge i::after { animation:api-flow 1.2s ease-in-out 3 }
  .sovereign.is-switching .engine-slot { animation:engine-change .65s ease-out }
  .sovereign.is-switching .sovereign-owned { animation:memory-hold .9s ease-out }
}
@keyframes cosmos-connect { from { stroke-dashoffset:400; opacity:0 } }
@keyframes cosmos-light { 0% { opacity:0; transform:scale(.2) } 50% { opacity:1; transform:scale(1.6) } 100% { opacity:1; transform:scale(1) } }
@keyframes cosmos-orbit { from { transform:rotate(-50deg); opacity:0 } }
@keyframes ascent-rise { from { opacity:0; transform:translateY(35px) } to { opacity:1; transform:translateY(0) } }
@keyframes api-flow { to { left:100% } }
@keyframes engine-change { 0% { opacity:.15; transform:translateY(-12px) scale(.94) } 100% { opacity:1; transform:translateY(0) scale(1) } }
@keyframes memory-hold { 40% { border-color:var(--citron); box-shadow:inset 0 0 24px color-mix(in srgb, var(--citron) 9%, transparent) } }
@media(max-width:1000px) {
  .cosmos-layout { grid-template-columns:1fr 1.05fr }
  .cosmos-center { font-size:1.1rem }
  .cosmos-center small { font-size:.75rem }
  .ascent-stairs { gap:.5rem }
  .ascent-stairs li { padding:1rem .75rem; min-height:calc(290px + var(--step)*20px) }
  .ascent-stairs h3 { font-size:1.05rem }
  .sovereign-diagram { grid-template-columns:1.2fr .25fr 1fr }
  .sovereign-owned { padding:1rem }
}
@media(max-width:760px) {
  .cosmos-layout,.ascent-heading,.ascent-example,.sovereign-heading { grid-template-columns:1fr; gap:1rem }
  .cosmos-copy { padding:2rem 0 0 }
  .cosmos-map { max-width:620px; margin:0 auto 2rem }
  .cosmos-center { font-size:1.3rem }
  .cosmos-flow { display:grid; grid-template-columns:1fr auto 1fr; gap:.9rem; font-size:.875rem }
  .cosmos-flow>b:nth-of-type(2) { display:none }
  .ascent-stairs { grid-template-columns:1fr; gap:.75rem }
  .ascent-stairs li { min-height:0; padding:1.25rem; margin-left:calc(var(--step)*10px) }
  .ascent-range { margin-bottom:.65rem }
  .ascent-stairs h3 { font-size:1.3rem }
  .ascent-check { padding-top:0 }
  .ascent-example>p { min-height:7.5em }
  .sovereign-diagram { grid-template-columns:1fr }
  .sovereign-bridge { padding:1rem 0 }
  .sovereign-bridge i { width:2px; height:40px; margin:.5rem auto }
  .sovereign-bridge i::after { width:100%; height:30%; top:-30%; left:0 }
  .experience.is-entered .sovereign-bridge i::after,.sovereign.is-switching .sovereign-bridge i::after { animation-name:api-flow-down }
  .engine-slot { min-height:150px }
}
@keyframes api-flow-down { to { top:100% } }
@media(max-width:400px) {
  .cosmos-map { aspect-ratio:1.35 }
  .cosmos-map svg { position:absolute; width:125%; max-width:none; left:-12.5% }
  .cosmos-label { font-size:.875rem }
  .cosmos-label small { font-size:.75rem }
  .cosmos-label--past { left:0; top:2% }
  .cosmos-label--present { right:0; top:21% }
  .cosmos-label--future { left:auto; right:5%; bottom:4% }
  .cosmos-center { font-size:1.1rem }
  .sovereign-parts { grid-template-columns:1fr }
}
@media(prefers-reduced-motion:reduce) {
  .experience *,.experience *::after { animation:none!important; transition:none!important }
}

/* Les ouvertures des offres : un schéma propre à chaque activité. */
.service-hero { padding:1rem 0 3rem }
.service-hero .experience-top { align-items:center; padding-bottom:1rem }
.service-hero .breadcrumb { margin:0 }
.service-hero h1 { font-size:clamp(2.6rem,1.4rem + 3.2vw,4.65rem); max-width:20ch }
.service-hero-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(2rem,5vw,5rem); padding-top:3rem }
.service-hero-copy .lede { max-width:44ch }
.service-actions { align-items:center; gap:.8rem 1.25rem }
.service-actions>span { font-size:.875rem; color:var(--text-mute) }
.service-hero .lien-suite { font-size:.9375rem; margin-top:1.25rem }
.direction-hero { background:var(--sombre); color:var(--sur-sombre) }
.direction-hero .experience-top,.direction-hero .breadcrumb { color:var(--sur-sombre-mute) }
.direction-hero .breadcrumb a,.direction-hero .lien-suite { color:var(--sur-sombre) }
.direction-hero h1 em,.direction-hero .eyebrow { color:var(--citron) }
.direction-hero .lede,.direction-hero .service-actions>span { color:var(--sur-sombre-mute) }
.direction-hero :focus-visible { outline-color:var(--citron) }
.direction-hero .btn--primary { background:var(--citron); color:var(--sombre); border-color:var(--citron) }
.direction-hero .btn--primary:hover { background:var(--sur-sombre); border-color:var(--sur-sombre) }
.direction-map { text-align:center; min-width:0 }
.direction-source { padding:.5rem 0 }
.direction-source .eyebrow { font-size:.8125rem; display:block; margin:0 0 .4rem; color:var(--sur-sombre-mute) }
.direction-source strong { font-weight:500; font-size:1.25rem }
.diagram-conduit { width:1px; height:34px; margin:0 auto; background:var(--diagram-line); position:relative; overflow:hidden }
.diagram-conduit::after { content:""; position:absolute; width:100%; height:40%; top:-40%; left:0; background:var(--citron) }
.direction-core { padding:1.1rem 1.5rem; width:fit-content; min-width:54%; margin:auto; border:1px solid var(--diagram-line); background:var(--forest-mid); border-radius:5px }
.direction-core strong { display:block; font:500 2.5rem/1.1 var(--font-head); letter-spacing:-.06em; color:var(--citron) }
.direction-core span { display:block; margin-top:.6rem; font-size:.875rem; color:var(--sur-sombre-mute) }
.direction-paths { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; padding-top:2rem; position:relative }
.direction-paths::before { content:""; position:absolute; top:0; height:2rem; left:50%; border-left:1px solid var(--diagram-line) }
.direction-paths::after { content:""; position:absolute; top:2rem; left:25%; right:25%; border-top:1px solid var(--diagram-line) }
.direction-paths>div { position:relative; padding:1.8rem .75rem 1rem }
.diagram-branch { position:absolute; top:0; left:50%; height:1.1rem; width:1px; background:var(--diagram-line) }
.direction-paths strong { font-size:1.0625rem; font-weight:500 }
.direction-paths p { margin:.5rem 0 0; color:var(--sur-sombre-mute); font-size:.9375rem; line-height:1.5 }
.direction-outcome { border-block:1px solid var(--diagram-line); padding:1rem .5rem; margin-top:.75rem }
.direction-outcome strong { display:block; color:var(--citron); font-size:1.0625rem; font-weight:500 }
.direction-outcome>span { display:block; margin-top:.5rem; color:var(--sur-sombre-mute); font-size:.875rem }
.direction-outcome b { font-size:1.2rem; margin-left:.3rem; color:var(--citron) }
.visibility-hero { background:var(--bg-alt) }
.visibility-map { min-width:0; text-align:center; padding-top:.5rem }
.source-documents { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem }
.source-documents span { padding:1rem .5rem; background:var(--bg); border:1px solid var(--line-fort); border-radius:3px; font-size:.9375rem }
.source-merge { display:grid; grid-template-columns:repeat(3,1fr); height:38px; padding-inline:16.66% }
.source-merge i { border-bottom:1px solid var(--diagram-line); position:relative }
.source-merge i:first-child { border-left:1px solid var(--diagram-line) }
.source-merge i:nth-child(2)::before { content:""; position:absolute; height:100%; left:50%; width:1px; background:var(--diagram-line) }
.source-merge i:last-child { border-right:1px solid var(--diagram-line) }
.visibility-source { background:var(--sombre); color:var(--sur-sombre); padding:1.5rem 1rem; border-radius:5px }
.visibility-source .eyebrow { display:block; color:var(--sur-sombre-mute); margin-bottom:.65rem; font-size:.8125rem }
.visibility-source strong { display:block; font:500 clamp(1.3rem,2vw,1.75rem)/1.25 var(--font-head); color:var(--citron) }
.visibility-source>span:last-child { display:block; font-size:.875rem; color:var(--sur-sombre-mute); margin-top:.7rem }
.visibility-hero .diagram-conduit::after { background:var(--accent) }
.visibility-outputs { display:grid; grid-template-columns:1fr 1fr; gap:1rem }
.visibility-outputs>div { border:1px solid var(--line-fort); background:var(--bg); padding:1.2rem .75rem; border-radius:4px; transition:border-color .25s,box-shadow .25s }
.visibility-outputs .eyebrow { display:block; margin-bottom:.5rem }
.visibility-outputs strong { font:500 1.5rem/1.2 var(--font-head) }
.visibility-outputs p { font-size:.9375rem; margin:.7rem 0 0; color:var(--text-mute); line-height:1.5 }
.visibility-limit { font-size:.875rem; color:var(--text-mute); margin:1rem 0 0 }
.visibility-explorer { display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; border-top:1px solid var(--line-fort); padding-top:1.5rem; margin-top:2.5rem }
.visibility-explorer p { margin:0; min-height:5em; font-size:1rem }
.visibility-explorer .experience-controls button[aria-pressed="true"] { background:var(--accent); color:var(--surface); border-color:var(--accent) }
.visibility-hero[data-active-channel="seo"] [data-channel="seo"],.visibility-hero[data-active-channel="geo"] [data-channel="geo"] { border-color:var(--accent); box-shadow:inset 0 0 0 2px var(--accent) }
/* Le contact montre exactement les étapes jusqu’au rendez-vous. */
body[data-page="contact"] .contact-context { background:var(--bg-alt); padding:clamp(1.25rem,2.5vw,2.5rem); border-radius:5px }
.contact-route { margin-top:1.5rem }
.contact-route::before { content:""; position:absolute; top:1.5rem; bottom:3rem; left:1rem; width:1px; background:var(--line-fort) }
.contact-route li { border:0; padding:1rem 0 1rem 3.3rem }
.contact-route li::before { top:1rem; background:var(--bg); border:1px solid var(--line-fort); border-radius:50%; width:2rem; height:2rem; display:grid; place-items:center; font-size:.8125rem }
.contact-route li:last-child::before { background:var(--sombre); color:var(--citron); border-color:var(--sombre) }
@media(prefers-reduced-motion:no-preference) {
  .direction-hero.is-entered .direction-core { animation:ascent-rise .8s both }
  .direction-hero.is-entered .direction-paths>div { animation:ascent-rise .8s .3s both }
  .direction-hero.is-entered .direction-outcome { animation:ascent-rise .8s .6s both }
  .service-hero.is-entered .diagram-conduit::after { animation:api-flow-down 1.1s 3 }
  .visibility-hero.is-entered .source-documents span { animation:ascent-rise .7s both }
  .visibility-hero.is-entered .source-documents span:nth-child(2) { animation-delay:.15s }
  .visibility-hero.is-entered .source-documents span:nth-child(3) { animation-delay:.3s }
  .visibility-hero.is-entered .visibility-source { animation:ascent-rise .8s .45s both }
  .visibility-hero.is-entered .visibility-outputs>div { animation:ascent-rise .8s .8s both }
  .contact-route.is-entered li::before { animation:ascent-rise .65s both }
  .contact-route.is-entered li:nth-child(2)::before { animation-delay:.15s }
  .contact-route.is-entered li:nth-child(3)::before { animation-delay:.3s }
}
@media(max-width:900px) {
  .service-hero-grid { grid-template-columns:1fr; gap:2rem; padding-top:2rem }
  .service-hero-copy .lede { max-width:56ch }
  .direction-map,.visibility-map { width:100%; max-width:600px; margin-inline:auto }
  .visibility-explorer { grid-template-columns:1fr; gap:1rem }
  .visibility-explorer p { min-height:6.5em }
}
@media(max-width:400px) {
  .direction-paths { gap:.6rem }
  .direction-paths>div { padding-inline:.25rem }
  .source-documents { gap:.5rem }
  .source-documents span { font-size:.875rem }
  .visibility-outputs { gap:.6rem }
  .visibility-outputs strong { font-size:1.25rem }
}

/* Une conclusion commune : situer le besoin, puis demander un rendez-vous. */
.appointment-conclusion { background:var(--bg-alt) }
.appointment-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(2rem,6vw,6rem) }
.appointment-layout .lede { max-width:44ch }
.appointment-invitation { border-top:2px solid var(--accent); padding-top:1.75rem }
.appointment-duration { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1.5rem; margin-bottom:1.5rem }
.appointment-duration strong { font:500 clamp(2rem,4vw,3rem)/1 var(--font-head); letter-spacing:-.04em }
.appointment-duration span { color:var(--text-mute); font-size:.9375rem; line-height:1.5 }
.appointment-invitation .btn { max-width:100%; white-space:normal; text-align:center }
.appointment-note { color:var(--text-mute); font-size:.875rem; margin:1rem 0 0; max-width:48ch }
.experience-top>*,.service-hero-grid>*,.ascent-heading>*,.ascent-example>*,.visibility-explorer>*,.sovereign-heading>*,.sovereign-diagram>*,.appointment-layout>* { min-width:0 }
.experience .hero__actions .btn { max-width:100%; white-space:normal; text-align:center }
@media(max-width:760px) {
  .appointment-layout { grid-template-columns:1fr; gap:1.5rem }
  .ascent.service-hero+.section--alt { background:var(--bg) }
}
