:root {
  --kw-ink:#123f3b; --kw-deep:#073c37; --kw-muted:#526c68;
  --kw-mint:#e8f3ee; --kw-lime:#ddf1a8; --kw-line:#d9e6e1;
  --kw-white:#fff; --kw-warm:#f8faf7; --kw-gold:#a67820;
  --kw-radius:12px; --kw-shadow:0 12px 40px #153f3b08;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:110px }
body.kw-root { margin:0; color:var(--kw-ink); background:white; font:16px/1.65 Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased }
button,input,select,textarea { font:inherit }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent }
a { color:inherit; text-decoration:none }
button { cursor:pointer }
img { display:block; max-width:100%; height:auto }
figure,blockquote { margin:0 }
h1,h2,h3,p { margin-top:0 }
h1,h2,h3 { font-weight:800; line-height:1.1; letter-spacing:-1.5px; text-wrap:balance }
h1 { font-size:clamp(42px,4.7vw,66px); margin-bottom:24px }
h2 { font-size:clamp(30px,3.1vw,42px); margin-bottom:20px }
h3 { font-size:21px; letter-spacing:-.5px; margin-bottom:12px }
p { margin-bottom:20px }
small,.kw-small { font-size:12px; line-height:1.6 }
svg.kw-icon { width:25px; height:25px; stroke:currentColor; fill:none; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; flex:none; vertical-align:middle }
button svg,a svg { flex:none }
:focus-visible { outline:3px solid #819b35; outline-offset:4px }
[hidden] { display:none!important }
.kw-shell { width:min(1200px,calc(100% - 80px)); margin-inline:auto }
.kw-muted { color:var(--kw-muted) }
.kw-kicker { font-size:11px; line-height:1.5; letter-spacing:1.7px; font-weight:700; text-transform:uppercase; color:#58786e; margin:0 0 17px }
.kw-lead { font-size:19px; line-height:1.55; max-width:650px }
.kw-section { padding:80px 0; scroll-margin-top:100px }
.kw-section-tight { padding:46px 0 }
.kw-mint { background:var(--kw-mint) }
.kw-soft { background:var(--kw-warm) }
.kw-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:32px }
.kw-section-head h2 { margin-bottom:0 }
.kw-section-head p { max-width:390px; margin:0; font-size:15px }
.kw-section-head .kw-kicker { margin-bottom:14px }
.kw-grid-2,.kw-grid-3,.kw-grid-4 { display:grid; gap:24px }
.kw-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px; align-items:center }
.kw-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)) }
.kw-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)) }
.kw-grid-2>*,.kw-grid-3>*,.kw-grid-4>*,.kw-calc-grid>*,.kw-inquiry-layout>*,.kw-application-layout>* { min-width:0 }
.kw-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; margin:26px 0 }
.kw-btn { display:inline-flex; justify-content:center; align-items:center; gap:16px; min-height:49px; padding:13px 22px; border:1px solid transparent; border-radius:6px; font-size:14px; font-weight:700; line-height:1.35; background:var(--kw-lime); color:var(--kw-ink); transition:background .18s,box-shadow .18s }
.kw-btn:hover { background:#d1e996; box-shadow:0 4px 14px #123f3b0c }
.kw-btn .kw-icon { width:18px; height:18px }
.kw-btn-dark { background:var(--kw-deep); color:white }
.kw-btn-dark:hover { background:#16584f }
.kw-btn-outline { background:transparent; border-color:#89a398 }
.kw-btn-outline:hover { background:#eff6f0 }
.kw-btn:disabled,.kw-btn[aria-disabled=true] { opacity:.5; cursor:not-allowed; box-shadow:none }
.kw-link { display:inline-flex; align-items:center; gap:9px; border-bottom:1px solid #9ab5a6; padding-bottom:3px; font-size:14px; font-weight:700 }
.kw-link .kw-icon { width:17px; height:17px }
.kw-text-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0; border:0; background:none; color:inherit; text-decoration:underline; text-underline-offset:4px; font-size:13px }
.kw-text-button .kw-icon { width:17px; height:17px }
.kw-skip { position:fixed; top:-80px; left:20px; padding:12px 22px; z-index:100; background:var(--kw-deep); color:white }
.kw-skip:focus { top:10px }

/* Navigation and established brand. */
.kw-demo-bar { background:#f1f6f3; border-bottom:1px solid #e4ede7; font-size:11px; color:#57716c }
.kw-demo-bar .kw-shell { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:33px }
.kw-demo-bar a { text-decoration:underline; text-underline-offset:3px }
.kw-demo-bar .kw-icon { width:14px; height:14px }
.kw-header { position:sticky; top:0; z-index:30; background:#fffffff5; border-bottom:1px solid var(--kw-line); backdrop-filter:blur(12px) }
.kw-header-inner { display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:86px }
.kw-logo { display:inline-flex; flex-direction:column; gap:6px; flex:none; line-height:1 }
.kw-logo strong { font-size:27px; letter-spacing:.6px; font-weight:850 }
.kw-logo small { font-size:11px; letter-spacing:1.2px; color:#5f7974; line-height:1 }
.kw-nav { display:flex; align-items:center; gap:29px; font-size:13px }
.kw-nav>a:not(.kw-btn) { padding:12px 0; border-bottom:2px solid transparent }
.kw-nav>a[aria-current=page] { border-bottom-color:var(--kw-ink); font-weight:700 }
.kw-menu { display:none; padding:9px 12px; border:1px solid var(--kw-line); border-radius:5px; background:white }
.kw-breadcrumb { font-size:12px; color:var(--kw-muted); margin-bottom:24px }
.kw-breadcrumb a { text-decoration:underline; text-underline-offset:4px }
.kw-hero { position:relative; isolation:isolate; overflow:hidden; background:#f9fbf7 }
.kw-hero-inner { min-height:570px; display:flex; align-items:center }
.kw-hero-copy { position:relative; z-index:2; width:51%; padding:55px 38px 55px 0 }
.kw-hero-copy .kw-lead { font-size:18px; max-width:500px }
.kw-hero-photo { position:absolute; right:0; top:0; width:57%; height:100%; z-index:-1; margin:0 }
.kw-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:63% center }
.kw-hero-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#f9fbf7 0%,#f9fbf7c9 9%,transparent 34%) }
.kw-hero-small .kw-hero-inner { min-height:455px }
.kw-hero-small h1 { font-size:clamp(38px,4.3vw,59px) }
.kw-hero-small .kw-hero-photo { width:52% }
.kw-hero-small .kw-hero-copy { width:55% }
.kw-rating { display:flex; align-items:center; flex-wrap:wrap; gap:8px 13px; font-size:12px; margin-top:17px }
.kw-stars { display:block; color:var(--kw-gold); font-size:20px; line-height:1; letter-spacing:2px; white-space:nowrap }
.kw-rating .kw-fiction { flex-basis:100%; color:var(--kw-muted); font-size:11px }
.kw-benefits { background:var(--kw-mint) }
.kw-benefits .kw-shell { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:25px }
.kw-benefit { display:flex; align-items:center; gap:18px; padding-inline:28px; border-right:1px solid #cedfd6 }
.kw-benefit:first-child { padding-left:0 }
.kw-benefit:last-child { border-right:0 }
.kw-benefit svg { width:34px; height:34px }
.kw-benefit strong { display:block; font-size:14px; line-height:1.4; margin-bottom:3px }
.kw-benefit small { display:block; font-size:12px; color:var(--kw-muted) }

/* Explicit image frames keep all cards aligned, irrespective of source dimensions. */
.kw-card-media { position:relative; display:block; width:100%; aspect-ratio:8/5; overflow:hidden; background:#e9efea }
.kw-card-media>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover }
.kw-service-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--kw-line); border-radius:var(--kw-radius); background:white; transition:box-shadow .2s,border-color .2s }
.kw-service-card:hover { box-shadow:var(--kw-shadow); border-color:#91b39f }
.kw-service-card .kw-card-media>img { transition:transform .35s }
.kw-service-card:hover img { transform:scale(1.025) }
.kw-service-card>span:last-child { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px; font-size:16px; font-weight:700; line-height:1.45; min-height:85px }
.kw-service-card .kw-icon { width:20px; height:20px }
.kw-extra-services { display:grid; grid-template-columns:1fr repeat(3,1.15fr); gap:16px; margin-top:24px; padding:18px; background:var(--kw-mint); border-radius:var(--kw-radius) }
.kw-extra-services>strong { display:flex; align-items:center; padding:12px; font-size:15px; line-height:1.5 }
.kw-extra-services>a { display:flex; align-items:center; gap:12px; overflow:hidden; background:white; border:1px solid #dbe7df; border-radius:7px; font-size:13px; font-weight:700 }
.kw-extra-services .kw-card-media { width:80px; height:84px; aspect-ratio:auto; flex:none }
.kw-extra-services .kw-icon { margin-left:auto; margin-right:12px; width:17px; height:17px }
.kw-quality-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:65px; align-items:center }
.kw-quality-visual { overflow:hidden; border:1px solid var(--kw-line); border-radius:var(--kw-radius); background:white }
.kw-quality-visual>img { width:100%; height:290px; object-fit:cover; object-position:center 35% }
.kw-mini-plan { padding:24px 28px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; font-size:12px }
.kw-mini-plan>strong { display:flex; align-items:center; gap:10px; grid-column:1/-1; font-size:15px }
.kw-mini-plan>strong .kw-icon { width:21px; height:21px }
.kw-mini-plan>div { border-top:1px solid var(--kw-line); padding-top:12px }
.kw-mini-plan span,.kw-mini-plan b { display:block; line-height:1.5 }
.kw-mini-plan span { color:var(--kw-muted); margin-bottom:5px }
.kw-mini-plan b { font-size:12px }
.kw-mini-plan small { grid-column:1/-1; color:var(--kw-muted); font-size:11px }
.kw-feature-list { display:grid; gap:25px }
.kw-feature { display:flex; align-items:flex-start; gap:18px }
.kw-feature>.kw-icon { width:30px; height:30px; margin-top:3px }
.kw-feature strong { display:block; font-size:16px; line-height:1.4; margin-bottom:7px }
.kw-feature p { color:var(--kw-muted); font-size:14px; line-height:1.65; margin:0 }
.kw-quality-copy .kw-actions { margin-bottom:0 }

/* Two clear calculator columns, with one stable result panel. */
.kw-calc { margin-top:28px; overflow:hidden; border:1px solid #d1e1d6; border-radius:16px; background:white; box-shadow:var(--kw-shadow) }
.kw-calc-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); align-items:stretch }
.kw-calc-controls { padding:38px }
.kw-calc-controls h3 { font-size:25px; margin-bottom:28px }
.kw-calc-controls .kw-kicker { margin-bottom:10px }
.kw-calc-controls .kw-form-grid { gap:0 22px }
.kw-calc-inclusions { border-top:1px solid var(--kw-line); padding-top:20px; margin-top:23px; font-size:12px }
.kw-calc-inclusions>strong { display:block; font-size:13px; margin-bottom:10px }
.kw-calc-inclusions ul { display:flex; flex-wrap:wrap; gap:10px 18px; list-style:none; padding:0; margin:0; color:var(--kw-muted) }
.kw-calc-inclusions li { display:flex; align-items:center; gap:6px }
.kw-calc-inclusions .kw-icon { width:15px; height:15px }
.kw-result { padding:40px 34px; display:flex; flex-direction:column; align-items:stretch; justify-content:center; background:var(--kw-deep); color:white; container-type:inline-size }
.kw-result-kicker { color:#c0d7c5; font-size:11px; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:18px }
.kw-result h3 { font-size:17px; font-weight:400; letter-spacing:0; margin-bottom:20px; line-height:1.45 }
.kw-price { display:block; font-size:clamp(28px,3vw,44px); font-weight:800; line-height:1.2; letter-spacing:-1.6px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere }
.kw-result .kw-price { font-size:clamp(23px,10.5cqi,47px); color:var(--kw-lime); max-width:100% }
.kw-result .kw-tax { font-size:12px; color:#d5e5d9; margin:10px 0 9px }
.kw-result .kw-fiction { font-size:11px; color:#bbd2c2; margin-bottom:27px }
.kw-result .kw-btn { width:100%; margin-top:2px }
.kw-result .kw-text-button { color:#e2eee3; margin-top:20px; font-size:12px }
.kw-included { font-size:12px; line-height:1.65; color:#d0e1d4; border-top:1px solid #ffffff2b; margin-top:26px; padding-top:21px }
.kw-included p { margin-bottom:10px }
.kw-included p:last-child { margin-bottom:0 }
.kw-calc-details { padding:20px 38px; border-top:1px solid var(--kw-line); background:#f6f9f4; color:var(--kw-muted); font-size:12px }
.kw-calc-details summary { font-weight:700; cursor:pointer }
.kw-calc-details p { max-width:950px; margin:16px 0 0 }
.kw-calc-error { color:#a33826; font-size:13px; font-weight:700; margin:16px 0 0 }
.kw-field { display:block; min-width:0; margin:0 0 21px }
.kw-field>span,.kw-field>label,.kw-field-heading { display:block; font-size:13px; line-height:1.5; font-weight:700; margin-bottom:9px }
.kw-field>span small { display:inline; margin:0 0 0 4px; font-size:11px; font-weight:400 }
.kw-field input:not([type=checkbox]):not([type=radio]),.kw-field select,.kw-field textarea { display:block; width:100%; min-height:52px; padding:12px 14px; border:1px solid #bdcfc4; border-radius:6px; background:white; color:var(--kw-ink); font-size:15px; line-height:1.5; box-shadow:0 1px 1px #123f3b03 }
.kw-field select { padding-right:28px }
.kw-field textarea { min-height:116px; resize:vertical }
.kw-field input::placeholder,.kw-field textarea::placeholder { color:#7a8e85 }
.kw-field small { display:block; margin-top:6px; font-size:11px; color:var(--kw-muted) }
.kw-field :is(input,select,textarea):focus { border-color:#3c7760 }
.kw-input-stepper { display:grid; grid-template-columns:44px minmax(0,1fr) 44px }
.kw-input-stepper button { min-height:52px; border:1px solid #bdcfc4; background:white; color:var(--kw-ink); font-size:20px }
.kw-input-stepper button:hover { background:var(--kw-mint) }
.kw-input-stepper input { min-width:0; text-align:center; border-radius:0!important; border-inline:0!important; -moz-appearance:textfield; appearance:textfield }
.kw-input-stepper input::-webkit-inner-spin-button { -webkit-appearance:none }
.kw-input-stepper button:first-child { border-radius:6px 0 0 6px }
.kw-input-stepper button:last-child { border-radius:0 6px 6px 0 }
.kw-check { display:flex; align-items:center; gap:11px; min-height:44px; font-size:14px }
.kw-check input { width:18px; height:18px; accent-color:var(--kw-deep); flex:none }
.kw-addon { display:flex; align-items:center; gap:13px; padding:16px; border:1px solid #d5e3d9; border-radius:8px; background:#f8fbf5; cursor:pointer }
.kw-addon>input { width:18px; height:18px; accent-color:var(--kw-deep); flex:none }
.kw-addon>span { flex:1; min-width:0 }
.kw-addon strong { display:block; font-size:14px; line-height:1.45 }
.kw-addon small { display:block; margin-top:4px; font-size:11px; color:var(--kw-muted) }
.kw-addon>.kw-icon { width:21px; height:21px; opacity:0 }
.kw-addon:has(input:checked) { background:#eff6df; border-color:#8fac63 }
.kw-addon:has(input:checked)>.kw-icon { opacity:1 }

/* Examples and clearly fictional reviews. */
.kw-projects { row-gap:26px }
.kw-project-card { display:flex; flex-direction:column; width:100%; padding:0; overflow:hidden; border:1px solid var(--kw-line); border-radius:var(--kw-radius); background:white; color:var(--kw-ink); text-align:left; transition:border-color .2s,box-shadow .2s }
.kw-project-card .kw-card-media { aspect-ratio:16/10 }
.kw-project-card>span:last-child { display:block; padding:18px 20px; min-height:92px }
.kw-project-card strong { display:block; font-size:16px; line-height:1.4; margin-bottom:6px }
.kw-project-card small { display:block; color:var(--kw-muted); font-size:12px }
.kw-project-card:hover { border-color:#6d9a83; box-shadow:var(--kw-shadow) }
.kw-review-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:25px; align-items:stretch }
.kw-review-summary { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; border-radius:var(--kw-radius); padding:28px; background:var(--kw-deep); color:white }
.kw-review-score { display:flex; align-items:baseline; gap:10px; line-height:1; margin-bottom:22px }
.kw-review-score strong { font-size:66px; letter-spacing:-3px }
.kw-review-score>span { font-size:18px; color:#bcd7c6 }
.kw-review-summary .kw-stars { color:var(--kw-lime); font-size:20px }
.kw-review-summary p { font-size:12px; margin:13px 0 19px }
.kw-review-summary .kw-fiction { color:#e6f1e2; font-size:11px; padding-top:16px; border-top:1px solid #ffffff35; width:100% }
.kw-review-summary small { display:block; font-size:10px; color:#bcd2c2; margin-top:5px }
.kw-review-card { display:flex; flex-direction:column; margin:0; padding:26px 23px; border:1px solid var(--kw-line); border-radius:var(--kw-radius); background:white; min-width:0 }
.kw-review-card .kw-stars { font-size:15px }
.kw-review-card blockquote { font-size:15px; line-height:1.7; margin:22px 0 27px; flex:1 }
.kw-review-card figcaption { display:flex; align-items:center; gap:10px; padding-top:18px; border-top:1px solid var(--kw-line) }
.kw-review-avatar { display:grid; place-items:center; width:35px; height:35px; border-radius:50%; background:var(--kw-mint); font-size:11px; font-weight:700; flex:none }
.kw-review-card cite { display:block; color:var(--kw-ink); font-size:12px; font-weight:700; font-style:normal; line-height:1.4 }
.kw-review-card figcaption small { display:block; font-size:10px; color:var(--kw-muted); margin-top:4px }
.kw-switch { background:var(--kw-mint); padding:32px 0 }
.kw-switch-inner { display:grid; grid-template-columns:1.4fr 1.4fr auto; gap:30px; align-items:center }
.kw-switch h3 { font-size:20px; margin-bottom:7px }
.kw-switch p { font-size:12px; color:var(--kw-muted); margin:0 }
.kw-inline-steps { display:flex; justify-content:space-between; gap:20px; font-size:12px }
.kw-inline-steps span { flex:1 }
.kw-inline-steps b { display:grid; place-items:center; width:27px; height:27px; margin-bottom:7px; border:1px solid #a4bfb0; border-radius:50% }

/* Existing quality detail and career content. */
.kw-steps { counter-reset:steps }
.kw-step { padding-right:23px; border-right:1px solid var(--kw-line) }
.kw-step:last-child { border-right:0 }
.kw-step-top { display:flex; align-items:center; gap:17px; margin-bottom:20px }
.kw-step-top b { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; font-size:13px; background:var(--kw-mint) }
.kw-step h3 { font-size:17px; letter-spacing:-.3px }
.kw-step p { font-size:13px; color:var(--kw-muted); margin:0 }
.kw-plan-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr); gap:30px; align-items:stretch }
.kw-plan-layout>img { width:100%; height:410px; object-fit:cover; border-radius:var(--kw-radius) }
.kw-plan-card { padding:28px; border:1px solid #d2e2d7; border-radius:var(--kw-radius); background:white; box-shadow:var(--kw-shadow) }
.kw-tablist { display:flex; gap:7px; margin-bottom:20px }
.kw-tab { padding:10px 17px; border:1px solid #cbded0; border-radius:5px; color:var(--kw-ink); background:white; font-size:13px }
.kw-tab[aria-selected=true] { background:var(--kw-lime); border-color:#b4cf88; font-weight:700 }
.kw-table-wrap { overflow-x:auto }
.kw-plan-card table { width:100%; min-width:390px; border-collapse:collapse; text-align:left; font-size:13px }
.kw-plan-card th,.kw-plan-card td { padding:13px 9px; border-bottom:1px solid var(--kw-line); vertical-align:top }
.kw-plan-card th:first-child,.kw-plan-card td:first-child { padding-left:0 }
.kw-plan-card th { font-size:12px }
.kw-plan-card caption { text-align:left; font-weight:700; font-size:14px; margin-bottom:12px }
.kw-plan-card .kw-small { margin:18px 0 0 }
.kw-agreement .kw-step h3 { font-size:16px }
.kw-agreement .kw-icon { margin-bottom:16px }
.kw-portrait-block { position:relative }
.kw-portrait-block>img { width:100%; height:390px; object-fit:cover; border-radius:var(--kw-radius) }
.kw-control-card { position:absolute; right:20px; bottom:22px; padding:20px 25px; border-radius:8px; background:#fffffff2; box-shadow:var(--kw-shadow); font-size:12px }
.kw-control-card strong { display:block; margin-bottom:14px }
.kw-control-card p { margin:7px 0 }
.kw-feedback-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; margin-top:30px }
.kw-feedback-steps>div { display:flex; gap:18px; padding:24px; border:1px solid var(--kw-line); border-radius:var(--kw-radius); background:white }
.kw-feedback-steps strong { display:block; font-size:14px; margin-bottom:5px }
.kw-feedback-steps p { font-size:12px; color:var(--kw-muted); margin:0 }
.kw-career-teaser { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:45px; align-items:center }
.kw-career-teaser>img { width:100%; height:350px; object-fit:cover; object-position:center 35%; border-radius:var(--kw-radius) }
.kw-career-teaser h2 { font-size:34px; margin:7px 0 14px }
.kw-pill-row { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0 }
.kw-pill { padding:5px 10px; border:1px solid #b8d0c1; border-radius:5px; background:white; font-size:12px }
.kw-job-preview { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px; margin-top:25px; background:var(--kw-mint); border-radius:8px }
.kw-job-preview strong { display:block; font-size:13px }
.kw-job-preview small { color:var(--kw-muted) }
.kw-job-preview .kw-btn { padding:10px 13px; min-height:43px; font-size:12px; white-space:nowrap }
.kw-job-filters { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:25px }
.kw-filter { padding:10px 18px; border:1px solid #bed1c3; border-radius:5px; color:var(--kw-ink); background:white; font-size:13px }
.kw-filter[aria-pressed=true] { background:var(--kw-lime); border-color:#b8d28d; font-weight:700 }
.kw-job-card { display:grid; grid-template-columns:220px minmax(0,1fr) auto; align-items:center; gap:30px; padding:24px; border:1px solid var(--kw-line); border-radius:var(--kw-radius); margin-bottom:20px; background:white }
.kw-job-card img { width:100%; height:155px; object-fit:cover; border-radius:7px }
.kw-job-card h3 { font-size:22px }
.kw-job-card p { font-size:14px; margin-bottom:7px }
.kw-job-card details { font-size:13px; margin-top:18px }
.kw-job-card details summary { font-weight:700; cursor:pointer }
.kw-job-card ul { padding-left:18px; margin:12px 0 0 }
.kw-journey-card { padding:29px; background:white; border:1px solid #d4e2d6; border-radius:var(--kw-radius) }
.kw-journey-card>div { display:flex; align-items:center; justify-content:space-between; margin-bottom:32px }
.kw-journey-card>div>span { font-size:13px; color:#5e8071 }
.kw-journey-card .kw-icon { width:29px; height:29px }
.kw-journey-card h3 { font-size:20px; margin-bottom:13px }
.kw-journey-card p { font-size:14px; color:var(--kw-muted); margin:0 }
.kw-journey-note { margin:22px 0 0 }

/* Dedicated forms: spacious fields, clear steps and a live selection beside them. */
.kw-form-shell { max-width:900px; margin:auto }
.kw-form-page { padding:50px 0 80px }
.kw-form-page h1 { font-size:clamp(40px,4.1vw,56px) }
.kw-inquiry-heading { max-width:800px; margin-bottom:36px }
.kw-inquiry-heading .kw-lead { max-width:660px; font-size:17px; margin-bottom:0 }
.kw-inquiry-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(270px,.46fr); gap:30px; align-items:start }
.kw-form-card { padding:36px; background:white; border:1px solid var(--kw-line); border-radius:var(--kw-radius); box-shadow:var(--kw-shadow) }
.kw-form-note { display:flex; align-items:center; gap:9px; padding:12px 14px; border:1px solid #e0e9df; border-radius:6px; background:#f7faf5; color:var(--kw-muted); font-size:11px; line-height:1.6; margin-bottom:30px }
.kw-form-note .kw-icon { width:18px; height:18px }
.kw-form-card fieldset { min-width:0; border:0; padding:0; margin:0; scroll-margin-top:110px }
.kw-form-card legend { max-width:100%; font-size:25px; font-weight:800; line-height:1.3; letter-spacing:-.6px; padding:0; margin-bottom:11px }
.kw-step-intro { color:var(--kw-muted); font-size:13px; margin-bottom:25px }
.kw-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px }
.kw-form-grid .kw-full { grid-column:1/-1 }
.kw-progress { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding:0 0 25px; list-style:none; margin:0 0 28px; border-bottom:1px solid var(--kw-line) }
.kw-progress button { display:flex; width:100%; align-items:center; gap:9px; border:0; border-radius:6px; padding:10px 9px; color:var(--kw-muted); background:#f5f8f4; font-size:13px; text-align:left }
.kw-progress b { display:grid; place-items:center; width:27px; height:27px; flex:none; border:1px solid #d5e2d6; border-radius:50%; background:white; font-size:12px }
.kw-progress li.is-active button { color:var(--kw-ink); background:var(--kw-mint); font-weight:700 }
.kw-progress li.is-active b,.kw-progress li.is-done b { color:white; border-color:var(--kw-deep); background:var(--kw-deep) }
.kw-progress li.is-done button { color:var(--kw-ink) }
.kw-form-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid var(--kw-line); padding-top:25px; margin-top:28px }
.kw-form-actions>[data-form-next]:first-child,.kw-form-actions>[data-form-back][hidden]+[data-form-next] { margin-left:auto }
.kw-form-actions .kw-btn { min-width:120px }
.kw-form-summary { position:sticky; top:110px; overflow:hidden; border:1px solid #ceded0; border-radius:var(--kw-radius); background:var(--kw-mint) }
.kw-summary-photo { position:relative; height:145px; overflow:hidden }
.kw-summary-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 37% }
.kw-summary-body { padding:27px }
.kw-summary-body .kw-kicker { font-size:10px; letter-spacing:1.4px; margin-bottom:12px }
.kw-summary-body h2 { font-size:22px; letter-spacing:-.4px; line-height:1.3; margin-bottom:12px }
.kw-summary-body>[data-summary-object] { font-size:13px; color:var(--kw-muted); line-height:1.8; margin-bottom:20px; overflow-wrap:anywhere }
.kw-summary-price { padding-block:20px; border-block:1px solid #c4d9cb; margin-bottom:19px; container-type:inline-size }
.kw-summary-price>.kw-small { display:block; font-size:11px; margin-bottom:10px }
.kw-summary-price .kw-price { font-size:clamp(22px,10cqi,32px); letter-spacing:-1.1px; margin-bottom:9px }
.kw-summary-price small { display:block; font-size:11px; color:var(--kw-muted) }
.kw-summary-edit { display:flex; width:100%; align-items:center; justify-content:space-between; gap:8px; padding:12px; border:1px solid #94af9e; border-radius:6px; background:#ffffff9c; color:var(--kw-ink); font-size:12px; font-weight:700; text-align:left }
.kw-summary-edit:hover { background:white }
.kw-summary-edit .kw-icon { width:17px; height:17px }
.kw-summary-note { font-size:11px; color:var(--kw-muted); margin:17px 0 15px }
.kw-summary-body>.kw-text-button { font-size:11px }
.kw-options { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 24px }
.kw-option { display:inline-flex; position:relative; align-items:center; justify-content:center; gap:9px; padding:13px 17px; min-height:50px; border:1px solid #c9dacf; border-radius:6px; background:white; color:var(--kw-ink); font-size:13px; cursor:pointer }
.kw-option input { accent-color:var(--kw-deep); width:16px; height:16px; margin:0; flex:none }
.kw-option .kw-icon { width:18px; height:18px }
.kw-option:has(input:checked) { background:#edf5df; border-color:#90aa62; box-shadow:inset 0 0 0 1px #90aa6240 }
.kw-contact-options .kw-option { flex:1 }
.kw-switch-choice { margin-bottom:23px; font-size:13px }
.kw-file-disclosure { border:1px solid #d7e3d9; border-radius:7px; margin-top:5px; background:#fbfcfa }
.kw-file-disclosure>summary { display:flex; align-items:center; gap:10px; padding:16px; list-style:none; font-size:13px; font-weight:700; cursor:pointer }
.kw-file-disclosure>summary>.kw-icon { width:20px; height:20px }
.kw-file-disclosure>summary>span { margin-left:auto; font-size:11px; color:var(--kw-muted); font-weight:400 }
.kw-file-disclosure>summary:after { content:'+'; font-weight:400; font-size:20px; line-height:1 }
.kw-file-disclosure[open]>summary:after { content:'−' }
.kw-file { margin:0 16px 16px; padding:16px; border:1px dashed #a9c0af; border-radius:6px; background:white }
.kw-file>label { display:block; font-size:12px; font-weight:700 }
.kw-file input { width:100%; min-width:0; font-size:11px; margin-top:11px; color:var(--kw-muted) }
.kw-file input::file-selector-button { padding:9px 12px; margin-right:10px; border:1px solid #bed1bf; border-radius:4px; background:var(--kw-mint); color:var(--kw-ink); font:inherit; cursor:pointer }
.kw-file small { display:block; font-size:10px; margin-top:10px; color:var(--kw-muted); overflow-wrap:anywhere }
.kw-form-confirmation { padding:4px 0; background:white; border-radius:6px }
.kw-form-confirmation h2 { font-size:30px; max-width:100% }
.kw-form-confirmation>p { font-size:14px; color:var(--kw-muted) }
.kw-form-confirmation dl { margin:25px 0; border-top:1px solid var(--kw-line); font-size:14px }
.kw-form-confirmation dt { font-weight:700; padding-top:13px }
.kw-form-confirmation dd { margin:3px 0 0; padding-bottom:13px; border-bottom:1px solid var(--kw-line); color:var(--kw-muted); overflow-wrap:anywhere }
.kw-application-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:65px; align-items:start }
.kw-application-context .kw-lead { font-size:17px; margin-bottom:26px }
.kw-application-photo { position:relative; aspect-ratio:16/10; overflow:hidden; border-radius:var(--kw-radius); margin-bottom:25px }
.kw-application-photo>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 36% }
.kw-selected-job { border-left:3px solid #b3cd87; padding-left:18px; margin-bottom:20px }
.kw-selected-job h3 { font-size:19px; line-height:1.4; letter-spacing:-.3px; margin:7px 0 }
.kw-selected-job p { font-size:12px; color:var(--kw-muted); margin:0 }
.kw-application-card { padding:35px }
.kw-form-intro { display:flex; align-items:center; gap:15px; margin-bottom:25px }
.kw-form-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:10px; background:var(--kw-mint); flex:none }
.kw-form-intro h2 { font-size:26px; letter-spacing:-.6px; margin-bottom:6px }
.kw-form-intro p { font-size:13px; color:var(--kw-muted); margin:0 }
.kw-application-submit { margin-top:26px }
.kw-application-submit>.kw-btn { width:100% }
.kw-application-submit p { font-size:11px; text-align:center; line-height:1.7; color:var(--kw-muted); margin:15px 0 0 }

/* Dialog, detailed services and footer. */
.kw-dialog { width:min(780px,calc(100% - 32px)); max-height:90vh; padding:0; border:1px solid var(--kw-line); border-radius:12px; color:var(--kw-ink); box-shadow:0 25px 100px #062d2b45 }
.kw-dialog::backdrop { background:#123b35a8; backdrop-filter:blur(3px) }
.kw-dialog-body { padding:32px }
.kw-dialog h2 { font-size:31px }
.kw-dialog-close { position:sticky; top:15px; float:right; right:15px; z-index:3; width:42px; height:42px; margin:15px 15px -60px 0; border:1px solid #cad9cd; border-radius:50%; background:white; color:var(--kw-ink); font-size:25px }
.kw-dialog>[data-project-image] { width:100%; height:auto; max-height:440px; object-fit:cover }
.kw-compare { position:relative; aspect-ratio:1.7; overflow:hidden; background:#dce8de }
.kw-compare>img,.kw-compare-before>img { position:absolute; inset:0; width:100%; height:100%; max-height:none; object-fit:cover }
.kw-compare-before { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--compare-position,50%)) 0 0) }
.kw-compare-labels { position:absolute; inset:14px 16px auto; display:flex; justify-content:space-between }
.kw-compare-labels span { padding:4px 9px; border-radius:3px; background:#ffffffed; font-size:12px }
.kw-compare input { position:absolute; inset:auto 6% 18px; width:88%; min-height:35px; accent-color:var(--kw-ink); cursor:ew-resize }
.kw-compare:after { content:''; position:absolute; top:0; bottom:55px; left:var(--compare-position,50%); width:2px; background:white; pointer-events:none }
.kw-service-detail { padding:45px 0; border-bottom:1px solid var(--kw-line); scroll-margin-top:110px }
.kw-service-detail img { width:100%; height:320px; object-fit:cover; border-radius:var(--kw-radius) }
.kw-service-detail ul { padding-left:18px; margin:20px 0; color:var(--kw-muted); font-size:14px }
.kw-service-tag { display:block; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#5f7c70; margin-bottom:15px }
.kw-accordion { padding:17px 0; border-bottom:1px solid var(--kw-line) }
.kw-accordion summary { display:flex; align-items:center; justify-content:space-between; gap:18px; list-style:none; font-size:14px; font-weight:700; cursor:pointer }
.kw-accordion summary:after { content:'+'; font-size:23px; font-weight:400 }
.kw-accordion[open] summary:after { content:'−' }
.kw-accordion p { color:var(--kw-muted); font-size:14px; margin:16px 20px 2px 0 }
.kw-closing { padding:35px; border-radius:var(--kw-radius); background:var(--kw-mint) }
.kw-closing h2 { font-size:32px }
.kw-closing p { font-size:14px }
.kw-closing .kw-small>.kw-icon { width:16px; height:16px }
.kw-note { padding:17px; border-left:3px solid #bad58c; background:#f1f6ee; color:var(--kw-muted); font-size:13px }
.kw-error { color:#a33826; font-size:13px; font-weight:700 }
.kw-footer { padding:38px 0; border-top:1px solid var(--kw-line); background:white }
.kw-footer-main { display:flex; align-items:flex-start; justify-content:space-between; gap:35px }
.kw-footer-nav { display:flex; flex-wrap:wrap; gap:14px 22px; max-width:600px; font-size:12px }
.kw-footer-note { display:flex; justify-content:space-between; gap:30px; padding-top:22px; margin-top:28px; border-top:1px solid var(--kw-line); color:var(--kw-muted); font-size:11px }
.kw-footer-note p { max-width:670px; margin:0 }
.kw-footer-note>a { white-space:nowrap; text-decoration:underline; text-underline-offset:4px }
.kw-footer-note>a>.kw-icon { width:16px; height:16px }
.kw-mobile-actions,.kw-print-sheet { display:none }

@media (max-width:1100px) {
  .kw-shell { width:calc(100% - 48px) }
  .kw-nav { gap:21px }
  .kw-hero-copy { width:54%; padding-right:18px }
  .kw-hero-photo { width:58% }
  .kw-hero-inner { min-height:530px }
  .kw-quality-layout { gap:38px }
  .kw-calc-controls { padding:29px }
  .kw-result { padding:32px 28px }
  .kw-review-layout { grid-template-columns:205px minmax(0,1fr); gap:18px }
  .kw-review-cards { gap:14px }
  .kw-review-card { padding:24px 17px }
  .kw-review-card blockquote { font-size:14px }
  .kw-review-summary { padding:23px }
  .kw-inquiry-layout { grid-template-columns:minmax(0,1fr) 280px; gap:24px }
  .kw-form-card { padding:28px }
  .kw-application-layout { gap:35px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) }
  .kw-form-intro h2 { font-size:23px }
  .kw-extra-services { grid-template-columns:repeat(3,minmax(0,1fr)) }
  .kw-extra-services>strong { grid-column:1/-1; padding:0 3px }
  .kw-extra-services>strong>br { display:none }
  .kw-switch-inner { grid-template-columns:1fr 1fr }
  .kw-switch-inner>.kw-btn { grid-column:2; justify-self:end }
  .kw-job-card { grid-template-columns:180px minmax(0,1fr); gap:22px }
  .kw-job-card>.kw-btn { grid-column:2; justify-self:start }
  .kw-career-teaser { gap:30px }
}
@media (max-width:900px) {
  .kw-review-layout { grid-template-columns:1fr }
  .kw-review-summary { display:grid; grid-template-columns:auto auto 1fr; gap:10px 24px; align-items:center; justify-content:start }
  .kw-review-score { margin:0; grid-row:1/3 }
  .kw-review-score strong { font-size:49px }
  .kw-review-summary p { margin:0; grid-column:2 }
  .kw-review-summary .kw-fiction { grid-column:3; grid-row:1; border:0; padding:0 }
  .kw-review-summary small { grid-column:3; grid-row:2; margin:0 }
  .kw-inquiry-layout { grid-template-columns:1fr; max-width:740px; margin:auto }
  .kw-inquiry-heading { max-width:740px; margin-inline:auto }
  .kw-form-summary { position:static; display:grid; grid-template-columns:180px minmax(0,1fr) }
  .kw-summary-photo { height:100%; min-height:240px }
  .kw-summary-body { padding:25px }
  .kw-summary-price { padding-block:13px; margin-bottom:15px }
  .kw-summary-price .kw-price { font-size:28px }
  .kw-summary-body h2 { font-size:21px }
  .kw-summary-body>[data-summary-object] { margin-bottom:12px }
  .kw-summary-note { margin-block:12px }
  .kw-plan-layout { grid-template-columns:1fr }
  .kw-plan-layout>img { display:none }
  .kw-application-layout { grid-template-columns:minmax(0,.7fr) minmax(0,1fr); gap:28px }
  .kw-application-context h1 { font-size:40px }
  .kw-application-context .kw-lead { font-size:15px }
  .kw-application-card .kw-form-grid { grid-template-columns:1fr }
  .kw-application-card .kw-form-grid .kw-full { grid-column:auto }
  .kw-application-card { padding:25px }
  .kw-grid-4 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px }
  .kw-step:nth-child(2) { border-right:0 }
}
@media (max-width:780px) {
  .kw-shell { width:calc(100% - 36px) }
  .kw-root { padding-bottom:76px!important }
  .kw-section { padding:52px 0 }
  .kw-section-head { align-items:flex-start; gap:22px; flex-direction:column; margin-bottom:28px }
  .kw-section-head p { max-width:600px }
  .kw-header-inner { min-height:72px }
  .kw-logo strong { font-size:24px }
  .kw-logo small { font-size:10px }
  .kw-menu { display:block }
  .kw-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:18px; border-bottom:1px solid var(--kw-line); background:white; box-shadow:0 15px 25px #123f3b10 }
  .kw-nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0 }
  .kw-nav>a { min-height:46px }
  .kw-nav .kw-btn { margin-top:8px }
  .kw-demo-bar .kw-shell { min-height:34px; gap:12px }
  .kw-demo-bar span,.kw-demo-bar a { font-size:10px }
  .kw-demo-bar a { white-space:nowrap }
  .kw-hero-inner,.kw-hero-small .kw-hero-inner { display:block; min-height:0 }
  .kw-hero-copy,.kw-hero-small .kw-hero-copy { width:100%; padding:38px 0 32px }
  .kw-hero-copy h1 { font-size:clamp(39px,7.4vw,54px); margin-bottom:22px }
  .kw-hero-copy .kw-lead { max-width:620px; font-size:16px }
  .kw-hero-photo,.kw-hero-small .kw-hero-photo { position:relative; z-index:0; width:100%; height:auto; aspect-ratio:1.75 }
  .kw-hero-photo>img { position:absolute; inset:0; object-position:center }
  .kw-hero-photo:after { display:none }
  .kw-hero .kw-actions { gap:10px; margin:22px 0 }
  .kw-hero .kw-btn { padding-inline:16px }
  .kw-benefits .kw-shell { padding-block:21px }
  .kw-benefit { align-items:flex-start; padding-inline:16px; gap:10px }
  .kw-benefit svg { width:26px; height:26px }
  .kw-benefit strong { font-size:12px }
  .kw-benefit small { font-size:10px }
  .kw-grid-3 { gap:16px }
  .kw-service-card>span:last-child { padding:15px; min-height:80px; font-size:14px }
  .kw-extra-services { gap:12px; padding:16px }
  .kw-extra-services>a { flex-wrap:wrap; gap:10px; font-size:12px; padding-bottom:10px }
  .kw-extra-services .kw-card-media { width:100%; height:100px }
  .kw-extra-services a>span:not(.kw-card-media) { padding-left:10px }
  .kw-extra-services .kw-icon { margin-right:10px; width:14px; height:14px }
  .kw-quality-layout,.kw-grid-2 { grid-template-columns:1fr; gap:30px }
  .kw-quality-visual>img { height:320px }
  .kw-quality-copy .kw-actions { margin-top:28px }
  .kw-calc-grid { grid-template-columns:1fr }
  .kw-calc-controls { padding:30px }
  .kw-result { padding:32px; container-type:normal }
  .kw-result .kw-price { font-size:40px }
  .kw-result .kw-btn { max-width:420px }
  .kw-result .kw-text-button { justify-content:flex-start }
  .kw-result .kw-included { display:grid; grid-template-columns:1fr 1fr; gap:20px }
  .kw-calc-details { padding:20px 30px }
  .kw-projects { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .kw-project-card>span:last-child { padding:16px; min-height:90px }
  .kw-project-card strong { font-size:15px }
  .kw-project-card small { font-size:11px }
  .kw-review-card { padding:22px 17px }
  .kw-review-card figcaption { gap:7px }
  .kw-review-card cite { font-size:11px }
  .kw-review-avatar { width:29px; height:29px; font-size:10px }
  .kw-review-card figcaption small { font-size:9px }
  .kw-career-teaser { grid-template-columns:1fr; gap:28px }
  .kw-career-teaser>img { height:320px }
  .kw-feedback-steps { grid-template-columns:1fr; gap:14px }
  .kw-feedback-steps>div { padding:23px }
  .kw-portrait-block>img { height:360px }
  .kw-journey-card { padding:23px }
  .kw-journey-card h3 { font-size:17px }
  .kw-journey-card p { font-size:13px }
  .kw-application-layout { grid-template-columns:1fr; gap:30px; max-width:650px; margin:auto }
  .kw-form-page>.kw-shell>.kw-breadcrumb { max-width:650px; margin-inline:auto }
  .kw-application-context { display:grid; grid-template-columns:minmax(0,1fr) 190px; column-gap:25px; align-items:start }
  .kw-application-context>.kw-kicker,.kw-application-context>h1,.kw-application-context>.kw-lead,.kw-application-context>.kw-selected-job,.kw-application-context>.kw-link { grid-column:1 }
  .kw-application-photo { grid-column:2; grid-row:2/5; aspect-ratio:auto; height:230px; margin:0 }
  .kw-application-photo>img { object-position:62% 40% }
  .kw-application-context>.kw-kicker { grid-column:1/-1 }
  .kw-application-context>h1 { font-size:37px }
  .kw-application-context .kw-lead { font-size:14px; margin-bottom:20px }
  .kw-application-context>.kw-link { grid-column:1/-1; justify-self:start }
  .kw-application-card .kw-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .kw-application-card .kw-form-grid .kw-full { grid-column:1/-1 }
  .kw-selected-job h3 { font-size:17px }
  .kw-form-card { padding:28px }
  .kw-job-card { grid-template-columns:150px minmax(0,1fr); gap:20px }
  .kw-job-card h3 { font-size:20px }
  .kw-service-detail { padding:35px 0 }
  .kw-service-detail img { height:280px }
  .kw-closing { padding:28px }
  .kw-footer-main,.kw-footer-note { flex-direction:column; gap:24px }
  .kw-footer-note { gap:16px }
  .kw-footer-nav { gap:13px 22px }
  .kw-mobile-actions { display:flex; position:fixed; bottom:0; left:0; right:0; gap:12px; padding:10px 18px calc(10px + env(safe-area-inset-bottom)); border-top:1px solid var(--kw-line); z-index:40; background:#fffffff7; backdrop-filter:blur(12px) }
  .kw-mobile-actions .kw-btn { flex:1; min-width:0; min-height:44px; padding:11px 8px; font-size:13px }
}
@media (max-width:600px) {
  .kw-shell { width:calc(100% - 32px) }
  .kw-grid-3:not(.kw-projects):not(.kw-review-cards) { grid-template-columns:1fr }
  .kw-service-card { display:grid; grid-template-columns:42% minmax(0,1fr); align-items:center }
  .kw-service-card .kw-card-media { width:100%; height:145px; aspect-ratio:auto }
  .kw-service-card>span:last-child { padding:20px; font-size:16px }
  .kw-extra-services { grid-template-columns:1fr; gap:11px }
  .kw-extra-services>a { flex-wrap:nowrap; padding:0; font-size:14px }
  .kw-extra-services .kw-card-media { width:83px; height:78px }
  .kw-extra-services a>span:not(.kw-card-media) { padding:0 }
  .kw-extra-services .kw-icon { margin-right:16px; width:18px; height:18px }
  .kw-review-cards { grid-template-columns:1fr; gap:16px }
  .kw-review-card { padding:25px }
  .kw-review-card blockquote { font-size:16px; margin:19px 0 22px }
  .kw-review-card figcaption { gap:12px }
  .kw-review-card cite { font-size:13px }
  .kw-review-card figcaption small { font-size:11px }
  .kw-review-avatar { width:36px; height:36px; font-size:12px }
  .kw-review-summary { grid-template-columns:auto 1fr; gap:10px 23px; padding:26px }
  .kw-review-score { grid-row:1/3 }
  .kw-review-summary .kw-fiction { grid-column:1/-1; grid-row:3; border-top:1px solid #ffffff35; padding-top:17px; margin-top:6px }
  .kw-review-summary small { grid-column:1/-1; grid-row:4 }
  .kw-benefits .kw-shell { grid-template-columns:1fr; gap:18px }
  .kw-benefit { padding:0; border:0; align-items:center; gap:16px }
  .kw-benefit strong { font-size:14px; margin-bottom:3px }
  .kw-benefit small { font-size:12px }
  .kw-benefit svg { width:29px; height:29px }
  .kw-switch-inner { grid-template-columns:1fr; gap:22px }
  .kw-switch-inner>.kw-btn { grid-column:auto; justify-self:start }
  .kw-journey-card { padding:25px }
  .kw-journey-card>div { margin-bottom:25px }
  .kw-journey-card h3 { font-size:21px }
  .kw-journey-card p { font-size:14px }
  .kw-application-context { display:block }
  .kw-application-context .kw-lead { font-size:16px }
  .kw-application-photo { height:auto; aspect-ratio:1.85; margin:24px 0 }
  .kw-application-photo>img { object-position:50% 35% }
  .kw-form-summary { grid-template-columns:1fr }
  .kw-summary-photo { display:none }
  .kw-summary-price .kw-price { font-size:29px }
  .kw-summary-body { padding:25px }
  .kw-form-grid,.kw-application-card .kw-form-grid { grid-template-columns:1fr }
  .kw-form-grid .kw-full,.kw-application-card .kw-form-grid .kw-full { grid-column:auto }
  .kw-job-card { grid-template-columns:1fr; gap:22px; padding:22px }
  .kw-job-card img { height:210px }
  .kw-job-card>.kw-btn { grid-column:auto; justify-self:stretch }
  .kw-job-card h3 { font-size:23px }
}
@media (max-width:480px) {
  .kw-section { padding:46px 0 }
  .kw-hero-copy h1 { font-size:40px; letter-spacing:-1.6px }
  .kw-hero-small .kw-hero-copy h1 { font-size:38px }
  .kw-hero-copy .kw-actions { flex-direction:column; align-items:stretch }
  .kw-hero .kw-btn { min-height:48px }
  .kw-rating { font-size:11px; gap:7px 10px }
  .kw-stars { font-size:18px }
  .kw-demo-bar span,.kw-demo-bar a { font-size:9px }
  .kw-section-head h2 { font-size:31px }
  .kw-quality-visual>img { height:250px }
  .kw-mini-plan { padding:21px; gap:16px 13px }
  .kw-mini-plan>strong { font-size:14px }
  .kw-mini-plan b { font-size:11px }
  .kw-mini-plan span { font-size:10px }
  .kw-calc-controls { padding:25px 21px }
  .kw-calc-controls h3 { font-size:23px }
  .kw-calc-controls .kw-form-grid { grid-template-columns:1fr }
  .kw-result { padding:28px 23px; container-type:inline-size }
  .kw-result .kw-price { font-size:clamp(23px,10.5cqi,40px) }
  .kw-result .kw-included { display:block }
  .kw-calc-details { padding:19px 21px }
  .kw-addon { padding:14px; gap:10px }
  .kw-addon small { font-size:10px }
  .kw-projects { gap:15px }
  .kw-project-card>span:last-child { padding:13px; min-height:96px }
  .kw-project-card strong { font-size:14px }
  .kw-project-card small { font-size:10px }
  .kw-service-card>span:last-child { font-size:14px; padding:17px }
  .kw-service-card .kw-card-media { height:132px }
  .kw-career-teaser>img { height:265px }
  .kw-career-teaser h2 { font-size:31px }
  .kw-job-preview { flex-direction:column; align-items:stretch; gap:15px }
  .kw-grid-4 { column-gap:18px; row-gap:28px }
  .kw-step { padding-right:15px }
  .kw-step h3 { font-size:16px }
  .kw-step p { font-size:12px }
  .kw-plan-card { padding:21px }
  .kw-tab { padding:10px; font-size:12px; flex:1 }
  .kw-plan-card table { font-size:11px; min-width:350px }
  .kw-plan-card th,.kw-plan-card td { padding:12px 8px }
  .kw-portrait-block>img { height:310px }
  .kw-control-card { padding:17px; right:13px; bottom:16px }
  .kw-form-page { padding:32px 0 48px }
  .kw-form-page h1 { font-size:39px }
  .kw-inquiry-heading .kw-lead { font-size:15px }
  .kw-form-card { padding:25px 19px }
  .kw-form-note { padding:10px; font-size:10px; align-items:flex-start; margin-bottom:24px }
  .kw-form-note>.kw-icon { margin-top:2px }
  .kw-progress { gap:5px; margin-bottom:25px; padding-bottom:22px }
  .kw-progress button { gap:6px; padding:9px 6px; font-size:11px }
  .kw-progress b { width:23px; height:23px; font-size:10px }
  .kw-form-card legend { font-size:24px }
  .kw-step-intro { font-size:12px }
  .kw-field input:not([type=checkbox]):not([type=radio]),.kw-field select,.kw-field textarea { font-size:16px }
  .kw-form-actions { gap:10px; padding-top:22px; margin-top:25px }
  .kw-form-actions .kw-btn { min-width:0; padding:12px 15px; font-size:13px }
  .kw-form-actions>[data-form-next] { flex:1 }
  .kw-options { gap:8px }
  .kw-option { padding:12px; font-size:12px; gap:7px }
  .kw-option .kw-icon { width:16px; height:16px }
  .kw-contact-options .kw-option { padding-inline:10px }
  .kw-file-disclosure>summary { padding:14px; font-size:12px; gap:8px }
  .kw-file-disclosure>summary>span { font-size:10px }
  .kw-form-intro h2 { font-size:24px }
  .kw-form-intro p { font-size:12px }
  .kw-form-icon { width:43px; height:43px }
  .kw-form-confirmation h2 { font-size:28px }
  .kw-dialog h2 { font-size:28px }
  .kw-dialog-body { padding:25px }
  .kw-breadcrumb { font-size:11px }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*:before,*:after { transition:none!important; animation:none!important }
}
@media print {
  .kw-demo-bar,.kw-header,.kw-footer,.kw-mobile-actions,.kw-actions,.kw-menu { display:none!important }
  .kw-section { padding:20px 0 }
  .kw-shell { width:100% }
  .kw-root { padding:0!important; font-size:12pt!important }
  .kw-hero-copy { width:100% }
  .kw-hero-photo { display:none }
  .kw-hero-inner { min-height:0 }
  body.kw-print-selected>*:not(.kw-print-sheet) { display:none!important }
  body.kw-print-selected>.kw-print-sheet { display:block!important; padding:30px; color:#123f3b; font:12pt/1.6 Arial }
  .kw-print-sheet h1 { font-size:28pt }
  .kw-print-sheet dl { display:grid; grid-template-columns:180px 1fr; gap:10px }
  .kw-print-sheet dd { margin:0 }
  .kw-print-sheet p { max-width:650px }
}
