.denovo-site{min-height:100svh;overflow:hidden;background:var(--denovo-surface)}
.denovo-header{position:absolute;z-index:30;inset:0 0 auto 0;padding:30px 0;transition:background .25s ease,box-shadow .25s ease,padding .25s ease}
.denovo-header__inner{width:min(calc(100% - 48px),var(--denovo-max-width));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.denovo-logo{display:flex;align-items:center;gap:14px;min-width:236px}
.denovo-logo__mark{width:250px;height:auto;object-fit:contain}
.denovo-logo__fallback{display:none}
.denovo-header__panel{display:flex;align-items:center;gap:58px}
.denovo-nav{display:flex;align-items:center;gap:42px}
.denovo-nav a{font-size:18px;font-weight:700;color:var(--denovo-primary);letter-spacing:.02em;transition:color .2s ease,opacity .2s ease}
.denovo-nav a:hover{color:var(--denovo-accent)}
.denovo-language{display:flex;align-items:center;gap:10px}
.denovo-language a{min-width:42px;height:42px;border-radius:9px;display:grid;place-items:center;font-size:16px;font-weight:700;color:var(--denovo-primary);opacity:.72;transition:background .2s ease,opacity .2s ease}
.denovo-language a.is-active{background:rgba(35,86,127,.1);opacity:1}
.denovo-menu-button{display:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.76);box-shadow:0 14px 35px rgba(26,58,88,.13)}
.denovo-menu-button span{display:block;width:20px;height:2px;margin:5px auto;background:var(--denovo-primary);border-radius:99px;transition:transform .2s ease,opacity .2s ease}
.denovo-menu-button.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.denovo-menu-button.is-open span:nth-child(2){opacity:0}
.denovo-menu-button.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.denovo-hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;isolation:isolate;background:#f6f8fa;overflow:hidden}
.denovo-hero__bg{position:absolute;inset:0;overflow:hidden;z-index:-1;background-image:var(--denovo-hero-bg-image);background-size:cover;background-position:center right;background-repeat:no-repeat}
.denovo-hero__bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 35%,rgba(255,255,255,.58) 62%,rgba(255,255,255,.18) 100%)}
.denovo-hero__wave,.denovo-hero__orb{display:none}
.denovo-hero__inner{position:relative;z-index:2;padding-top:70px}
.denovo-hero__kicker{margin-bottom:16px}
.denovo-hero h1{font-size:clamp(36px,4.2vw,64px);line-height:1.22;font-weight:800;color:var(--denovo-primary);letter-spacing:.02em;text-wrap:balance}
.denovo-hero__subtitle{margin:18px auto 0;max-width:880px;font-size:clamp(18px,2vw,30px);line-height:1.5;font-weight:500;color:var(--denovo-accent)}
.denovo-scroll{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);width:48px;height:54px;display:grid;place-items:center;color:var(--denovo-accent);opacity:.96}
.denovo-scroll span{position:absolute;width:24px;height:24px;border-right:6px solid currentColor;border-bottom:6px solid currentColor;transform:rotate(45deg);border-radius:4px;animation:denovoArrow 1.6s infinite}
.denovo-scroll span:nth-child(2){animation-delay:.22s;top:18px}
@keyframes denovoArrow{0%{opacity:0;transform:translateY(-8px) rotate(45deg)}45%{opacity:1}100%{opacity:0;transform:translateY(12px) rotate(45deg)}}
.denovo-about{background:#fff}
.denovo-about__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.96fr);gap:72px;align-items:center}
.denovo-about h2,.denovo-section-heading h2,.denovo-sustainability h2{margin-top:10px;font-size:clamp(30px,3vw,46px);line-height:1.25;color:var(--denovo-primary);letter-spacing:.01em}
.denovo-about .denovo-text-flow{margin-top:28px}
.denovo-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.denovo-tags span{padding:9px 14px;border:1px solid rgba(56,169,214,.28);border-radius:999px;background:rgba(56,169,214,.08);color:var(--denovo-primary);font-weight:700;font-size:14px}
.denovo-about__visual{border-radius:var(--denovo-card-radius);background:#fff;box-shadow:0 26px 80px rgba(11,26,42,.2);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}
.denovo-about__visual img{width:100%;height:auto;min-height:0;object-fit:contain;object-position:center;display:block}
.denovo-technology{background:linear-gradient(180deg,#fff 0%,var(--denovo-soft-bg) 100%);border-top:3px double rgba(56,169,214,.56)}
.denovo-section-heading{max-width:820px;margin-bottom:42px}
.denovo-section-heading p:not(.denovo-eyebrow){margin-top:16px;font-size:18px;color:var(--denovo-text)}
.denovo-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.denovo-card-link{display:block;color:inherit;text-decoration:none}
.denovo-card-link:focus-visible{outline:3px solid rgba(56,169,214,.45);outline-offset:6px;border-radius:var(--denovo-card-radius)}
.denovo-card{border-radius:var(--denovo-card-radius);background:#fff;overflow:hidden;box-shadow:0 18px 48px rgba(24,57,88,.09);transition:transform .22s ease,box-shadow .22s ease}
.denovo-card:hover{transform:translateY(-6px);box-shadow:0 30px 70px rgba(24,57,88,.15)}
.denovo-card__visual{position:relative;height:300px;overflow:hidden;background:#d9edf8}
.denovo-card__visual img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .35s ease}
.denovo-card:hover .denovo-card__visual img{transform:scale(1.035)}
.denovo-card__body{padding:24px 24px 30px}
.denovo-card h3{font-size:24px;line-height:1.35;color:var(--denovo-accent);font-weight:800}
.denovo-card p{margin-top:14px;font-size:16px;color:var(--denovo-text);line-height:1.8}
.denovo-sustainability{padding-top:0;background:var(--denovo-soft-bg)}
.denovo-sustainability__box{padding:42px 48px;border-radius:var(--denovo-card-radius);background:linear-gradient(135deg,rgba(35,86,127,.96),rgba(56,169,214,.86));color:#fff}
.denovo-sustainability .denovo-eyebrow{color:rgba(255,255,255,.76)}
.denovo-sustainability h2{color:#fff;margin-top:8px}
.denovo-footer{background:var(--denovo-footer-bg);color:var(--denovo-footer-text);padding:48px 0 38px}
.denovo-footer__inner{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:40px;align-items:start}
.denovo-footer h2{font-size:30px;line-height:1.3;font-weight:800}
.denovo-footer__info{display:grid;gap:54px;justify-items:end;text-align:right}
.denovo-footer__info p{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:0 12px;font-size:16px;font-weight:700;color:rgba(255,255,255,.96)}
.denovo-footer__info a{text-decoration:underline;text-underline-offset:3px}
.denovo-footer__brand{display:flex;align-items:center;justify-content:flex-end;gap:18px;font-size:24px;font-weight:800;letter-spacing:.03em}
.denovo-footer__brand img{width:260px;height:auto;max-height:82px;object-fit:contain}
@media (max-width:1180px){.denovo-header__panel{gap:30px}.denovo-nav{gap:24px}.denovo-nav a{font-size:16px}.denovo-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.denovo-about__grid{grid-template-columns:1fr;gap:42px}.denovo-about__visual{min-height:0}.denovo-about__visual img{min-height:0}.denovo-card__visual{height:260px}}
@media (max-width:767px){.denovo-header{padding:18px 0}.denovo-header__inner{width:min(calc(100% - 32px),var(--denovo-max-width))}.denovo-logo{min-width:0}.denovo-logo__mark{width:190px}.denovo-menu-button{display:block;position:relative;z-index:36}.denovo-header__panel{position:fixed;z-index:34;inset:0 0 auto 0;padding:92px 22px 26px;display:grid;gap:22px;background:rgba(255,255,255,.96);box-shadow:0 30px 80px rgba(19,42,66,.16);transform:translateY(-110%);transition:transform .25s ease}.denovo-header__panel.is-open{transform:translateY(0)}.denovo-nav{display:grid;gap:8px}.denovo-nav a{display:block;padding:12px 8px;border-bottom:1px solid rgba(35,86,127,.1);font-size:18px}.denovo-language{justify-content:flex-start}.denovo-hero{min-height:100svh;text-align:left}.denovo-hero__bg{background-position:62% center}.denovo-hero__bg::before{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.62) 100%)}.denovo-hero__inner{padding-top:120px}.denovo-hero h1{font-size:36px;line-height:1.28}.denovo-hero__subtitle{font-size:19px;margin-left:0}.denovo-scroll{bottom:24px}.denovo-about h2,.denovo-section-heading h2,.denovo-sustainability h2{font-size:30px}.denovo-about__visual{min-height:0}.denovo-about__visual img{min-height:0}.denovo-card-grid{grid-template-columns:1fr;gap:20px}.denovo-card__visual{height:236px}.denovo-card__body{padding:22px}.denovo-section-heading{margin-bottom:28px}.denovo-sustainability__box{padding:30px 24px}.denovo-footer{padding:36px 0}.denovo-footer__inner{grid-template-columns:1fr;gap:24px}.denovo-footer__info{justify-items:start;text-align:left;gap:34px}.denovo-footer__info p{display:grid;gap:8px;justify-content:start}.denovo-footer__brand{justify-content:flex-start;font-size:20px;align-items:flex-start}.denovo-footer__brand img{width:220px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.denovo-scroll span{animation:none}.denovo-card,.denovo-card__visual img,.denovo-header__panel,.denovo-menu-button span{transition:none}}

/* Core Technology Page */
.denovo-page-inner .denovo-header{position:sticky;top:0;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(20,47,72,.08);padding:22px 0;backdrop-filter:saturate(160%) blur(14px)}
.denovo-page-inner .denovo-logo__mark{width:320px;max-width:38vw}
.denovo-core-hero{position:relative;min-height:420px;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:linear-gradient(135deg,#00549d 0%,#1ba8dc 100%)}
.denovo-core-hero__bg{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(5,75,139,.86),rgba(20,139,195,.58),rgba(255,255,255,.1)),var(--denovo-core-hero-bg-image);background-size:cover;background-position:center;background-repeat:no-repeat;transform:scale(1.02)}
.denovo-core-hero__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 28% 35%,rgba(111,213,245,.4),transparent 35%),linear-gradient(90deg,rgba(4,66,126,.78) 0%,rgba(11,120,182,.46) 48%,rgba(255,255,255,.05) 100%)}
.denovo-core-hero__inner{position:relative;z-index:1;color:#fff;padding-block:92px}
.denovo-core-hero__eyebrow{color:rgba(255,255,255,.74);margin-bottom:14px}
.denovo-core-hero h1{font-size:clamp(38px,4vw,58px);line-height:1.2;font-weight:900;letter-spacing:.04em;color:#fff}
.denovo-core-hero p:not(.denovo-eyebrow){margin-top:14px;font-size:clamp(18px,2vw,26px);line-height:1.55;font-weight:800;color:#fff;text-shadow:0 10px 24px rgba(0,55,104,.22)}
.denovo-core-intro{background:#fff}
.denovo-core-intro__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,.95fr);gap:72px;align-items:start}
.denovo-core-intro h2{font-size:clamp(32px,3vw,46px);line-height:1.32;color:var(--denovo-primary);font-weight:900;letter-spacing:.01em}
.denovo-core-intro__lead{margin-top:22px;font-size:20px;line-height:1.7;font-weight:800;color:var(--denovo-muted)}
.denovo-core-intro__text{margin-top:22px}
.denovo-core-intro__visual{position:sticky;top:132px;overflow:hidden;border-radius:0;background:#f6fbfd;box-shadow:none}
.denovo-core-intro__visual img{width:100%;height:auto;display:block;object-fit:contain}
.denovo-core-tech{padding-top:34px;background:#fff}
.denovo-core-tech__rule{height:4px;border-top:2px solid var(--denovo-accent);border-bottom:1px solid var(--denovo-accent);opacity:.85;margin-bottom:64px}
.denovo-core-tech h2{text-align:center;font-size:clamp(30px,3vw,42px);line-height:1.25;color:var(--denovo-primary);font-weight:900;margin-bottom:58px}
.denovo-core-tech__grid{width:min(920px,100%);margin-inline:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:66px 48px}
.denovo-core-tech-card{min-height:146px;padding:24px 26px 22px;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(19,45,68,.22);display:grid;place-items:center;text-align:center;align-content:center;gap:14px;border:1px solid rgba(35,86,127,.06)}
.denovo-core-tech-card__icon{display:block;font-size:42px;line-height:1;color:var(--denovo-accent);font-weight:900}
.denovo-core-tech-card h3{font-size:20px;line-height:1.32;color:var(--denovo-accent);font-weight:900;letter-spacing:.01em}

.denovo-core-process{padding-top:34px;background:#fff}
.denovo-core-process__rule{height:4px;border-top:2px solid var(--denovo-accent);border-bottom:1px solid var(--denovo-accent);opacity:.85;margin-bottom:64px}
.denovo-core-comparison__rule{height:4px;border-top:2px solid var(--denovo-accent);border-bottom:1px solid var(--denovo-accent);opacity:.85;margin-bottom:64px}
.denovo-core-process h2,.denovo-core-comparison h2{text-align:center;font-size:clamp(30px,3vw,42px);line-height:1.25;color:var(--denovo-primary);font-weight:900;margin-bottom:40px;letter-spacing:.01em}
.denovo-core-process__image{width:min(1120px,100%);margin-inline:auto;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 22px 58px rgba(35,86,127,.14);border:1px solid rgba(56,169,214,.18)}
.denovo-core-process__image img{display:block;width:100%;height:auto;object-fit:contain}
.denovo-core-comparison{padding-top:0;background:#fff}
.denovo-comparison-table-wrap{width:min(1120px,100%);margin-inline:auto;overflow-x:auto;border:1px solid rgba(56,169,214,.18);border-radius:24px;background:linear-gradient(180deg,#fff 0%,#f7fbfd 100%);box-shadow:0 22px 58px rgba(35,86,127,.12)}
.denovo-comparison-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;color:var(--denovo-text);background:transparent}
.denovo-comparison-table th,.denovo-comparison-table td{vertical-align:top;border:0}
.denovo-comparison-table thead th{background:linear-gradient(135deg,var(--denovo-primary) 0%,var(--denovo-accent) 100%);color:#fff;font-size:clamp(20px,1.75vw,26px);line-height:1.35;font-weight:900;text-align:center;padding:22px 28px;letter-spacing:.02em}
.denovo-comparison-table thead th:last-child{border-top-right-radius:20px}
.denovo-comparison-table__corner{width:96px;background:var(--denovo-soft-bg)!important;border:0!important;border-top-left-radius:20px!important;padding:0!important}
.denovo-comparison-table tbody th{width:96px;background:#eef7fb;color:var(--denovo-primary);font-size:20px;font-weight:900;text-align:center;vertical-align:middle;padding:28px 14px;border-top:1px solid rgba(56,169,214,.16)}
.denovo-comparison-table tbody tr:first-child th{border-top:0;border-top-left-radius:0}
.denovo-comparison-table td{width:calc((100% - 96px)/2);font-size:18px;line-height:1.85;padding:28px 34px 30px;background:#fff;border-top:1px solid rgba(56,169,214,.16);border-left:1px solid rgba(56,169,214,.16)}
.denovo-comparison-table tbody tr:first-child td{border-top:0}
.denovo-comparison-table tbody tr:last-child th{border-bottom-left-radius:20px}
.denovo-comparison-table tbody tr:nth-child(even) td{background:#fbfdfe}
.denovo-comparison-table ol{margin:0;padding-left:1.35em}
.denovo-comparison-table li{margin:.18em 0;color:var(--denovo-text)}
.denovo-comparison-table li::marker{color:var(--denovo-accent);font-weight:900}
@media (max-width:767px){.denovo-core-process__rule,.denovo-core-comparison__rule{margin-bottom:40px}.denovo-core-process h2,.denovo-core-comparison h2{margin-bottom:26px}.denovo-core-process__image{border-radius:14px}.denovo-comparison-table-wrap{width:100%;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.denovo-comparison-table{display:block;width:100%;min-width:0;background:transparent}.denovo-comparison-table thead{display:none}.denovo-comparison-table tbody,.denovo-comparison-table tr,.denovo-comparison-table th,.denovo-comparison-table td{display:block;width:100%}.denovo-comparison-table tbody tr{overflow:hidden;margin:0 0 18px;border:1px solid rgba(56,169,214,.18);border-radius:18px;background:#fff;box-shadow:0 14px 36px rgba(35,86,127,.1)}.denovo-comparison-table tbody tr:last-child{margin-bottom:0}.denovo-comparison-table tbody th{width:100%;border:0!important;border-radius:0!important;background:linear-gradient(135deg,var(--denovo-primary) 0%,var(--denovo-accent) 100%);color:#fff;font-size:18px;line-height:1.35;text-align:left;padding:16px 20px}.denovo-comparison-table td{width:100%;border:0!important;border-top:1px solid rgba(56,169,214,.14)!important;background:#fff!important;font-size:16px;line-height:1.75;padding:18px 20px 20px}.denovo-comparison-table td::before{content:attr(data-label);display:block;margin-bottom:10px;color:var(--denovo-primary);font-size:17px;line-height:1.35;font-weight:900}.denovo-comparison-table ol{padding-left:1.3em}.denovo-comparison-table li{margin:.28em 0}.denovo-comparison-table__corner{display:none!important}}

@media (max-width:1180px){.denovo-core-intro__grid{grid-template-columns:1fr;gap:38px}.denovo-core-intro__visual{position:relative;top:auto;max-width:760px;margin-inline:auto}.denovo-core-tech__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media (max-width:767px){.denovo-page-inner .denovo-header{padding:16px 0}.denovo-page-inner .denovo-logo__mark{width:210px;max-width:62vw}.denovo-core-hero{min-height:330px}.denovo-core-hero__inner{padding-block:68px}.denovo-core-hero h1{font-size:36px}.denovo-core-hero p:not(.denovo-eyebrow){font-size:18px}.denovo-core-intro__grid{gap:28px}.denovo-core-intro h2{font-size:28px}.denovo-core-intro__lead{font-size:17px}.denovo-core-tech__rule{margin-bottom:40px}.denovo-core-tech h2{margin-bottom:32px}.denovo-core-tech__grid{grid-template-columns:1fr;gap:20px}.denovo-core-tech-card{min-height:132px;padding:22px}.denovo-core-tech-card h3{font-size:18px}}

/* About Us Page */
.denovo-about-page{background:#fff}
.denovo-about-page__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.48fr);gap:48px;align-items:start}
.denovo-about-page__image{width:100%;margin-bottom:24px;overflow:hidden;background:#f5f9fc}
.denovo-about-page__image img{width:100%;height:auto;display:block;object-fit:contain}
.denovo-about-page__article h2{font-size:clamp(30px,3vw,42px);line-height:1.32;color:var(--denovo-primary);font-weight:900;letter-spacing:.01em}
.denovo-about-page__text{margin-top:24px}
.denovo-about-page__contact{position:sticky;top:132px;padding:38px 42px 44px;border:2px solid var(--denovo-accent);border-radius:8px;background:#fff;box-shadow:0 14px 44px rgba(22,62,94,.08)}
.denovo-about-page__contact h2{margin-bottom:22px;text-align:center;font-size:22px;line-height:1.35;color:var(--denovo-accent);font-weight:900}
.denovo-contact-notice{margin:0 0 14px;padding:10px 12px;border-radius:4px;background:#eaf8fd;color:var(--denovo-primary);font-weight:800}
.denovo-contact-notice--error{background:#fff2f2;color:#9b1c1c}
.denovo-contact-form{display:grid;gap:14px}
.denovo-contact-form label{display:grid;gap:6px}
.denovo-contact-form label span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.denovo-contact-form input,.denovo-contact-form textarea{width:100%;border:1px solid rgba(79,95,107,.42);border-radius:2px;background:#fff;padding:12px 16px;font:inherit;font-size:18px;line-height:1.4;color:var(--denovo-text);outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.denovo-contact-form input:focus,.denovo-contact-form textarea:focus{border-color:var(--denovo-accent);box-shadow:0 0 0 3px rgba(56,169,214,.13)}
.denovo-contact-form textarea{resize:vertical;min-height:124px}
.denovo-contact-form button{width:100%;padding:13px 20px;border-radius:3px;background:var(--denovo-accent);color:#fff;font-size:20px;line-height:1.35;font-weight:900;letter-spacing:.04em;transition:filter .18s ease,transform .18s ease}
.denovo-contact-form button:hover{filter:brightness(.96);transform:translateY(-1px)}
@media (max-width:1180px){.denovo-about-page__grid{grid-template-columns:1fr;gap:34px}.denovo-about-page__contact{position:relative;top:auto;max-width:620px;width:100%;margin-inline:auto}}
@media (max-width:767px){.denovo-about-page__grid{gap:28px}.denovo-about-page__article h2{font-size:28px}.denovo-about-page__contact{padding:28px 22px}.denovo-contact-form input,.denovo-contact-form textarea{font-size:16px}.denovo-contact-form button{font-size:18px}}
