@font-face { font-family:Poppins; src:url('/assets/fonts/poppins-500-latin.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:Poppins; src:url('/assets/fonts/poppins-600-latin.woff2') format('woff2'); font-weight:600; font-display:swap; }
@font-face { font-family:Poppins; src:url('/assets/fonts/poppins-700-latin.woff2') format('woff2'); font-weight:700; font-display:swap; }
@font-face { font-family:Arimo; src:url('/assets/fonts/arimo-latin.woff2') format('woff2'); font-weight:100 900; font-display:swap; }
:root { --ink:#0a2034; --navy:#071c30; --blue:#2469f5; --sky:#b9edfa; --muted:#4c6272; --line:#cbd9e2; --paper:#f6f8f9; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:white; font:400 1rem/1.55 Arimo,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; } button { font:inherit; cursor:pointer; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #73c9e7; outline-offset:4px; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3,.brand { font-family:Poppins,Arial,sans-serif; }
h2 { font-size:clamp(2.2rem,3.7vw,4rem); line-height:1.12; letter-spacing:-.05em; font-weight:600; }
.wrap { width:min(100% - 8vw,1260px); margin-inline:auto; }
.eyebrow { margin-bottom:24px; color:#255ac2; font:600 .78rem/1.5 Poppins,Arial,sans-serif; letter-spacing:.14em; }
.eyebrow.light { color:var(--sky); }
em { font-style:normal; color:#2370f0; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:30px; min-height:55px; padding:10px 23px; border:0; border-radius:2px; font:600 .93rem Poppins,Arial,sans-serif; transition:background .16s,transform .16s; }
.button:hover { transform:translateY(-2px); }
.button span,.text-link span { font-size:1.4rem; line-height:1; }
.button-blue { background:var(--blue); color:#fff; }
.button-blue:hover { background:#4380fd; }
.button-dark { background:var(--ink); color:#fff; }
.button-dark:hover { background:#24507c; }
.text-link { display:inline-flex; align-items:center; gap:15px; border-bottom:1px solid currentColor; padding:8px 0; font-weight:700; }
.light-link { color:#fff; }
.light-link:hover { color:var(--sky); }

.site-header { background:#fff; position:relative; z-index:3; }
.header-inner { width:min(100% - 8vw,1260px); min-height:84px; margin:auto; display:flex; align-items:center; gap:38px; }
.brand { white-space:nowrap; font-size:1.6rem; font-weight:700; letter-spacing:-.055em; line-height:1.2; }
.brand span { font-weight:400; } .brand b { color:var(--blue); font-weight:700; }
.site-header nav { display:flex; align-items:center; gap:32px; margin-left:auto; color:#345066; font-size:.95rem; }
.site-header nav a:hover { color:var(--blue); }
.header-cta { display:flex; align-items:center; gap:16px; padding:12px 0 12px 20px; border-left:1px solid var(--line); color:#0d3766; font-weight:700; font-size:.93rem; white-space:nowrap; }
.header-cta:hover { color:var(--blue); }
.header-cta span { color:var(--blue); font-size:1.4rem; }

.hero { position:relative; display:flex; min-height:670px; overflow:hidden; align-items:center; color:#fff; background:#0e2235; }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,18,33,.96) 0%,rgba(3,18,33,.9) 24%,rgba(3,18,33,.69) 48%,rgba(3,18,33,.1) 78%),linear-gradient(0deg,rgba(2,14,27,.42),transparent 40%); }
.hero-inner { position:relative; z-index:1; width:min(100% - 8vw,1260px); margin:auto; padding:88px 0 105px; }
.hero h1 { max-width:860px; margin-bottom:29px; font-size:clamp(3.1rem,5.8vw,6.4rem); line-height:1.05; letter-spacing:-.065em; font-weight:700; }
.hero h1 em { color:#b5edfa; }
.hero-inner > p:not(.eyebrow) { max-width:680px; margin-bottom:35px; color:#e4edf3; font-size:1.25rem; line-height:1.6; }
.hero-actions { display:flex; gap:31px; align-items:center; flex-wrap:wrap; }
.hero-edge { position:absolute; z-index:1; bottom:32px; right:4vw; color:#d8e9f1; font:600 .75rem Poppins,sans-serif; letter-spacing:.2em; }
.result-band { background:var(--blue); color:#fff; }
.result-inner { display:grid; grid-template-columns:.7fr 2fr .7fr; align-items:center; gap:40px; min-height:196px; }
.result-inner p { margin:0; font:600 .92rem Poppins,sans-serif; }
.result-inner h2 { margin:0; font-size:clamp(1.75rem,2.7vw,2.85rem); letter-spacing:-.045em; line-height:1.22; }
.result-inner > span { text-align:right; font:600 .74rem/1.55 Poppins,sans-serif; letter-spacing:.1em; opacity:.8; }

.problem-section { display:grid; grid-template-columns:.86fr 1.14fr; gap:9%; padding-block:135px 150px; }
.section-side { align-self:start; position:sticky; top:35px; }
.section-side h2 { margin-bottom:29px; }
.section-side > p:last-child { max-width:460px; color:var(--muted); font-size:1.2rem; line-height:1.65; }
.handoffs { border-top:2px solid var(--ink); }
.handoff { padding:34px 0 40px; border-bottom:1px solid var(--line); }
.handoff-head { display:grid; grid-template-columns:45px 1fr; gap:15px; align-items:start; }
.handoff-head span { padding-top:5px; color:var(--blue); font:600 .83rem Poppins,sans-serif; }
.handoff h3 { margin:0 0 24px; font-size:clamp(1.28rem,1.8vw,1.75rem); line-height:1.27; letter-spacing:-.035em; }
.handoff-pair { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-left:60px; }
.handoff-pair p { margin:0; color:#485f70; font-size:1rem; line-height:1.55; }
.handoff-pair p:last-child { color:#173e69; font-weight:700; }
.handoff-pair small { display:block; margin-bottom:12px; color:#647789; font:600 .72rem Poppins,sans-serif; letter-spacing:.12em; }
.handoff-pair p:last-child small { color:#2868dd; }

.dream-section { padding:95px 0 105px; background:var(--navy); color:#fff; }
.dream-layout { display:grid; grid-template-columns:1.2fr .8fr; gap:10%; align-items:end; }
.dream-layout h2 { margin:0; max-width:800px; }
.dream-layout h2::first-line { color:#fff; }
.dream-layout > div:last-child { border-left:2px solid var(--blue); padding-left:30px; }
.dream-layout > div:last-child p { color:#d0e0eb; font-size:1.16rem; line-height:1.65; }
.dream-layout > div:last-child p:last-child { margin:0; }

.example-section { padding-block:135px 145px; }
.example-heading { max-width:800px; margin-bottom:34px; }
.example-heading h2 { margin:0; }
.role-switch { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:46px; }
.role-switch button { min-width:126px; min-height:48px; padding:10px 22px; border:1px solid var(--line); border-radius:3px; background:#f1f6fa; color:var(--ink); font-weight:700; }
.role-switch button:hover { border-color:var(--blue); }
.role-switch button.active { border-color:var(--blue); background:var(--blue); color:#fff; }
.role-view[hidden] { display:none; }
.example-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,90px); align-items:center; }
.example-copy h3 { margin-bottom:25px; font-size:clamp(2.1rem,3.1vw,3.6rem); line-height:1.14; letter-spacing:-.05em; font-weight:600; }
.example-copy > p:last-child { max-width:490px; color:var(--muted); font-size:1.16rem; line-height:1.65; }
.app-screenshot { margin:0; }
.screenshot-open { display:block; width:100%; padding:0; border:0; background:none; color:var(--muted); text-align:left; cursor:zoom-in; }
.app-screenshot img { width:100%; height:auto; border:1px solid #2b4157; background:#0c1219; box-shadow:0 24px 65px rgba(7,28,48,.18); }
.screenshot-caption { display:block; margin-top:15px; font-size:.93rem; text-decoration:underline; text-underline-offset:3px; }
.screenshot-open:hover .screenshot-caption { color:var(--blue); }
.mobile-screens { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; align-items:start; }
html:has(.image-viewer[open]) { overflow:hidden; }
.image-viewer { width:min(96vw,1700px); max-width:none; max-height:92vh; max-height:92dvh; margin:auto; padding:0; border:1px solid #496176; border-radius:6px; overflow:auto; color:#fff; background:#0c1219; box-shadow:0 24px 90px rgba(0,0,0,.5); }
.image-viewer::backdrop { background:rgba(2,10,19,.88); }
.image-viewer__bar { position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; background:#071c30; border-bottom:1px solid #496176; }
.image-viewer__bar p { margin:0; font:600 1rem/1.4 Poppins,Arial,sans-serif; }
.image-viewer__close { display:inline-flex; flex-shrink:0; align-items:center; gap:10px; min-height:44px; padding:8px 14px; border:1px solid #6a879e; border-radius:3px; background:#173958; color:white; font-weight:700; }
.image-viewer__close:hover { background:#24507c; }
.image-viewer__close span { font-size:1.5rem; line-height:1; }
.image-viewer__content { padding:12px; }
.image-viewer__content img { display:block; width:auto; max-width:100%; height:auto; margin-inline:auto; }

.work-section { display:grid; grid-template-columns:1fr 1fr; min-height:650px; background:#0e2943; color:#fff; }
.work-photo { order:2; min-height:100%; }
.work-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.work-copy { align-self:center; width:min(100% - 16%,590px); margin:auto; padding:84px 0; }
.work-copy h2 { margin-bottom:29px; }
.work-copy > p:not(.eyebrow) { color:#d5e3ec; font-size:1.12rem; line-height:1.7; }
.work-copy .text-link { margin-top:18px; }

.features-section { padding-block:135px 150px; }
.features-heading { max-width:680px; margin-bottom:55px; }
.features-heading h2 { margin-bottom:17px; }
.features-heading p:last-child { max-width:530px; margin:0; color:var(--muted); font-size:1.15rem; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.feature-grid article { min-height:236px; padding:26px 23px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.feature-grid span { color:var(--blue); font:600 .78rem Poppins,sans-serif; }
.feature-grid h3 { margin:30px 0 10px; font-size:1.1rem; line-height:1.25; letter-spacing:-.025em; }
.feature-grid p { margin:0; color:var(--muted); font-size:.96rem; line-height:1.55; }

.start-section { padding-block:118px; background:#e6f0f7; }
.start-layout { display:grid; grid-template-columns:1.1fr .85fr; gap:11%; align-items:center; }
.start-layout h2 { max-width:730px; margin:0; }
.start-layout > div:last-child p { margin-bottom:29px; color:#395569; font-size:1.2rem; line-height:1.7; }
.faq-section { display:grid; grid-template-columns:.6fr 1fr; gap:10%; padding-block:115px 125px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; list-style:none; cursor:pointer; font:600 1.04rem/1.45 Poppins,sans-serif; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:var(--blue); font-size:1.5rem; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { max-width:680px; margin:0 0 23px; color:var(--muted); font-size:1rem; line-height:1.62; }

.contact-section { padding:122px 0 133px; background:#071c30; color:#fff; }
.contact-layout { max-width:920px; text-align:center; }
.contact-layout h2 { margin:0 auto 27px; }
.contact-layout > p:not(.eyebrow) { max-width:650px; margin:0 auto 31px; color:#d1e2ed; font-size:1.18rem; line-height:1.6; }
.contact-layout small { display:block; margin-top:19px; color:#a4bed2; font-size:.91rem; }
.site-footer { background:#061522; color:#fff; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; min-height:110px; }
.footer-inner .brand { font-size:1.28rem; }
.footer-inner p { margin:0; color:#a7bdcc; font-size:.85rem; }
.footer-inner > a:last-child { color:#bbdded; font-size:.87rem; }

/* Shared Kernlogik header and footer used by the integration preview. */
.ks-wrap { width:min(100% - 72px,1180px); margin-inline:auto; }
.ks-topbar { position:sticky; top:0; z-index:50; border-bottom:1px solid rgba(118,159,198,.12); background:rgba(3,13,25,.95); backdrop-filter:blur(18px); color:#f4f8ff; font-family:Arimo,Arial,sans-serif; }
.ks-topbar__inner { min-height:70px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:26px; align-items:center; }
.ks-brand { display:inline-flex; align-items:center; gap:10px; color:#fff; font-family:Poppins,Arial,sans-serif; font-weight:700; text-decoration:none; white-space:nowrap; }
.ks-brand img { width:30px; height:30px; display:block; }
.ks-brand span { font-size:18px; }
.ks-nav { display:flex; align-items:center; justify-content:center; gap:24px; }
.ks-nav a { color:rgba(222,235,250,.78); font-size:14px; font-weight:700; line-height:1; text-decoration:none; }
.ks-nav a:nth-child(-n+4)::after { content:'⌄'; margin-left:6px; color:rgba(119,177,232,.9); }
.ks-nav a:hover,.ks-nav-cta:hover { color:#fff; }
.ks-nav-cta { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:42px; padding:0 18px; border-radius:999px; background:linear-gradient(135deg,#168af2,#19d1cf); color:#041222; font-size:14px; font-weight:700; text-decoration:none; white-space:nowrap; }
.ks-footer { padding:54px 0 30px; border-top:1px solid rgba(132,162,194,.14); background:#020b16; color:#f4f8ff; font-family:Arimo,Arial,sans-serif; }
.ks-footer .ks-wrap { width:min(100% - 140px,1840px); }
.ks-footer__brand { display:flex; justify-content:space-between; align-items:center; gap:32px; padding-bottom:34px; border-bottom:1px solid rgba(132,162,194,.12); }
.ks-footer__brand p { max-width:420px; margin:0; color:#aabbd2; text-align:right; font-size:15px; line-height:1.62; }
.ks-footer__cols { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; padding:34px 0; }
.ks-footer h3 { margin:0 0 16px; color:#fff; font-family:Poppins,Arial,sans-serif; font-size:14px; }
.ks-footer__cols a { display:block; margin-top:10px; color:#aabbd2; font-size:14px; text-decoration:none; }
.ks-footer__cols a:hover,.ks-footer__bottom a:hover { color:#fff; }
.ks-footer__bottom { display:flex; flex-wrap:wrap; gap:18px; align-items:center; padding-top:22px; border-top:1px solid rgba(132,162,194,.12); }
.ks-footer__bottom a,.ks-footer__bottom span { color:#aabbd2; font-size:14px; text-decoration:none; }
.kh-skip { position:absolute; left:-9999px; top:0; }
.kh-skip:focus { left:12px; z-index:99; padding:10px; background:#fff; color:#061424; }

@media(max-width:1050px) {
  .site-header nav { gap:18px; }
  .header-inner { gap:22px; }
  .result-inner { grid-template-columns:.6fr 1.7fr; }
  .result-inner > span { display:none; }
  .problem-section { gap:5%; }
  .feature-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:1120px) {
  .ks-nav { display:none; }
  .ks-topbar__inner { grid-template-columns:auto 1fr; }
  .ks-nav-cta { justify-self:end; }
  .ks-wrap,.ks-footer .ks-wrap { width:min(100% - 44px,1180px); }
}
@media(max-width:860px) {
  .ks-footer__cols { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px) {
  .wrap,.header-inner,.hero-inner { width:min(100% - 40px,1260px); }
  .header-inner { min-height:73px; }
  .site-header nav { display:none; }
  .brand { font-size:1.35rem; }
  .header-cta { margin-left:auto; padding-left:12px; font-size:.78rem; }
  .hero { min-height:680px; align-items:end; }
  .hero-photo { object-position:59% center; }
  .hero-shade { background:linear-gradient(0deg,rgba(3,18,33,.98) 0%,rgba(3,18,33,.88) 40%,rgba(3,18,33,.23) 100%); }
  .hero-inner { padding:250px 0 70px; }
  .hero h1 { font-size:clamp(2.75rem,8vw,4.6rem); }
  .hero-inner > p:not(.eyebrow) { font-size:1.1rem; }
  .hero-edge { display:none; }
  .result-inner { display:block; min-height:0; padding-block:48px; }
  .result-inner p { margin-bottom:16px; }
  .problem-section,.dream-layout,.example-layout,.work-section,.start-layout,.faq-section { grid-template-columns:1fr; }
  .problem-section { padding-block:80px 90px; gap:35px; }
  .section-side { position:static; }
  .dream-section { padding-block:77px; }
  .dream-layout { gap:30px; }
  .example-section,.features-section { padding-block:85px; }
  .example-layout { gap:28px; }
  .role-switch { margin-bottom:34px; }
  .work-photo { order:0; height:370px; }
  .work-copy { width:min(100% - 40px,650px); padding:75px 0; }
  .start-section { padding-block:80px; }
  .start-layout { gap:25px; }
  .faq-section { padding-block:82px; gap:30px; }
  .footer-inner { align-items:flex-start; flex-direction:column; min-height:0; padding-block:32px; }
}
@media(max-width:640px) {
  .ks-wrap,.ks-footer .ks-wrap { width:min(100% - 28px,1180px); }
  .ks-topbar__inner { min-height:64px; gap:14px; }
  .ks-brand img { width:28px; height:28px; }
  .ks-brand span { font-size:16px; }
  .ks-nav-cta { min-height:38px; padding:0 12px; font-size:13px; }
  .ks-footer__brand { display:grid; }
  .ks-footer__brand p { text-align:left; }
  .ks-footer__cols { grid-template-columns:1fr; }
  .ks-footer__bottom { display:grid; }
}
@media(max-width:520px) {
  .brand { font-size:1.17rem; }
  .header-cta { font-size:.72rem; }
  h2 { font-size:clamp(2rem,8vw,2.8rem); }
  .header-cta { gap:3px; }
  .hero h1 { font-size:clamp(2.55rem,10vw,3.4rem); }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }
  .handoff-pair { grid-template-columns:1fr; gap:18px; margin-left:0; }
  .handoff-head { grid-template-columns:34px 1fr; gap:8px; }
  .result-inner h2 { font-size:1.72rem; }
  .role-switch { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
  .role-switch button { min-width:0; padding:10px 5px; font-size:.9rem; }
  .mobile-screens { display:flex; overflow-x:auto; gap:12px; scroll-snap-type:x mandatory; padding-bottom:12px; }
  .mobile-screens .app-screenshot { flex:0 0 83%; scroll-snap-align:start; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-grid article { min-height:0; padding:24px; }
  .feature-grid h3 { margin-top:20px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .button { transition:none; } }

/* Trial and subscription pages follow the existing KernHandwerk design. */
.contact-actions { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.button-outline { border:1px solid #68869e; color:#fff; background:transparent; }
.button-outline:hover { background:#163952; }
.contact-prices { margin-top:27px; }
.journey-preview { padding:12px 20px; background:#e7f1fa; color:#264d6b; text-align:center; font-size:.84rem; border-bottom:1px solid var(--line); }
.journey-hero { background:var(--navy); color:#fff; padding:36px 0 0; }
.journey-home { display:inline-block; color:#c4d8e6; font-size:.91rem; margin-bottom:36px; }
.journey-hero h1 { font-size:clamp(2.45rem,4.8vw,4.6rem); max-width:1000px; line-height:1.08; letter-spacing:-.055em; margin:0 0 46px; }
.journey-hero .eyebrow { margin-bottom:17px; }
.journey-progress { display:flex; gap:40px; border-top:1px solid #2b4357; }
.journey-progress a { padding:21px 0; color:#a3bdcf; font:600 .88rem Poppins,Arial,sans-serif; border-bottom:3px solid transparent; }
.journey-progress a[aria-current] { color:#fff; border-color:var(--blue); }
.journey-body { padding-block:70px 90px; }
.journey-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:7%; align-items:start; }
.journey-grid aside { padding-top:12px; }
.journey-grid aside>p { color:var(--muted); line-height:1.75; }
.journey-grid .journey-lead { color:var(--ink); font-size:1.4rem; line-height:1.6; }
.journey-card { border:1px solid var(--line); padding:36px; background:var(--paper); min-width:0; }
.journey-card h2,.price-card h2 { font-size:clamp(1.6rem,2.2vw,2rem); line-height:1.2; letter-spacing:-.035em; margin-bottom:22px; }
.journey-card h3 { font-size:1.05rem; margin:0 0 9px; }
.journey-card label,.user-count>label { display:block; font-weight:700; margin:21px 0 8px; }
.journey-card input:not([type=radio]),.user-count input { display:block; width:100%; border:1px solid #8fa5b4; background:#fff; color:var(--ink); border-radius:2px; min-height:50px; padding:12px; font:inherit; }
.journey-card input:disabled { background:#eaf0f4; color:#536c7e; opacity:1; }
.journey-page :is(input,a):focus-visible { outline:3px solid #2370f0; outline-offset:4px; }
.journey-note { font-size:.87rem; color:#526879; line-height:1.6; margin-top:18px; }
.journey-primary { margin-top:16px; width:100%; gap:16px; text-align:center; line-height:1.45; }
.journey-steps { list-style:none; padding:0; margin:32px 0; }
.journey-steps li { padding:18px 0; border-bottom:1px solid var(--line); display:flex; gap:22px; align-items:center; }
.journey-steps b { font:600 .85rem Poppins,sans-serif; color:var(--blue); }
.journey-back { display:block; text-decoration:underline; text-underline-offset:4px; margin-top:20px; font-size:.94rem; }
.journey-symbol { width:80px; height:80px; display:grid; place-items:center; background:#e0ecfc; color:var(--blue); font-size:2.4rem; margin:25px 0; }
.onboarding-list { padding-left:23px; line-height:1.65; margin:24px 0; }
.onboarding-list li { padding:9px 0 9px 10px; }
.trial-days { font:600 6rem/1 Poppins,sans-serif; color:var(--blue); padding:20px 0; letter-spacing:-.05em; }
.trial-days span { display:block; font:400 1.05rem/1.5 Arimo,sans-serif; letter-spacing:0; color:var(--muted); margin-top:16px; }
.journey-checks { list-style:none; padding:0; }
.journey-checks li { padding:10px 0; border-bottom:1px solid var(--line); }
.journey-checks li::before { content:'✓'; color:var(--blue); margin-right:14px; }
.pricing-intro { display:grid; grid-template-columns:1fr 1fr; gap:7%; align-items:start; margin-bottom:38px; }
.pricing-intro>p { font-size:1.35rem; line-height:1.6; padding-top:20px; }
.user-count { margin-bottom:24px; }
.user-count>p { font-size:.92rem; color:var(--muted); margin:12px 0 0; }
.user-count input { width:130px!important; font-size:1.2rem!important; }
.price-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.price-card { padding:38px; background:var(--paper); border:1px solid var(--line); border-top:4px solid #6b8a9f; display:flex; flex-direction:column; }
.price-featured { border-top-color:var(--blue); }
.price-card>.eyebrow { margin-bottom:15px; }
.price-base { font:600 2.6rem/1.25 Poppins,sans-serif; letter-spacing:-.04em; margin:14px 0 20px; }
.price-base span { display:block; font:400 .95rem/1.5 Arimo,sans-serif; color:var(--muted); letter-spacing:0; }
.price-calculated { padding:22px 0; margin:8px 0 23px; border-block:1px solid var(--line); }
.price-calculated>span { display:block; font-size:.9rem; color:var(--muted); margin-bottom:8px; }
.price-calculated strong { font-size:1.55rem; }
.price-calculated small { font:400 .91rem Arimo,sans-serif; }
.price-card .button { margin-top:auto; line-height:1.4; text-align:center; }
.included-section { display:grid; grid-template-columns:1fr 1fr; gap:7%; padding:70px 0; border-bottom:1px solid var(--line); }
.included-section h2 { font-size:2.7rem; }
.included-section ul { padding-left:20px; margin:0 0 24px; }
.included-section li { margin-bottom:15px; }
.included-section p { color:var(--muted); }
.journey-bottom-cta { background:var(--navy); color:#fff; padding:50px; margin-top:55px; text-align:center; }
.journey-bottom-cta h2 { font-size:2.4rem; }
.journey-bottom-cta .button { width:auto; }
.tariff-choice { border:0; padding:0; margin:0 0 20px; display:flex; flex-wrap:wrap; gap:12px; }
.tariff-choice legend { font-weight:700; margin-bottom:10px; }
.tariff-choice label { display:flex; align-items:center; gap:10px; padding:13px 17px; background:white; border:1px solid var(--line); margin:0; cursor:pointer; }
.tariff-choice input { accent-color:var(--blue); width:19px; height:19px; }
.tariff-choice label:has(:checked) { border-color:var(--blue); background:#eaf1ff; }
.tariff-terms { border-top:1px solid var(--line); padding-top:24px; margin-top:25px; }
.tariff-terms p { font-size:.95rem; color:var(--muted); }
.order-summary { border-block:1px solid var(--line); padding:22px 0 10px; }
.order-summary .eyebrow { margin-bottom:16px; letter-spacing:.04em; }
.order-summary dl { margin:0; }
.order-summary dl>div { display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:9px 0; }
.order-summary dd { margin:0; font-weight:700; white-space:nowrap; }
.order-summary dt { color:var(--muted); }
.order-summary .summary-total { border-top:1px solid var(--line); margin-top:12px; padding-top:18px; }
.summary-total dt { color:var(--ink); font-weight:700; }
.summary-total dd { font-size:1.5rem; color:var(--blue); }
.journey-notice { border-left:3px solid var(--blue); background:#e6effa; padding:18px; margin-top:24px; }
.journey-notice p { font-size:.95rem; margin:10px 0 0; }
.account-facts>div { border-bottom:1px solid var(--line); padding:12px 0; }
.account-facts dt { color:var(--muted); font-size:.9rem; }
.account-facts dd { margin:4px 0 0; }
@media(max-width:900px) { .journey-grid { gap:30px; }.journey-card,.price-card { padding:26px; }.journey-progress { gap:25px; } }
@media(max-width:760px) { .journey-body { padding-block:40px 60px; }.journey-grid,.pricing-intro,.price-grid,.included-section { grid-template-columns:1fr; }.journey-grid { gap:35px; }.journey-hero h1 { margin-bottom:30px; }.journey-progress { gap:20px; }.journey-progress a { font-size:.74rem; padding-block:17px; }.journey-home { margin-bottom:26px; }.price-grid { gap:24px; }.included-section { gap:20px; padding-block:45px; }.included-section h2 { font-size:2.2rem; }.journey-bottom-cta { padding:32px 22px; }.journey-bottom-cta h2 { font-size:2rem; }.journey-bottom-cta .button { width:100%; }.contact-actions { flex-direction:column; }.journey-grid .journey-lead { font-size:1.2rem; }.pricing-intro { gap:0; }.order-summary dl>div { gap:12px; font-size:.92rem; }.summary-total dd { font-size:1.25rem; } }
@media(max-width:380px) { .journey-card,.price-card { padding:20px; }.journey-progress { gap:12px; }.journey-progress a { font-size:.68rem; }.journey-primary { font-size:.83rem; } }
