/* Pravix — landscape-led visual system, October 2026. */
:root { --primary:#151713; --on-primary:#fff; --primary-container:#33392e; --surface:#fff; --surface-container-low:#f3f4f1; --surface-container-lowest:#fff; --on-surface:#171a16; --on-surface-variant:#60645c; --outline:#697064; --border-muted:#dce0d7; --data-active:#4d662f; --font-headline:'Inter',Arial,sans-serif; --font-body:'Inter',Arial,sans-serif; --font-label:'Inter',Arial,sans-serif; --section-gap:100px; --text-headline-lg:44px; --text-headline-md:26px; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { background:#fff; font-family:var(--font-body); color:var(--on-surface); line-height:1.6; }
img { max-width:100%; }
button,input,select,textarea { font:inherit; }
a,button,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #7e9e62; outline-offset:5px; }
h1,h2,h3,h4 { font-family:var(--font-headline); font-weight:400; letter-spacing:-.045em; }
.container { width:100%; max-width:1512px; padding-left:56px; padding-right:56px; margin-inline:auto; }
.site-main { padding-top:100px; }
.home .site-main,.page-template-home .site-main { padding-top:0; }
.px-skip { position:fixed; top:12px; left:20px; z-index:10001; padding:12px 20px; background:#fff; color:#111; transform:translateY(-200%); border-radius:30px; }
.px-skip:focus { transform:none; }
.site-nav.px-nav { position:absolute; inset:0 0 auto; height:100px; background:#fff; border:0; z-index:100; color:#171a16; padding:0; }
.site-nav.px-nav--overlay { background:transparent; color:#fff; }
.px-nav__inner { height:100%; padding:0 52px; max-width:1600px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.px-brand { display:inline-flex; align-items:center; gap:10px; font-size:28px; font-weight:600; letter-spacing:-1.5px; }
.px-brand svg { flex-shrink:0; }
.px-menu { display:flex; align-items:center; gap:29px; }
.px-menu a { font-size:13px; white-space:nowrap; opacity:.9; }
.px-menu a:hover,.px-menu a[aria-current] { opacity:1; text-decoration:underline; text-underline-offset:6px; }
.px-nav__actions { display:flex; align-items:center; gap:12px; }
.px-pill { display:inline-flex; width:fit-content; align-items:center; justify-content:space-between; gap:25px; background:#151713; color:#fff; border:1px solid #151713; border-radius:999px; padding:6px 6px 6px 22px; font-size:13px; font-weight:400; line-height:1.4; min-height:48px; transition:background .2s,transform .2s; }
.px-pill>span { display:grid; place-items:center; background:#fff; color:#141713; width:36px; height:36px; border-radius:50%; font-size:22px; flex-shrink:0; }
.px-pill:hover { background:#394330; transform:translateY(-2px); }
.px-pill--small { min-height:44px; font-size:12px; gap:24px; }
.px-pill--small>span { width:32px; height:32px; }
.px-menu-toggle { display:none; width:44px; height:44px; border:1px solid currentColor; border-radius:50%; color:inherit; background:transparent; padding:12px 10px; cursor:pointer; }
.px-menu-toggle span { display:block; height:1px; width:100%; background:currentColor; margin:5px 0; transition:transform .2s; }
.px-hero { position:relative; isolation:isolate; height:min(920px,95svh); min-height:720px; overflow:hidden; border-radius:0 0 48px 48px; background:#405f68; }
.px-hero__image,.px-hero__shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.px-hero__image { object-position:center 62%; }
.px-hero__shade { z-index:-1; background:linear-gradient(180deg,rgba(9,22,29,.52),rgba(9,22,29,.22) 40%,rgba(8,18,9,.16) 53%,rgba(8,18,9,.76)); }
.px-hero__wordmark { position:absolute; top:113px; left:3.5%; right:3.5%; color:#fff; text-align:center; font-family:Arial,sans-serif; font-size:26vw; font-weight:400; line-height:.8; letter-spacing:-.065em; padding-right:.055em; }
.px-hero__bottom { position:absolute; bottom:44px; left:56px; right:56px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:32px; color:#fff; }
.px-hero__copy>p { font-size:13px; line-height:1.5; margin-bottom:13px; }
.px-hero__copy h1 { color:#fff; font-size:clamp(38px,4.5vw,72px); line-height:.98; font-weight:400; letter-spacing:-.05em; margin:0 0 20px; }
.px-hero__explore { display:inline-flex; align-items:center; gap:25px; font-size:13px; border-bottom:1px solid #ffffff80; padding-bottom:7px; }
.px-hero__explore span { font-size:24px; }
.px-hero__facts { display:flex; align-items:flex-end; gap:14px; }
.px-fact { width:174px; background:#f5f6f2; color:#1a1d17; border-radius:28px; padding:24px 18px; text-align:center; transition:transform .2s; }
.px-fact:hover { transform:translateY(-5px); }
.px-fact strong { display:block; font-size:35px; font-weight:500; letter-spacing:-.06em; line-height:1.1; margin-bottom:8px; }
.px-fact>span { display:block; font-size:12px; font-weight:500; line-height:1.2; }
.px-fact p { font-size:11px; line-height:1.4; color:#666b61; margin-top:10px; }
.px-fact--photo { width:185px; padding:7px 7px 20px; }
.px-fact--photo img { width:100%; height:110px; object-fit:cover; object-position:center 40%; border-radius:21px; margin-bottom:18px; }
.px-fact--photo strong { font-size:29px; }
.px-fact--photo p { padding:0 10px; }
.px-section { padding:94px 0; }
.px-label { display:flex; align-items:flex-start; gap:10px; font-size:12px; font-weight:500; line-height:1.25; letter-spacing:-.02em; }
.px-label>span { font-size:17px; line-height:1; flex-shrink:0; }
.px-section-head { display:grid; grid-template-columns:.78fr 1.22fr; gap:70px; margin-bottom:60px; }
.px-statement { font-size:clamp(27px,2.6vw,42px); line-height:1.16; font-weight:400; letter-spacing:-.045em; }
.px-intro { max-width:580px; color:var(--on-surface-variant); font-size:14px; line-height:1.65; margin:20px 0 26px; }
.px-benefit-cards { display:grid; grid-template-columns:.8fr 1.2fr; gap:26px; }
.px-benefit-card { display:grid; grid-template-columns:.9fr 1fr; gap:24px; border-radius:26px; background:#f3f4f1; padding:7px; min-height:245px; overflow:hidden; }
.px-benefit-card>img { width:100%; height:100%; object-fit:cover; border-radius:21px; max-height:275px; }
.px-benefit-card>div { display:flex; flex-direction:column; padding:17px 20px 17px 0; }
.px-benefit-card h3 { font-size:40px; line-height:1.15; letter-spacing:-.06em; margin-bottom:6px; }
.px-benefit-card span { font-size:12px; line-height:1.3; }
.px-benefit-card p { font-size:12px; color:var(--on-surface-variant); line-height:1.5; margin-top:auto; padding-top:30px; }
.px-section-rule { display:flex; justify-content:space-between; border-top:1px solid #dce0d7; margin-top:24px; padding-top:12px; color:#72796b; font-size:10px; letter-spacing:.05em; }
.px-engineering { padding-top:25px; }
.px-engineering__title { margin:25px 0 30px; max-width:1050px; }
.px-engineering__grid { display:grid; grid-template-columns:.8fr 1fr; gap:30px; }
.px-engineering__left { display:flex; flex-direction:column; align-items:flex-start; gap:70px; }
.px-feature-cards { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:auto; }
.px-feature-cards article { background:#f3f4f1; border-radius:25px; padding:22px; display:flex; flex-direction:column; }
.px-icon { width:46px; height:46px; display:grid; place-items:center; background:#fff; border-radius:50%; font-size:24px; margin-bottom:38px; }
.px-feature-cards h3 { font-size:17px; letter-spacing:-.03em; margin-bottom:10px; }
.px-feature-cards p { font-size:12px; color:var(--on-surface-variant); line-height:1.5; }
.px-feature-cards a { font-size:12px; margin-top:16px; text-decoration:underline; text-underline-offset:4px; }
.px-engineering__photo { position:relative; min-height:450px; overflow:hidden; border-radius:28px; margin:0; }
.px-engineering__photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 62%; }
.px-engineering__photo:after { content:''; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,#142210aa); }
.px-engineering__photo figcaption { position:absolute; bottom:25px; left:28px; right:28px; color:#fff; display:flex; justify-content:space-between; align-items:center; font-size:11px; letter-spacing:.025em; z-index:1; border-bottom:1px solid #ffffff70; padding-bottom:14px; }
.px-engineering__photo figcaption span+span { font-size:25px; }
.px-solutions { background:#f5f6f3; border-radius:44px; margin:0 18px; }
.px-solutions__head { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:45px; }
.px-solutions__head h2,.px-proof h2,.px-footer h2 { font-size:clamp(32px,3.8vw,56px); line-height:1.08; letter-spacing:-.055em; margin-top:20px; }
.px-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.px-product { display:flex; flex-direction:column; border-radius:28px; background:#fff; padding:7px; transition:transform .25s; }
.px-product:hover { transform:translateY(-5px); }
.px-product__image { position:relative; height:265px; border-radius:22px; overflow:hidden; }
.px-product__image img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.px-product:hover img { transform:scale(1.035); }
.px-product__image>span { position:absolute; bottom:14px; right:14px; background:#fff; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font-size:24px; }
.px-product__body { padding:22px 18px 24px; }
.px-product__body>span { font-size:10px; color:#697063; letter-spacing:.025em; }
.px-product h3 { font-size:24px; margin:15px 0 12px; }
.px-product p { color:var(--on-surface-variant); font-size:13px; line-height:1.6; }
.px-process { margin-top:50px; }
.px-process__card { background:#f3f4f1; display:grid; grid-template-columns:1fr 1.25fr; gap:42px; border-radius:30px; padding:8px; }
.px-process__card>img { width:100%; height:100%; min-height:420px; max-height:540px; object-fit:cover; border-radius:23px; }
.px-process__steps { padding:18px 35px 20px 0; }
.px-process__steps details { padding:18px 0; border-bottom:1px solid #d9ddd3; }
.px-process__steps details:last-child { border-bottom:0; }
.px-process__steps summary { display:flex; gap:18px; align-items:center; cursor:pointer; list-style:none; }
.px-process__steps summary::-webkit-details-marker { display:none; }
.px-process__steps summary>span { font-size:30px; letter-spacing:-.06em; }
.px-process__steps h3 { font-size:19px; letter-spacing:-.03em; flex:1; }
.px-process__steps b { font-size:25px; font-weight:400; }
.px-process__steps details[open] b { transform:rotate(45deg); }
.px-process__steps p { font-size:14px; line-height:1.65; color:var(--on-surface-variant); padding:25px 5px 15px 54px; }
.px-proof { padding-top:30px; }
.px-proof__grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.px-proof__grid>div>p:not(.px-label) { font-size:16px; color:var(--on-surface-variant); margin-bottom:25px; }
.px-proof__grid>div>.px-proof__note { font-size:12px; margin-top:20px; margin-bottom:0; }
.btn { border-radius:999px; text-transform:none; letter-spacing:0; font-size:13px; font-weight:400; min-height:48px; }
.btn--primary { background:#151713; color:#fff; }
.btn--primary:hover { background:#394330; }
.btn--outline { border-color:#aeb6a5; color:#171a16; }
.products__title { font-size:clamp(30px,3.5vw,52px); line-height:1.12; font-weight:400; }
.products__text { font-size:15px; line-height:1.8; }
.products__tag { font-size:11px; letter-spacing:.04em; font-weight:500; color:#525b49; }
.products__tag-item { border-radius:30px; background:#f0f2ec; border:1px solid #e0e5d9; color:#414a36; text-transform:none; }
.products__visual { border-radius:30px; overflow:hidden; }
.products__image { border-radius:30px; min-height:360px; width:100%; object-fit:cover; }
.products__link { font-weight:400; }
.page-header { background:#f1f3ee; margin:0 18px; padding:72px 0 76px; border-radius:34px; }
.page-header__title { font-size:clamp(48px,7vw,100px); font-weight:400; line-height:1.04; letter-spacing:-.07em; }
.page-header__subtitle { font-size:16px; line-height:1.65; max-width:780px; margin-top:24px; color:#626959; }
.page-content { padding:85px 0; }
.px-surface-card { border-radius:24px; }
.font-headline-lg { font-weight:400; letter-spacing:-.045em; line-height:1.15; }
.font-headline-md { font-weight:400; letter-spacing:-.035em; line-height:1.25; }
.stats-grid { border-radius:24px; overflow:hidden; }
.stats-grid__number { font-weight:400; letter-spacing:-.05em; }
.credibility { background:#f3f4f1; }
.credibility img { border-radius:28px; }
.contact { background:#f1f3ee; border-radius:44px; margin:0 18px 50px; padding:85px 0; color:#171a16; }
.contact__title { font-size:clamp(34px,4.2vw,60px); font-weight:400; line-height:1.1; letter-spacing:-.05em; color:#171a16; }
.contact__description,.contact__info-value { color:#59634f; }
.contact__info-label { color:#697261; }
.contact__info-icon { color:#28351e; }
.contact__form-wrapper { border:0; border-radius:28px; padding:35px; background:#fff; box-shadow:none; }
.form-group__input,.form-group__select,.form-group__textarea { border-radius:12px; border-color:#dce1d5; background:#fafbf8; color:#161a12; font-size:14px; padding:13px 15px; }
.form-group__label { color:#4e5944; font-size:12px; font-weight:400; text-transform:none; letter-spacing:0; }
.form-group__input:focus,.form-group__textarea:focus,.form-group__select:focus { outline:2px solid #617c49; outline-offset:2px; border-color:transparent; }
.faq__question { font-weight:400; font-size:18px; letter-spacing:-.02em; }
.faq__item { padding:8px 0; }
.imd-report { border-radius:26px; overflow:hidden; border-color:#e0e5d9; }
.imd-report__preview { background:#eef1e9; }
.imd-report__button { border-radius:999px; font-weight:400; }
.imd-reports__intro h2 { font-size:clamp(32px,3.8vw,52px); }
.imd-reports__note { font-size:12px; }
.px-footer { padding:70px 0 24px; background:#f3f4f1; border-radius:44px 44px 0 0; }
.px-footer__top { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.px-footer h2 { font-size:clamp(32px,3.5vw,48px); margin-bottom:25px; }
.px-footer__links { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding-top:15px; }
.px-footer__links nav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.px-footer__links h3 { font-size:13px; font-weight:500; margin-bottom:12px; }
.px-footer__links a,.px-footer__links span { font-size:13px; color:#59624f; }
.px-footer__links a:hover { text-decoration:underline; text-underline-offset:4px; }
.px-footer__wordmark { font-family:Arial,sans-serif; font-size:24.2vw; line-height:.85; letter-spacing:-.065em; padding-right:.06em; text-align:center; margin:70px 0 30px; }
.px-footer__bottom { border-top:1px solid #d8ddcf; display:flex; justify-content:space-between; gap:25px; font-size:10px; color:#637058; padding-top:22px; }
.reveal { opacity:1; transform:none; }
@media (min-width:1600px) { .px-hero__wordmark { font-size:416px; } .px-footer__wordmark { font-size:365px; } }
@media (max-width:1100px) {
 .container { padding-inline:35px; } .px-nav__inner { padding-inline:32px; gap:20px; } .px-menu { gap:20px; }
 .px-hero__bottom { left:35px; right:35px; gap:20px; } .px-fact { width:142px; padding:20px 12px; } .px-fact--photo { width:152px; padding:7px 7px 18px; }
 .px-section-head { gap:45px; } .px-benefit-card { gap:18px; } .px-benefit-card h3 { font-size:34px; } .px-benefit-card>div { padding-right:12px; }
 .px-feature-cards { gap:12px; } .px-feature-cards article { padding:20px 16px; } .px-feature-cards h3 { font-size:15px; }
 .px-product__image { height:225px; } .px-product h3 { font-size:21px; } .px-process__card { gap:28px; }
}
@media (max-width:900px) {
 .site-nav.px-nav { height:84px; } .site-main { padding-top:84px; } .px-menu-toggle { display:block; }
 .px-menu { display:none; position:absolute; top:76px; left:20px; right:20px; background:#fff; color:#171a16; border:1px solid #e0e5d9; border-radius:22px; padding:18px 24px; box-shadow:0 16px 35px #17201120; flex-direction:column; align-items:stretch; gap:0; }
 .px-menu.is-open { display:flex; } .px-menu a { padding:13px 0; font-size:16px; } .px-menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(3px) rotate(45deg); } .px-menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-3px) rotate(-45deg); }
 .px-hero { min-height:780px; height:90svh; } .px-hero__wordmark { top:115px; } .px-hero__bottom { grid-template-columns:1fr; } .px-hero__copy h1 { font-size:52px; } .px-hero__facts { justify-content:flex-end; position:absolute; right:0; bottom:0; } .px-fact { width:130px; } .px-fact--photo { display:none; } .px-hero__copy { padding-right:140px; }
 .px-section { padding:70px 0; } .px-section-head { grid-template-columns:.6fr 1.2fr; gap:35px; margin-bottom:40px; } .px-benefit-cards { grid-template-columns:1fr 1fr; gap:18px; } .px-benefit-card { grid-template-columns:1fr; } .px-benefit-card>img { height:170px; } .px-benefit-card>div { padding:16px 15px 22px; } .px-benefit-card p { padding-top:20px; }
 .px-engineering__grid { grid-template-columns:1fr; } .px-engineering__left { gap:32px; } .px-feature-cards { width:100%; } .px-engineering__photo { min-height:420px; } .px-icon { margin-bottom:20px; }
 .px-product-grid { gap:14px; } .px-product__image { height:180px; } .px-product__body { padding:18px 12px; } .px-product h3 { font-size:19px; } .px-product p { font-size:12px; }
 .px-process { margin-top:0; } .px-process__card { grid-template-columns:1fr; } .px-process__card>img { height:310px; min-height:0; } .px-process__steps { padding:0 24px 20px; }
 .px-proof__grid { gap:40px; } .contact { padding:65px 0; } .contact__grid { grid-template-columns:1fr; gap:40px; } .px-footer__top { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:600px) {
 .container { padding-inline:22px; } .px-nav__inner { padding-inline:22px; } .px-brand { font-size:25px; } .px-brand svg { width:25px; } .px-nav__actions { gap:10px; } .px-nav__actions .px-pill { gap:10px; padding-left:13px; min-height:40px; } .px-nav__actions .px-pill>span { width:28px; height:28px; }
 .px-hero { border-radius:0 0 30px 30px; min-height:735px; height:92svh; max-height:890px; } .px-hero__image { object-position:56% center; } .px-hero__wordmark { top:114px; font-size:26vw; } .px-hero__bottom { left:23px; right:23px; bottom:28px; gap:22px; } .px-hero__copy { padding-right:0; } .px-hero__copy h1 { font-size:clamp(36px,9.7vw,54px); line-height:1.02; } .px-hero__copy>p { font-size:12px; max-width:280px; } .px-hero__facts { position:static; justify-content:flex-start; } .px-fact { width:100%; text-align:left; border-radius:18px; padding:13px 18px; display:grid; grid-template-columns:auto 1fr; gap:2px 20px; align-items:center; } .px-fact strong { grid-row:1/3; margin:0; font-size:34px; } .px-fact>span { font-size:11px; } .px-fact p { margin:0; font-size:10px; } .px-fact--photo { display:none; }
 .px-section { padding:58px 0; } .px-section-head { grid-template-columns:1fr; gap:25px; margin-bottom:35px; } .px-label { font-size:11px; } .px-statement { font-size:28px; line-height:1.2; } .px-intro { font-size:13px; margin:18px 0 24px; }
 .px-benefit-cards { grid-template-columns:1fr; gap:16px; } .px-benefit-card { grid-template-columns:.75fr 1fr; min-height:220px; gap:18px; } .px-benefit-card>img { height:100%; min-height:210px; } .px-benefit-card>div { padding:16px 10px 16px 0; } .px-benefit-card h3 { font-size:32px; } .px-benefit-card span { font-size:11px; } .px-benefit-card p { font-size:11px; padding-top:18px; }
 .px-engineering { padding-top:12px; } .px-engineering__title { margin-top:20px; } .px-feature-cards { gap:12px; } .px-feature-cards article { padding:18px 15px; border-radius:20px; } .px-feature-cards h3 { font-size:14px; } .px-feature-cards p { font-size:11px; } .px-engineering__photo { min-height:360px; border-radius:23px; }
 .px-solutions { margin:0 10px; border-radius:30px; } .px-solutions .container { padding-inline:16px; } .px-solutions__head { display:block; margin-bottom:30px; } .px-solutions__head .px-pill { margin-top:24px; } .px-solutions__head h2 { font-size:34px; } .px-product-grid { grid-template-columns:1fr; gap:24px; } .px-product__image { height:255px; } .px-product__body { padding:22px 18px 24px; } .px-product h3 { font-size:26px; } .px-product p { font-size:14px; }
 .px-process__card { gap:15px; border-radius:25px; } .px-process__card>img { height:235px; border-radius:19px; } .px-process__steps { padding:0 14px 15px; } .px-process__steps summary { gap:12px; } .px-process__steps h3 { font-size:17px; } .px-process__steps summary>span { font-size:26px; } .px-process__steps p { padding-left:40px; font-size:13px; }
 .px-proof { padding-top:10px; } .px-proof__grid { grid-template-columns:1fr; gap:28px; } .px-proof__grid>div>p:not(.px-label) { font-size:14px; } .px-proof h2 { font-size:38px; }
 .page-header { margin:0 10px; padding:48px 0; border-radius:25px; } .page-header__title { font-size:50px; } .page-header__subtitle { font-size:14px; } .page-content,.section-gap { padding:58px 0; } .products__item { gap:30px; } .products__title { font-size:34px; } .products__text { font-size:14px; } .products__image { min-height:260px; } .products__visual { border-radius:23px; } .products__tags { gap:8px; } .products__tag-item { font-size:10px; }
 .contact { margin:0 10px 35px; border-radius:30px; padding:50px 0; } .contact .container { padding-inline:17px; } .contact__title { font-size:36px; } .contact__form-wrapper { padding:24px 18px; border-radius:24px; } .contact__info { margin-top:30px!important; }
 .imd-report__body { padding:24px 20px; } .imd-report__specs { gap:18px 12px; font-size:14px; } .imd-report__actions { gap:18px; } .imd-reports__grid { grid-template-columns:1fr; } .imd-reports__intro h2 { font-size:34px; }
 .px-footer { padding-top:48px; border-radius:30px 30px 0 0; } .px-footer__links { gap:15px; } .px-footer__links a,.px-footer__links span { font-size:11px; } .px-footer__wordmark { font-size:24vw; margin:50px 0 25px; } .px-footer__bottom { flex-direction:column; gap:8px; font-size:9px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation:none!important; transition:none!important; } }
