/* Horizon 2 — same Ciblup identity, closer product framing and connected scenes. */
:root { --muted:#627268; }
.hero { padding-top:116px; }
.hero h1 { font-size:clamp(48px,5.15vw,74px); margin:20px auto 18px; }
.hero-description { color:#4f675b; }
.hero-actions { margin-top:22px; }
.reassurance { font-size:12px; color:#536b5d; margin-top:17px; }
.dashboard-frame { margin-top:36px; border-radius:16px; overflow:hidden; }
.dashboard-crop { height:430px; mask-image:linear-gradient(#000 90%,#000a); }
.dashboard-frame figcaption { color:#b0bdb5; font-size:11px; padding:14px; }
.browser-line { color:#b3bfb7; }
.browser-line .frame-label { font-size:9px; }
.dashboard-detail { height:430px; display:grid; grid-template-columns:.78fr 1.22fr; padding:28px 36px; gap:40px; align-items:center; background:#171b18; }
.detail-copy .eyebrow { color:#a6c9b5; font-size:10px; }
.detail-copy h3 { font-size:clamp(27px,3.15vw,42px); font-weight:540; line-height:1.1; color:#f2f6f3; margin:18px 0; letter-spacing:-.045em; }
.detail-copy>p:not(.eyebrow) { max-width:310px; color:#b7c7bd; font-size:15px; line-height:1.55; }
.detail-copy a { display:inline-flex; align-items:center; gap:28px; margin-top:26px; font-size:13px; font-weight:600; color:#b9e3d4; }
.detail-copy a span { transition:transform .25s; }
.detail-copy a:hover span { transform:translate(3px,-3px); }
.detail-visual { min-width:0; display:flex; align-items:center; justify-content:flex-end; }
.focus-picture { position:relative; overflow:hidden; flex:0 1 auto; width:100%; border:1px solid #4a584e; border-radius:10px; box-shadow:0 14px 30px #0002; background:#1e1e1e; }
.focus-picture img { position:absolute; max-width:none; height:auto; }
.focus-actions { aspect-ratio:960/514; }
.focus-actions img { width:200%; left:-33.02%; top:-83.66%; }
.focus-pipeline { aspect-ratio:584/482; width:440px; max-height:374px; }
.focus-pipeline img { width:328.767%; left:-222.77%; top:-89.21%; }
.focus-mobile { display:none; }
.dashboard-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 20px; background:#202923; border-bottom:1px solid #52635666; }
.dashboard-label { color:#b9ccbf; font-size:10px; letter-spacing:.08em; }
.dashboard-views { display:flex; justify-content:center; gap:8px; }
.dashboard-views button { border:1px solid transparent; background:transparent; border-radius:7px; padding:11px 20px; color:#bed0c3; font-size:13px; font-weight:550; transition:background .24s,color .24s,border-color .24s; }
.dashboard-views button:hover { background:#39483d; }
.dashboard-views button[aria-selected=true] { color:#183c2c; background:#c1e5d3; border-color:#d7f0e3; }
.dashboard-views button:focus-visible { outline-color:#d1f6e2; }
.contact-invitation { margin:0; width:100%; border:0; border-radius:0; box-shadow:none; padding:17px 25px; background:#f0f6f1; }
.invitation-person small { color:#526e5d; font-size:10px; }
.invitation-person strong>span[data-name] { font-size:15px; font-weight:750; color:#263b2e; }
.invitation-person strong>span:not([data-name]) { color:#576d5d; }
.sources { padding-top:94px; padding-bottom:78px; }
.sources-heading { align-items:flex-end; margin-bottom:32px; }
.sources-heading .eyebrow { color:#577863; font-size:11px; margin-bottom:17px; }
.sources-heading h2 { font-size:52px; }
.sources-heading>p { font-size:16px; line-height:1.65; color:#62796b; }
.finder-brief { display:flex; align-items:center; gap:36px; padding:20px 0; border-top:1px solid #dce6df; border-bottom:1px solid #dce6df; margin-bottom:32px; }
.finder-brief>span { display:flex; align-items:center; gap:10px; margin-right:auto; font-size:15px; font-weight:700; }
.finder-brief>p { display:grid; gap:4px; font-size:11px; color:#607968; }
.finder-brief b { font-size:13px; font-weight:600; color:#2e4d3a; }
.source-to-contact { font-size:13px; display:flex; align-items:center; justify-content:space-between; gap:15px; border-top:1px solid #d4e4d9; padding:17px 0 1px; margin-top:18px; color:#245a3d; font-weight:650; }
.source-result { padding:25px 28px; }
.source-result-top { font-size:11px; }
.source-result-top small { font-size:10px; }
.source-result [data-source-fields] p { font-size:13px; padding:10px 0; }
.source-result .source-explainer { font-size:13px; }
.source-options button small { font-size:12px; }
.source-footer { font-size:12px; }
.source-footer a { display:flex; gap:5px; align-items:center; font-weight:600; }
.experience { border-radius:22px; }
.experience-heading .eyebrow { font-size:11px; color:#b5cbbb; }
.experience-heading>p { font-size:13px; color:#b8cbbd; }
.crm-top { font-size:12px; }
.fiction { font-size:11px; color:#566a5e; }
.rail-title { font-size:10px; color:#526b5b; }
.person strong { font-size:13px; }
.person small { font-size:11px; color:#52695b; }
.rail-note { font-size:11px; color:#587461; }
.rail-author>span { font-size:10px; color:#5d7265; }
.rail-author strong { font-size:12px; }
.contact-meta { gap:clamp(25px,4.5vw,70px); }
.contact-meta span,.context-note>span { font-size:10px; color:#52735f; }
.contact-meta b { font-size:13px; }
.person-heading p { color:#617768; font-size:13px; }
.status-chip { font-size:11px; color:#536c44; }
.context-note p { font-size:18px; line-height:1.5; }
.panel-action>span { color:#607967; font-size:11px; }
.panel-action .button { min-height:42px; font-size:13px; }
.product-panel textarea { font-size:15px; line-height:1.5; min-height:110px; padding-top:13px; }
.draft-state { font-size:11px; color:#5f7868; }
.context-echo { display:flex; flex-wrap:wrap; align-items:center; gap:5px 15px; border-left:2px solid #90bca1; padding-left:12px; margin-top:14px; color:#416c51; }
.context-echo>span { font-size:10px; }
.context-echo>b { font-size:12px; font-weight:550; }
.follow-content label,.follow-head .eyebrow { font-size:11px; color:#5d7966; }
.follow-content p { font-size:13px; color:#5e7768; }
.follow-content input { min-height:39px; font-size:14px; }
.calendar-tile small { color:#587562; font-size:11px; }
.experience-foot { color:#b4c6b9; font-size:11px; }
.experience-foot a { color:#d3e8da; }
.reviews { padding-top:90px; padding-bottom:85px; border:0; }
.review-heading { align-items:flex-start; }
.review-heading .eyebrow { font-size:11px; color:#577660; margin-top:8px; }
.review-heading h2 { font-size:36px; }
.review-heading h2 span { color:#4d795d; }
.review-layout { gap:58px; margin-top:42px; }
.review-featured { background:#edf4eb; padding:39px 42px; border-radius:4px 24px 24px 24px; }
.review-featured blockquote { font-size:32px; }
.review-featured figcaption b,.review-side b { font-size:14px; }
.review-featured figcaption span,.review-side small { font-size:12px; color:#57765f; }
.review-source { font-size:11px; color:#536d5b; }
.review-side blockquote { font-size:18px; color:#405d49; }
.pricing { gap:80px; padding-top:76px; padding-bottom:76px; }
.pricing-title .eyebrow { font-size:11px; color:#577660; }
.pricing-title>p { font-size:16px; color:#5c7665; }
.plans article { padding:28px; border-radius:12px; }
.plan-heading h3 { font-size:25px; }
.plan-heading strong { font-size:38px; }
.plan-heading span { font-size:12px; color:#52695a; }
.plans article>p { font-size:14px; line-height:1.5; color:#42664e; }
.plans ul { font-size:13px; color:#526d5a; }
.plans .button { font-size:13px; min-height:43px; }
.text-link { min-height:43px; font-size:14px; }
.plans>small { font-size:11px; color:#557060; line-height:1.5; }
.questions { padding-top:45px; padding-bottom:75px; }
.questions summary { font-size:16px; min-height:66px; }
.questions details { overflow:hidden; }
.questions details>p { font-size:14px; color:#526b5b; line-height:1.65; }
.questions summary span { transition:transform .3s; }
.questions details[open] summary span { transform:rotate(45deg); }
.closing { margin-top:25px; }
.closing-content>p { font-size:13px; }
.last-contact { font-size:13px; }
footer.content-width { font-size:12px; }
footer>span,footer small { color:#546b5e; font-size:11px; }
@media(min-width:801px) and (max-height:780px) {
  .hero { padding-top:100px; }
  .hero h1 { margin-top:18px; margin-bottom:15px; font-size:clamp(48px,4.8vw,65px); }
  .hero-description { font-size:15px; }
  .hero-actions { margin-top:19px; }
  .dashboard-frame { margin-top:28px; }
  .experience-pin { gap:13px; padding-top:20px; }
  .experience-heading h2 { font-size:32px; }
  .experience-heading .eyebrow { margin-bottom:8px; }
  .steps button { padding-block:8px 11px; }
  .product-panel { padding:19px 26px 16px; }
  .contact-meta { margin:14px 0; padding-bottom:14px; }
  .context-note { padding:12px 17px; }
  .context-note p { font-size:17px; }
  .follow-content { margin-top:16px; }
  .context-echo { margin-top:10px; }
}
@media(max-width:1150px) and (min-width:801px) {
  .site-nav { gap:32px; }
  .site-nav nav { gap:20px; }
  .detail-copy h3 { font-size:32px; }
  .experience-pin { margin-inline:26px; }
}
@media(max-width:800px) {
  .hero { padding-top:104px; }
  .hero h1 { font-size:clamp(37px,7.8vw,56px); max-width:620px; margin:22px auto 18px; }
  .hero-copy .eyebrow { font-size:9px; letter-spacing:.06em; }
  .hero-description { font-size:15px; }
  .reassurance { font-size:11px; }
  .dashboard-frame { margin-top:32px; }
  .dashboard-crop { height:286px; }
  .dashboard-detail { height:286px; display:block; padding:20px; }
  .detail-copy { display:none; }
  .detail-visual { display:block; height:100%; }
  .focus-picture { display:none; }
  .focus-mobile { display:block; color:#dde8e0; }
  .focus-mobile h4 { display:flex; gap:12px; justify-content:space-between; font-size:15px; font-weight:650; border-bottom:1px solid #38453b; padding-bottom:12px; }
  .focus-mobile h4 span { color:#afc4b6; font-size:12px; font-weight:450; }
  .focus-mobile>p { position:relative; display:grid; gap:4px; padding:12px 0; border-bottom:1px solid #354139; }
  .focus-mobile b { font-size:14px; font-weight:550; }
  .focus-mobile p>span { font-size:11px; color:#afc4b6; }
  .focus-mobile small { position:absolute; right:0; top:12px; font-size:10px; color:#aad6ba; }
  .pipeline-mobile>p { display:grid; grid-template-columns:1fr auto; padding:7px 0; border:0; gap:5px; }
  .pipeline-mobile p>span { font-size:12px; }
  .pipeline-mobile b { font-size:12px; }
  .pipeline-mobile i { grid-column:1/-1; height:2px; background:linear-gradient(to right,#a4d4b8 var(--amount),#354139 var(--amount)); }
  .dashboard-toolbar { padding:9px 7px; }
  .dashboard-label { display:none; }
  .dashboard-views { gap:4px; flex:1; }
  .dashboard-views button { flex:1; font-size:11px; padding:10px 3px; min-height:40px; }
  .contact-invitation { padding:14px 12px; }
  .invitation-person small { font-size:8px; letter-spacing:.02em; }
  .invitation-person strong>span[data-name] { display:inline; font-size:12px; }
  .invitation-person strong>span:not([data-name]) { display:none; }
  .contact-invitation a { font-size:11px; gap:5px; }
  .dashboard-frame figcaption { font-size:10px; padding:12px; }
  .sources { padding-top:65px; padding-bottom:48px; }
  .sources-heading { display:block; margin-bottom:25px; }
  .sources-heading h2 { font-size:clamp(34px,7.5vw,47px); }
  .sources-heading>p { margin-top:18px; font-size:14px; }
  .finder-brief { flex-wrap:wrap; gap:16px 26px; padding:18px 0; margin-bottom:20px; }
  .finder-brief>span { width:100%; }
  .finder-brief>p { font-size:10px; }
  .finder-brief b { font-size:12px; }
  .finder-brief>p:last-child { display:none; }
  .source-result { padding:23px; }
  .source-to-contact { font-size:12px; }
  .source-footer { font-size:11px; }
  .source-footer a { flex-wrap:wrap; }
  .experience { margin-inline:12px; }
  .experience-pin { gap:11px; }
  .experience-heading .eyebrow { font-size:9px; }
  .experience-heading h2 { font-size:29px; }
  .experience-heading>p { font-size:11px; }
  .crm-top { font-size:11px; }
  .fiction { font-size:9px; }
  .person strong { font-size:11px; }
  .person small { font-size:10px; }
  .contact-meta { gap:22px; }
  .contact-meta span { font-size:9px; }
  .contact-meta b { font-size:11px; }
  .context-note p { font-size:16px; }
  .product-panel textarea { font-size:14px; line-height:1.45; min-height:110px; }
  .person-heading p { font-size:11px; }
  .context-echo { margin-top:9px; gap:3px; display:grid; }
  .context-echo>span { display:none; }
  .context-echo>b { font-size:11px; }
  .panel-action .button { font-size:12px; min-height:41px; }
  .panel-action>span { font-size:10px; }
  .follow-content p { font-size:12px; }
  .follow-content label { font-size:10px; }
  .follow-content input { min-height:36px; font-size:13px; }
  .experience-foot { font-size:9px; }
  .reviews { padding-top:59px; padding-bottom:54px; }
  .review-heading .eyebrow { font-size:10px; }
  .review-heading h2 { font-size:29px; }
  .review-layout { gap:28px; margin-top:25px; }
  .review-featured { padding:28px; }
  .review-featured blockquote { font-size:28px; }
  .review-side blockquote { font-size:16px; }
  .review-source { font-size:10px; }
  .pricing { gap:26px; padding-block:50px; }
  .pricing-title>p { font-size:14px; }
  .plans article { padding:25px 21px; }
  .plan-heading h3 { font-size:23px; }
  .plan-heading strong { font-size:33px; }
  .plans article>p { font-size:13px; }
  .plans ul { font-size:12px; }
  .questions { padding-block:22px 48px; }
  .questions summary { font-size:15px; }
  .questions details>p { font-size:14px; }
  .last-contact { font-size:11px; }
}
@media(max-width:800px) and (max-height:720px) {
  .experience-heading h2 { font-size:24px; }
  .experience-pin { gap:8px; }
  .person-heading h3 { font-size:22px; }
  .contact-meta { margin:12px 0; padding-bottom:10px; }
  .context-note p { font-size:14px; }
  .product-panel textarea { min-height:70px; font-size:13px; }
  .context-echo { margin-top:6px; }
  .panel-action { padding-top:8px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
