/* A warmer editorial direction, closer to the Advisio website. */
:root {
  --ink: #253c3e;
  --deep: #294947;
  --muted: #637371;
  --green: #407468;
  --mint: #dbe9dc;
  --pale: #edf2eb;
  --paper: #f8f5ef;
  --line: #e5e1d7;
  --orange: #bd795c;
  --purple: #a79ab9;
  --shadow: 0 16px 45px -25px #443e2930;
}
body { font-size:16px; line-height:1.7; background:#fffefa; }
h1,h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; }
h2 { line-height:1.14; }
h1 em,h2 em { font-weight:400; color:var(--green); }
h3,h4 { letter-spacing:-.025em; }
.wrap { width:min(1200px,calc(100% - 88px)); }
.eyebrow { font-size:10px; letter-spacing:.12em; }
.section { padding:92px 0; }
.section-heading h2 { font-size:46px; line-height:1.15; }
.section-heading { margin-bottom:40px; }
.section-lead { font-size:15px; line-height:1.85; max-width:365px; }
.review-bar { background:#eee9de; color:#6c7468; }
.review-bar .wrap { height:27px; font-size:8px; }
.review-bar button { color:#6c7468; }
.review-bar i { background:var(--green); }
.site-header { background:#fffefaf5; border-color:var(--line); }
.header-inner { height:86px; gap:20px; }
.header-inner nav { font-size:11px; gap:23px; font-weight:400; }
.brand-word { font-size:29px; }
.brand-by { border-color:var(--line); }
.button { border-radius:7px; font-size:13px; min-height:51px; padding:14px 22px; }
.button:hover { background:#315d53; }
.button-small { font-size:12px; min-height:41px; padding:10px 16px; }
.button-outline { border-color:#d6d5c8; background:#fffefa; }
.button-outline:hover { background:#eceee4; }
.hero-warm { padding:55px 0 60px; min-height:0; background:var(--paper); overflow:visible; }
.hero-grid { grid-template-columns:1fr 1.06fr; gap:48px; }
.hero-copy .eyebrow { margin-bottom:25px; }
.hero-copy h1 { font-size:clamp(45px,4.05vw,62px); line-height:1.085; letter-spacing:-.055em; margin-bottom:24px; }
.hero-copy h1 em { font-style:italic; }
.hero-description { max-width:470px; font-size:15px; line-height:1.9; margin-bottom:29px; }
.hero-buttons { gap:12px; }
.hero-buttons .button { font-size:12px; padding-inline:18px; gap:15px; }
.hero-note { margin:18px 0 0; font-size:11px; color:#738071; }
.hero-photo { margin:0; position:relative; padding:0 0 30px; }
.hero-photo > img { display:block; width:100%; height:494px; object-fit:cover; object-position:54% center; border-radius:120px 12px 12px 12px; }
.hero-photo figcaption { position:absolute; bottom:0; left:-25px; padding:20px 26px; display:flex; align-items:center; gap:17px; background:#fffefa; border:1px solid var(--line); border-radius:8px; box-shadow:var(--shadow); }
.hero-photo figcaption strong { display:block; font-family:Georgia,serif; font-size:21px; font-weight:400; color:var(--ink); }
.hero-photo figcaption div > span { display:block; color:var(--muted); font-size:10px; margin-top:3px; }
.photo-caption-icon { color:#99664c; background:#f4e5d9; width:37px; height:37px; border-radius:50%; display:grid; place-items:center; font-size:22px; }
.challenge-section { padding:63px 0 70px; background:#fffefa; }
.challenge-heading { text-align:center; margin-bottom:33px; }
.challenge-heading .eyebrow { margin-bottom:14px; }
.challenge-heading h2 { font-size:38px; margin-bottom:0; }
.challenge-heading h2 em { font-style:italic; }
.challenge-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:17px; }
.challenge-grid > a { display:flex; flex-direction:column; padding:25px 24px 22px; border:1px solid #e3e6dc; border-radius:9px; background:#eef2e9; transition:transform .18s,box-shadow .18s; }
.challenge-grid > a:nth-child(2) { background:#f6eae0; border-color:#eaded2; }
.challenge-grid > a:nth-child(3) { background:#eeeaf1; border-color:#e1dce7; }
.challenge-grid > a:nth-child(4) { background:#e9f0ef; border-color:#dce6e3; }
.challenge-grid > a:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.challenge-number { color:var(--green); font-size:11px; margin-bottom:23px; }
.challenge-grid h3 { font-family:Georgia,serif; font-size:25px; line-height:1.2; font-weight:400; letter-spacing:-.025em; margin-bottom:15px; }
.challenge-grid p { font-size:12px; line-height:1.8; margin-bottom:22px; max-width:240px; }
.challenge-link { font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:space-between; margin-top:auto; gap:6px; }
.challenge-link b { font-size:19px; font-weight:400; }
.trust-strip { background:#fffefa; border-color:var(--line); }
.trust-inner { padding:31px 0; }
.trust-inner > p { font-size:11px; }
.trust-inner > a { font-size:11px; }
.trust-logos { opacity:.75; }
.facts-section { background:var(--paper); padding:40px 0; }
.facts-grid { gap:35px; }
.facts-grid > div { padding:0; border:0; }
.facts-grid > div + div { padding-left:25px; border-left:1px solid #dedfd2; }
.benefit-symbol { display:block; color:var(--green); font-size:26px; line-height:1.1; margin-bottom:14px; }
.facts-grid > div:nth-child(2) .benefit-symbol { color:#b57a5c; }
.facts-grid > div:nth-child(3) .benefit-symbol { color:#8e789d; }
.facts-grid strong { display:block; font-family:Georgia,serif; font-size:22px; line-height:1.2; font-weight:400; margin:0 0 10px; letter-spacing:-.025em; }
.facts-grid p { font-size:11px; line-height:1.9; margin-bottom:0; max-width:240px; }
.usecases-section { background:#fffefa; }
.usecase-tabs { border-color:var(--line); gap:35px; }
.usecase-tabs button { font-size:13px; font-weight:400; padding-bottom:17px; }
.usecase-tabs button[aria-selected=true] { font-weight:700; }
.usecase-panel { gap:65px; align-items:center; padding-top:34px; }
.usecase-copy h3 { font-family:Georgia,serif; font-weight:400; font-size:34px; line-height:1.2; }
.usecase-copy > p { font-size:14px; line-height:1.85; }
.check-list li { font-size:12px; line-height:1.8; }
.check-list li + li { margin-top:10px; }
.usecase-visual { padding:0; background:#f7f3ec; border-radius:10px; overflow:hidden; border:1px solid var(--line); }
.usecase-photo { display:block; width:100%; height:270px; object-fit:cover; object-position:center 58%; }
.question-quote { font-family:Georgia,serif; font-weight:400; color:var(--ink); font-size:24px; line-height:1.3; margin:22px 26px; }
.usecase-report-pair { background:#fffefa; border-top:1px solid var(--line); margin:0; }
.usecase-report-pair > div { background:transparent; border:0; border-radius:0; padding:17px 25px; }
.usecase-report-pair > div + div { border-left:1px solid var(--line); }
.usecase-report-pair strong { font-family:Georgia,serif; font-weight:400; font-size:22px; margin-top:3px; }
.usecase-report-pair small { font-size:8px; }
.reports-section { background:#f4f1eb; }
.report-intro-visual { display:grid; grid-template-columns:1.15fr 1fr; gap:65px; align-items:center; margin-bottom:42px; }
.report-intro-visual figure { margin:0; }
.report-intro-visual img { display:block; width:100%; aspect-ratio:1.5; object-fit:cover; border-radius:9px; }
.report-intro-visual figcaption { font-size:10px; color:var(--muted); margin-top:12px; }
.report-intro-visual h3 { font-family:Georgia,serif; font-size:36px; font-weight:400; line-height:1.16; margin-bottom:20px; }
.report-intro-visual p:not(.eyebrow) { font-size:14px; line-height:1.85; }
.report-explorer { border-color:#dfded2; box-shadow:none; border-radius:9px; }
.report-sidebar { background:#e8ede3; }
.report-sidebar h3 { font-family:Georgia,serif; font-weight:400; font-size:24px; }
.report-sidebar .product-mini-brand { font-size:23px; }
.report-tabs button { border-radius:5px; font-size:11px; }
.report-tabs button[aria-selected=true] { background:#fffefa; color:var(--green); box-shadow:none; }
.report-main { background:#fffefa; }
.report-main-title h3 { font-family:Georgia,serif; font-weight:400; font-size:30px; }
.need-detail { border-color:var(--line); background:#fffefa; border-radius:6px; }
.need-detail h4 { font-family:Georgia,serif; font-weight:400; font-size:23px; }
.energy { background:#eef2e9; border-radius:4px; }
.energy-down { background:#f7eeeb; }
.energy small { font-size:8px; }
.energy p { font-size:12px; }
.interpretation-note { background:#f5f0e5; border-color:#dfd6bf; }
.interpretation-note p { font-size:12px; }
.report-types a { border-color:#dedfce; }
.team-section { background:#fffefa; }
.team-demo { border-color:var(--line); box-shadow:none; }
.team-title { font-family:Georgia,serif; font-weight:400; font-size:26px; }
.axis-pole { font-size:10px; }
.axis-name { font-size:14px; }
.method-section { background:#e8ede3; color:var(--ink); }
.method-section h2 { font-size:49px; color:var(--ink); }
.method-section h2 span { color:var(--green); }
.method-section .eyebrow { color:var(--green); }
.method-section p { color:var(--muted); font-size:14px; }
.method-section .button-light-outline { color:var(--green); border-color:#b3c2aa; }
.method-section .button-light-outline:hover { color:white; }
.method-author { border-color:#c7d1bf; }
.method-author strong { color:var(--ink); }
.method-author span:not(.author-monogram) { color:var(--muted); }
.author-monogram { border-color:#bfcbb6; color:var(--green); background:#f7f7ee; }
.method-evidence article { border-color:#c7d1bf; }
.method-evidence article > span { color:#6a7c62; }
.method-evidence strong { color:var(--green); font-family:Georgia,serif; font-weight:400; font-size:49px; }
.method-evidence article p { color:var(--muted); font-size:12px; }
.journey-section { background:#fffefa; }
.journey-grid h3 { font-family:Georgia,serif; font-weight:400; font-size:26px; }
.journey-grid p { font-size:13px; }
.action-kit { border-color:var(--line); background:#f7f3eb; }
.action-kit h3 { font-family:Georgia,serif; font-weight:400; }
.cv-section { background:#f0eaf0; }
.cv-copy h2 { font-size:46px; }
.cv-copy h2 span { color:#857193; }
.cv-document { transform:rotate(-3deg); box-shadow:var(--shadow); border-color:#ddd4df; }
.cv-pill { background:#eee9f0; color:#776180; border-color:#e1d7e6; }
.cv-link-bubble { background:#857193; }
.certification-section { background:#fffefa; }
.certification-section h2 { font-size:48px; }
.certification-grid { align-items:center; }
.certification-card { background:#f5eee3; border-color:#e6dbc9; box-shadow:none; border-radius:12px; }
.cert-date strong { font-family:Georgia,serif; font-weight:400; color:var(--green); }
.certification-card h3 { font-family:Georgia,serif; font-weight:400; line-height:1.2; font-size:28px; }
.certification-section .certification-grid>div:first-child>p:not(.eyebrow) { font-size:15px; }
.partners-section { background:#f6f3ed; }
.partners-grid { align-items:center; }
.partners-grid h2 { font-size:43px; }
.partner-library { background:#fffefa; border-color:var(--line); box-shadow:none; }
.library-heading { background:#eeeade; border-color:var(--line); }
.partner-library > a { border-color:var(--line); }
.faq-section { background:#fffefa; }
.faq-section h2 { font-size:43px; }
.faq-list details { border-color:var(--line); }
.faq-list summary { font-size:14px; }
.faq-list details p { font-size:13px; line-height:1.9; }
.final-cta { background:#426c60; }
.final-cta h2 { font-size:53px; }
.final-cta .eyebrow { color:#d2dfc8; }
.final-cta p:not(.eyebrow) { color:#e5eee0; }
.final-cta .button-light { background:#fffefa; color:var(--green); }
.cta-decoration { opacity:.3; }
footer { background:#fffefa; }
.footer-bottom { border-color:var(--line); }
.tag-soft { background:#e7eddf; color:#586f45; }
.tag-light { background:#f7f5ef; }
dialog { background:#fffefa; border-color:var(--line); }
.demo-dialog h2,.info-dialog h2 { font-size:37px; }
.prototype-notice { background:#f6efe0; color:#8b6e46; }

@media(min-width:1500px) {
  .hero-copy h1 { font-size:62px; }
}
@media(max-width:1180px) {
  .wrap { width:calc(100% - 64px); }
  .header-inner nav { gap:17px; font-size:10px; }
  .brand-by { display:none; }
  .hero-grid { gap:30px; }
  .hero-copy h1 { font-size:48px; }
  .hero-photo > img { height:465px; }
  .hero-buttons .button { padding-inline:14px; font-size:11px; }
  .challenge-grid { gap:13px; }
  .challenge-grid > a { padding-inline:20px; }
  .challenge-grid h3 { font-size:23px; }
  .section-heading h2 { font-size:40px; }
  .report-intro-visual { gap:40px; }
}
@media(max-width:940px) {
  .header-inner nav { font-size:12px; }
  .hero-grid { grid-template-columns:1fr 1fr; gap:24px; }
  .hero-copy h1 { font-size:41px; }
  .hero-description { font-size:13px; }
  .hero-photo > img { height:415px; border-top-left-radius:80px; }
  .hero-photo figcaption { padding:16px 18px; left:-12px; gap:10px; }
  .hero-photo figcaption strong { font-size:18px; }
  .hero-photo figcaption div > span { font-size:8px; }
  .challenge-grid { grid-template-columns:1fr 1fr; gap:17px; }
  .challenge-grid > a { padding:25px; }
  .challenge-grid p { max-width:290px; }
  .challenge-grid h3 { font-size:27px; }
  .facts-grid { gap:25px; }
  .facts-grid strong { font-size:20px; }
  .facts-grid > div + div { padding-left:0; border:0; }
  .usecase-panel { gap:32px; }
  .usecase-copy h3 { font-size:29px; }
  .report-intro-visual { gap:30px; }
  .report-intro-visual h3 { font-size:30px; }
  .report-intro-visual p:not(.eyebrow) { font-size:12px; }
}
@media(max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  .section { padding:60px 0; }
  .eyebrow { font-size:9px; margin-bottom:16px; }
  .review-bar .wrap { font-size:7px; height:25px; }
  .review-bar button { font-size:8px; }
  .header-inner { height:68px; gap:12px; }
  .header-inner nav { font-size:14px; }
  .button-small { font-size:10px; padding:9px 12px; min-height:37px; }
  .hero-warm { padding:35px 0 38px; }
  .hero-grid { grid-template-columns:1fr; gap:30px; }
  .hero-copy .eyebrow { margin-bottom:17px; }
  .hero-copy h1 { font-size:36px; line-height:1.11; margin-bottom:21px; letter-spacing:-.055em; }
  .hero-description { font-size:14px; line-height:1.85; margin-bottom:23px; max-width:490px; }
  .hero-buttons { gap:10px; }
  .hero-buttons .button { min-height:46px; font-size:11px; padding-inline:14px; gap:12px; }
  .hero-note { font-size:10px; margin-top:15px; }
  .hero-photo { padding:0 0 26px; margin-left:12px; }
  .hero-photo > img { height:290px; object-position:center 50%; border-radius:70px 8px 8px 8px; }
  .hero-photo figcaption { left:-12px; bottom:0; padding:15px 17px; }
  .hero-photo figcaption strong { font-size:19px; }
  .hero-photo figcaption div > span { font-size:9px; }
  .photo-caption-icon { width:31px; height:31px; font-size:18px; }
  .challenge-section { padding:41px 0 42px; }
  .challenge-heading { text-align:left; margin-bottom:25px; }
  .challenge-heading h2 { font-size:31px; max-width:390px; }
  .challenge-grid { gap:12px; }
  .challenge-grid > a { padding:19px 16px 15px; }
  .challenge-number { font-size:9px; margin-bottom:18px; }
  .challenge-grid h3 { font-size:22px; margin-bottom:12px; }
  .challenge-grid p { font-size:11px; line-height:1.7; margin-bottom:17px; }
  .challenge-link { font-size:9px; line-height:1.4; }
  .challenge-link b { font-size:17px; }
  .trust-inner { padding:25px 0; }
  .trust-logos { gap:22px; }
  .trust-inner > p { font-size:10px; }
  .facts-section { padding:33px 0; }
  .facts-grid { gap:28px 22px; }
  .facts-grid strong { font-size:21px; margin-bottom:8px; }
  .facts-grid p { font-size:11px; line-height:1.8; }
  .benefit-symbol { font-size:23px; margin-bottom:10px; }
  .section-heading { margin-bottom:28px; }
  .section-heading h2 { font-size:34px; }
  .section-lead { font-size:13px; max-width:450px; }
  .usecase-tabs { gap:25px; }
  .usecase-tabs button { font-size:11px; }
  .usecase-panel { gap:27px; }
  .usecase-copy h3 { font-size:30px; }
  .usecase-copy > p { font-size:13px; }
  .check-list li { font-size:12px; }
  .usecase-photo { height:245px; }
  .question-quote { font-size:25px; margin:22px; }
  .usecase-report-pair > div { padding:15px 21px; }
  .usecase-report-pair strong { font-size:21px; }
  .report-intro-visual { grid-template-columns:1fr; gap:27px; margin-bottom:30px; }
  .report-intro-visual h3 { font-size:32px; }
  .report-intro-visual p:not(.eyebrow) { font-size:13px; }
  .report-sidebar h3 { font-size:22px; }
  .report-tabs button { font-size:10px; }
  .report-main-title h3 { font-size:27px; }
  .need-detail h4 { font-size:23px; }
  .energy p { font-size:12px; line-height:1.75; }
  .energy small { font-size:8px; }
  .energy { min-height:125px; }
  .interpretation-note p { font-size:12px; }
  .report-disclaimer { font-size:10px; line-height:1.7; }
  .team-title { font-size:24px; }
  .axis-pole { font-size:9px; }
  .axis-content { grid-template-columns:75px 1fr 80px; gap:9px; }
  .axis-track { height:66px; }
  .team-bottom p { font-size:10px; }
  .team-context p { font-size:12px; }
  .method-section h2 { font-size:38px; }
  .method-section p { font-size:13px; }
  .method-evidence article p { font-size:12px; }
  .method-evidence strong { font-size:39px!important; }
  .journey-grid h3 { font-size:23px; }
  .journey-grid p { font-size:12px; }
  .action-kit h3 { font-size:25px; }
  .action-kit p { font-size:12px; }
  .cv-copy h2 { font-size:36px; }
  .certification-section h2 { font-size:37px; }
  .certification-section .certification-grid>div:first-child>p:not(.eyebrow) { font-size:13px; }
  .certification-card h3 { font-size:27px; }
  .partners-grid h2 { font-size:34px; }
  .faq-section h2 { font-size:36px; }
  .faq-list summary { font-size:13px; }
  .faq-list details p { font-size:12px; }
  .final-cta h2 { font-size:40px; }
  .demo-dialog h2,.info-dialog h2 { font-size:32px; }
}
@media(max-width:380px) {
  .wrap { width:calc(100% - 32px); }
  .hero-copy h1 { font-size:34px; }
  .hero-buttons .button { font-size:10px; gap:10px; padding-inline:12px; }
  .hero-photo > img { height:260px; }
  .challenge-grid > a { padding-inline:14px; }
  .challenge-grid h3 { font-size:20px; }
  .challenge-link { font-size:8px; }
  .trust-logos { gap:17px; }
  .axis-content { grid-template-columns:65px 1fr 70px; gap:7px; }
}

/* Makieta 07: readable navigation and visible login/Partner actions. */
html { scroll-padding-top:110px; }
.header-inner { width:min(1460px,calc(100% - 64px)); height:92px; gap:24px; }
.header-inner nav { display:flex; font-size:14px; font-weight:500; gap:20px; white-space:nowrap; }
.header-inner nav a { padding:8px 0; }
.header-actions { margin-left:0; gap:12px; flex-shrink:0; }
.header-actions .button { display:inline-flex; min-height:46px; padding:11px 18px; font-size:14px; font-weight:700; white-space:nowrap; }
.header-login { color:var(--ink); background:#fffefa; border:1px solid #b9c8ba; }
.header-partner { background:var(--green); color:white; }
.header-login:hover { background:#edf2eb; }
.photo-caption-icon:empty { display:none; }
@media(min-width:941px) and (max-width:1390px) {
  html { scroll-padding-top:145px; }
  .header-inner { display:grid; grid-template-columns:1fr auto; height:auto; gap:7px 24px; padding:15px 0 8px; }
  .header-inner > .brand { grid-column:1; grid-row:1; }
  .header-actions { grid-column:2; grid-row:1; }
  .header-inner nav { grid-column:1 / -1; grid-row:2; position:static; flex-direction:row; justify-content:center; gap:28px; padding:0; background:none; border:0; box-shadow:none; }
  .menu-button { display:none; }
}
@media(max-width:940px) {
  html { scroll-padding-top:140px; }
  .header-inner { display:grid; grid-template-columns:1fr auto; width:calc(100% - 40px); height:auto; gap:12px; padding:13px 0; }
  .header-inner > .brand { grid-column:1; grid-row:1; }
  .header-actions { grid-column:1 / -1; grid-row:2; display:flex; width:100%; gap:12px; }
  .header-actions .button { flex:1; min-height:44px; padding:10px 14px; font-size:14px; justify-content:center; }
  .menu-button { display:flex; grid-column:2; grid-row:1; width:40px; height:40px; align-items:center; justify-content:center; padding:9px; }
  .menu-button span { width:22px; height:2px; }
  .header-inner nav { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; padding:12px 20px; background:#fffefa; border-bottom:1px solid var(--line); box-shadow:0 15px 25px #17393616; max-height:calc(100dvh - 125px); overflow-y:auto; font-size:16px; }
  .header-inner nav.open { display:flex; }
  .header-inner nav a { padding:10px 8px; }
}
@media(max-width:420px) {
  .header-inner { width:calc(100% - 32px); }
  .header-actions { gap:9px; }
  .header-actions .button { font-size:12px; padding-inline:10px; }
}
