/* Project v2.1 refinements: full-width inner pages, product gallery, inquiry dialogs, and motion-safe interactions. */
:root{--cj-container:1440px;--cj-green:#1f8c63}
.cj-container{width:min(calc(100% - 56px),1440px)}
.cj-page-hero__inner{max-width:1440px;margin-inline:auto;text-align:left}
.cj-page-hero__inner>*{text-align:left}
.cj-inner-content .cj-prose,.cj-prose{max-width:none}
.cj-product-description{max-width:none}
.cj-product-description .cj-prose{max-width:100%}

/* Home: editorial split hero and keyword-only search. */
.cj-hero{min-height:700px;isolation:isolate}
.cj-hero__backdrop{animation:cj-hero-drift 24s ease-in-out infinite alternate;will-change:transform}
.cj-hero__backdrop:after{background:linear-gradient(90deg,rgba(9,22,35,.95) 0%,rgba(9,22,35,.87) 42%,rgba(9,22,35,.55) 73%,rgba(9,22,35,.34) 100%),linear-gradient(0deg,rgba(9,22,35,.46),transparent 48%)}
.cj-hero__inner{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.82fr);align-items:center;gap:clamp(36px,6vw,100px);padding:88px 0 108px}
.cj-hero-content{max-width:760px}
.cj-hero-kicker{gap:11px}
.cj-hero-kicker:before{display:none}
.cj-hero-kicker__dot{width:8px;height:8px;border-radius:50%;background:var(--cj-orange);box-shadow:0 0 0 6px rgba(233,163,59,.14)}
.cj-hero__title{max-width:760px;font-size:clamp(48px,6vw,82px);line-height:.98}
.cj-hero__text{max-width:610px;font-size:16px}
.cj-hero-search{max-width:720px;margin-top:28px;padding:15px 16px 16px}
.cj-hero-search__fields{grid-template-columns:minmax(0,1fr) auto}
.cj-hero-search input{min-height:48px}
.cj-hero-search button{min-width:136px;min-height:48px}
.cj-hero-search input:focus-visible,.cj-hero-search button:focus-visible{outline:3px solid rgba(233,163,59,.48);outline-offset:2px}
.cj-hero-actions{margin-top:22px}
.cj-hero-note{margin-top:22px}
.cj-hero-note:before{display:none}
.cj-hero-showcase{position:relative;max-width:560px;justify-self:end;width:100%;padding:13px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);border-radius:10px;box-shadow:0 28px 80px rgba(0,0,0,.28);backdrop-filter:blur(7px)}
.cj-hero-showcase:before{content:"";position:absolute;z-index:-1;inset:24px -20px -20px 24px;border:1px solid rgba(233,163,59,.45);border-radius:10px}
.cj-hero-showcase__media{position:relative;overflow:hidden;aspect-ratio:1.28;border-radius:6px;background:linear-gradient(135deg,#d9dedb,#aeb9bc)}
.cj-hero-showcase__image{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.cj-hero-showcase:hover .cj-hero-showcase__image{transform:scale(1.04)}
.cj-hero-showcase__photo-note{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:3px;background:rgba(13,27,41,.82);color:#fff;font-size:8px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}
.cj-hero-showcase__index{position:absolute;right:13px;top:10px;color:rgba(255,255,255,.85);font-size:36px;font-weight:800;letter-spacing:-.08em;text-shadow:0 2px 14px rgba(0,0,0,.32)}
.cj-hero-showcase__body{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 9px 6px;color:#fff}
.cj-hero-showcase__eyebrow{color:#f1b856;font-size:8px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.cj-hero-showcase__body h2{max-width:390px;margin:6px 0 4px;color:#fff;font-size:18px;line-height:1.22;letter-spacing:-.025em}
.cj-hero-showcase__model{color:#c7d0d5;font-size:10px}
.cj-hero-showcase__body>a{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;font-size:21px;transition:background .2s,color .2s,border-color .2s}
.cj-hero-showcase__body>a:hover{background:var(--cj-orange);border-color:var(--cj-orange);color:#162638}
.cj-stat-row{box-shadow:0 22px 60px rgba(20,35,52,.14)}

/* Native details FAQ and newsroom components. */
.cj-faq-list{display:grid;gap:12px;margin:28px 0}
.cj-faq-list details{padding:0 22px;border:1px solid var(--cj-line);border-radius:6px;background:#fff;box-shadow:0 4px 16px rgba(20,38,56,.035)}
.cj-faq-list summary{position:relative;padding:19px 40px 19px 0;color:var(--cj-ink);font-weight:780;line-height:1.45;cursor:pointer;list-style:none}
.cj-faq-list summary::-webkit-details-marker{display:none}
.cj-faq-list summary:after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f2f3ef;color:#9c671d;font-size:20px;font-weight:400}
.cj-faq-list details[open] summary:after{content:"−"}
.cj-faq-list details[open] summary{border-bottom:1px solid #edf0f0}
.cj-faq-list details>p,.cj-faq-list details>div{padding:12px 0 20px;color:#5d6b77;font-size:14px;line-height:1.8}
.cj-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cj-news-card{overflow:hidden;border:1px solid var(--cj-line);border-radius:6px;background:#fff;transition:transform .22s,box-shadow .22s}
.cj-news-card:hover{transform:translateY(-4px);box-shadow:0 17px 36px rgba(20,38,56,.1)}
.cj-news-card__media{display:block;aspect-ratio:1.55;overflow:hidden;background:#e8eceb}
.cj-news-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.cj-news-card:hover .cj-news-card__media img{transform:scale(1.04)}
.cj-news-card__body{padding:19px 20px 21px}
.cj-news-card__date{color:#9b691f;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.cj-news-card h2{margin:8px 0 9px;font-size:19px;line-height:1.28;letter-spacing:-.025em}
.cj-news-card p{margin:0;color:#6d7981;font-size:12px;line-height:1.7}
.cj-news-card__link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:#1d3449;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.cj-news-card__link span{color:#bb7d22;font-size:17px;font-weight:400}
.cj-news-empty{padding:30px;border:1px dashed #cbd4d5;border-radius:6px;background:rgba(255,255,255,.65);color:#61707c}
.cj-news-empty strong{display:block;margin-bottom:5px;color:#21364a;font-size:16px}
.cj-news-empty p{margin:0;font-size:13px}
.cj-news-pagination{display:flex;justify-content:center;gap:8px;margin-top:28px}
.cj-news-pagination .page-numbers{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--cj-line);border-radius:3px;background:#fff;color:#33485a;font-size:11px}
.cj-news-pagination .current{background:#172b3e;border-color:#172b3e;color:#fff}

/* Product gallery and dialogs. */
.cj-product-main-image{overflow:hidden;border-radius:8px}
.cj-product-zoom-trigger{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}
.cj-product-zoom-trigger img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cj-product-zoom-trigger:hover img{transform:scale(1.015)}
.cj-product-zoom-trigger:focus-visible{outline:3px solid var(--cj-orange);outline-offset:-4px}
.cj-product-zoom-icon{position:absolute;right:15px;bottom:15px;display:grid;place-items:center;width:43px;height:43px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(15,30,44,.82);color:#fff;transition:background .2s,transform .2s}
.cj-product-zoom-icon svg{width:22px;height:22px}
.cj-product-zoom-trigger:hover .cj-product-zoom-icon{background:#c88421;transform:scale(1.06)}
.cj-product-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding:2px 2px 8px}
.cj-product-thumb{flex:0 0 82px;width:82px;height:66px;padding:3px;border:1px solid #d8dfdf;border-radius:5px;background:#fff;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}
.cj-product-thumb img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.cj-product-thumb:hover{transform:translateY(-2px);border-color:#d18b2a}
.cj-product-thumb.is-active{border:2px solid #d28b27;box-shadow:0 0 0 2px rgba(210,139,39,.16)}
.cj-product-lightbox,.cj-inquiry-dialog{border:0;padding:0;max-width:none;max-height:none;overflow:visible;color:var(--cj-ink)}
.cj-product-lightbox{width:min(94vw,1480px);height:min(92vh,980px);background:transparent}
.cj-product-lightbox::backdrop{background:rgba(5,12,19,.92);backdrop-filter:blur(5px)}
.cj-product-lightbox__inner{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:18px;background:rgba(10,19,28,.55);border:1px solid rgba(255,255,255,.16);border-radius:10px}
.cj-product-lightbox__inner img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}
.cj-inquiry-dialog{width:min(900px,calc(100% - 32px));max-height:min(92vh,980px);overflow:auto;border-radius:10px;background:#f7f8f6;box-shadow:0 28px 90px rgba(0,0,0,.35)}
.cj-inquiry-dialog::backdrop{background:rgba(8,19,29,.76);backdrop-filter:blur(4px)}
.cj-inquiry-dialog__inner{position:relative;padding:clamp(24px,5vw,52px)}
.cj-inquiry-dialog__inner>h2{max-width:720px;margin:8px 46px 10px 0;font-size:clamp(25px,3.3vw,38px);line-height:1.12;letter-spacing:-.04em}
.cj-inquiry-dialog__inner>p{max-width:650px;color:#61707c;font-size:13px}
.cj-dialog-close{position:absolute;z-index:2;top:16px;right:16px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(37,55,71,.15);border-radius:50%;background:#fff;color:#263b4e;font-size:25px;line-height:1;cursor:pointer;transition:background .18s,color .18s}
.cj-dialog-close:hover{background:#172b3e;color:#fff}
.cj-inquiry-dialog .cj-contact-form-wrap,.cj-inquiry-dialog .cj-fluent-contact-form{margin-top:20px}
.cj-inquiry-dialog .cj-contact-form-wrap{padding:0;background:transparent;border:0;box-shadow:none}
.cj-inquiry-dialog .cj-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cj-inquiry-dialog .cj-inquiry-form{margin:0}
.cj-inquiry-dialog .cj-form-field-wide{grid-column:1/-1}
.cj-inquiry-dialog .cj-inquiry-form button{min-height:48px}
.cj-product-lightbox[open],.cj-inquiry-dialog[open]{display:block}

/* Fixed quick actions; WhatsApp falls back to the inquiry page until a number is configured. */
.cj-floating-actions{position:fixed;z-index:120;right:max(18px,calc((100vw - 1500px)/2));bottom:22px;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}
.cj-floating-whatsapp,.cj-back-to-top{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;box-shadow:0 8px 24px rgba(15,31,45,.24);pointer-events:auto;transition:transform .2s,opacity .2s,background .2s}
.cj-floating-whatsapp{background:#1ca568;color:#fff}
.cj-floating-whatsapp:hover{background:#138753;color:#fff;transform:translateY(-2px)}
.cj-floating-whatsapp svg{width:28px;height:28px}
.cj-back-to-top{background:#152b3e;color:#fff;opacity:0;visibility:hidden;transform:translateY(8px)}
.cj-back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.cj-back-to-top:hover{background:#e4a13b;color:#172b3e}
.cj-back-to-top svg{width:22px;height:22px}

/* Reading rhythm and accessibility. */
.cj-reveal{opacity:1;transform:none}
.cj-motion-ready .cj-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.65,.2,1)}
.cj-motion-ready .cj-reveal.is-visible{opacity:1;transform:translateY(0)}
.cj-product-description .cj-prose img{height:auto;max-width:100%;border-radius:6px}
.cj-product-description .cj-prose figure{margin:28px 0}
.cj-product-description .cj-prose figure img{display:block;width:min(100%,1000px)}
.cj-product-description .cj-prose figcaption{margin-top:8px;color:#78848c;font-size:11px}
.cj-product-description .cj-prose table{width:100%;border-collapse:collapse}
.cj-product-description .cj-prose td,.cj-product-description .cj-prose th{padding:10px 12px;border:1px solid var(--cj-line);text-align:left}
.cj-spec-table{max-width:100%}
:focus-visible{outline-color:#b9771d;outline-offset:3px}

@media(max-width:1100px){
  .cj-hero__inner{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:34px}
  .cj-hero-showcase{max-width:470px}
  .cj-hero__title{font-size:clamp(45px,6vw,67px)}
}
@media(max-width:900px){
  .cj-hero{min-height:0}
  .cj-hero__inner{grid-template-columns:1fr;gap:40px;padding:68px 0 88px}
  .cj-hero-content{max-width:760px}
  .cj-hero-showcase{justify-self:start;max-width:620px}
  .cj-hero-showcase__media{aspect-ratio:1.55}
  .cj-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .cj-container{width:calc(100% - 32px)}
  .cj-hero__inner{gap:30px;padding:50px 0 76px}
  .cj-hero__title{font-size:clamp(43px,12vw,58px)}
  .cj-hero__text{font-size:14px}
  .cj-hero-search{margin-top:20px;padding:12px}
  .cj-hero-search__fields{grid-template-columns:1fr}
  .cj-hero-search input,.cj-hero-search button{width:100%;min-height:46px}
  .cj-hero-showcase{padding:8px}
  .cj-hero-showcase__media{aspect-ratio:1.28}
  .cj-hero-showcase__body h2{font-size:15px}
  .cj-stat-band{margin-top:-26px}
  .cj-news-grid{grid-template-columns:1fr}
  .cj-faq-list details{padding-inline:15px}
  .cj-faq-list summary{font-size:14px}
  .cj-product-lightbox{width:100vw;height:92vh}
  .cj-product-lightbox__inner{padding:10px;border-radius:0}
  .cj-product-lightbox__inner img{max-width:100%;max-height:calc(92vh - 20px)}
  .cj-inquiry-dialog{width:calc(100% - 20px);max-height:94vh;border-radius:8px}
  .cj-inquiry-dialog__inner{padding:24px 18px}
  .cj-inquiry-dialog .cj-form-grid{grid-template-columns:1fr}
  .cj-inquiry-dialog .cj-form-field-wide{grid-column:auto}
  .cj-dialog-close{top:10px;right:10px;width:37px;height:37px}
  .cj-floating-actions{right:12px;bottom:14px;gap:8px}
  .cj-floating-whatsapp,.cj-back-to-top{width:48px;height:48px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .cj-motion-ready .cj-reveal{opacity:1;transform:none}
}
@keyframes cj-hero-drift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.055) translate3d(-.5%,.25%,0)}}

/* Source-aware content and editorial/news reading styles. */
.cj-source-copy-block{margin:30px 0;padding:clamp(22px,3.5vw,42px);border:1px solid var(--cj-line);border-top:3px solid var(--cj-orange);border-radius:7px;background:#fff;box-shadow:0 8px 28px rgba(20,38,56,.045)}
.cj-source-copy-block h3{margin:0 0 14px;color:#1a3045;font-size:clamp(20px,2.4vw,28px);line-height:1.2}
.cj-source-copy-block h4{margin:24px 0 10px;color:#294057;font-size:15px}
.cj-source-copy-block>p{color:#4f5f6d;font-size:14px;line-height:1.8}
.cj-source-detail-list,.cj-source-highlight-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 26px;padding-left:20px;color:#586875;font-size:13px;line-height:1.7}
.cj-source-attribution{margin-top:20px;padding-top:14px;border-top:1px solid #e9eded;color:#71808a!important;font-size:11px!important}
.cj-source-image-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.cj-source-image-list figure{margin:0}
.cj-source-image-list img{width:100%;height:auto;max-height:480px;object-fit:cover;border-radius:5px}
.cj-source-image-list figcaption{margin-top:7px;color:#7a858b;font-size:10px}
.cj-article-meta{display:flex;gap:16px;align-items:center;margin-top:14px;color:#e1e8ec;font-size:11px}
.cj-article-meta time{color:inherit}
.cj-article-featured-image{margin:0 0 30px;overflow:hidden;border-radius:7px;background:#e8eceb}
.cj-article-featured-image img{width:100%;height:auto;max-height:660px;object-fit:cover}
.cj-article-back{margin-top:40px;padding-top:18px;border-top:1px solid var(--cj-line);font-size:12px;font-weight:800}
.cj-article-back a{color:#9b691f}
.cj-news-empty .cj-button{margin-top:16px}
.cj-floating-whatsapp.is-unconfigured{background:#547965;border:1px dashed rgba(255,255,255,.55)}
.cj-floating-whatsapp.is-unconfigured:hover{background:#496c59}
.cj-product-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.4em}
@media(max-width:650px){
  .cj-source-detail-list,.cj-source-highlight-list{grid-template-columns:1fr;gap:5px}
  .cj-source-image-list{grid-template-columns:1fr}
  .cj-article-meta{font-size:10px;flex-wrap:wrap}
}
.cj-product-verification-note{margin:18px 0;padding:14px 16px;border-left:3px solid #d18a28;border-radius:0 4px 4px 0;background:#fff6e7;color:#5d4a2c;font-size:12px;line-height:1.65}
.cj-product-verification-note strong{display:block;margin-bottom:4px;color:#774f16;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.cj-product-verification-note p{margin:0}
