/*
Theme Name: Karamus Elementor
Theme URI: https://karamus.ma/
Author: Karamus
Description: Conseil digital, solutions, réalisations et journal éditorial. Modèles Elementor et agents Make.
Version: 4.3.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: karamus
*/
:root{--k-ink:#18352e;--k-deep:#102a24;--k-paper:#f6f6ef;--k-lime:#d6ed9f;--k-muted:#607268;--k-line:#dce4d6;--k-white:#fff;font-family:Arial,"Helvetica Neue",sans-serif;color:var(--k-ink);background:var(--k-paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;background:var(--k-paper);color:var(--k-ink);line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:#6c842f}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #83a941;outline-offset:4px}img{max-width:100%;height:auto}[hidden]{display:none!important}.k-wrap{width:min(1200px,calc(100% - 64px));margin:auto}.k-main{min-height:65vh}.k-skip{position:absolute;left:-9999px;top:10px;z-index:100;background:white;padding:14px}.k-skip:focus{left:10px}
.k-section.e-con,.k-section{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:100%;max-width:none!important;padding:90px max(32px,calc((100vw - 1200px)/2))!important;gap:18px!important;--container-widget-width:100%}.k-section>.elementor-widget{width:100%}.k-section .elementor-widget-heading,.k-section .elementor-widget-text-editor{margin:0!important}.k-section .elementor-heading-title{color:var(--k-ink)!important;font-family:Arial,"Helvetica Neue",sans-serif!important;font-weight:700!important;line-height:1.15!important;letter-spacing:-.04em!important}.k-section .k-display .elementor-heading-title{font-size:clamp(36px,5vw,68px)!important;line-height:1.06!important;max-width:1000px}.k-section .k-title .elementor-heading-title{font-size:clamp(28px,3.4vw,44px)!important;max-width:900px}.k-section .k-eyebrow .elementor-heading-title,.k-eyebrow{font-size:11px!important;font-weight:700!important;letter-spacing:.14em!important;line-height:1.5!important;text-transform:uppercase;color:#758849!important}.k-section p{margin:0 0 8px;font-size:16px;color:var(--k-muted);line-height:1.8}.k-section .k-lead p{font-size:18px;max-width:790px}.k-section .k-micro p{font-size:12px;color:#adbdb1}.k-hero{background:var(--k-deep);padding-top:92px!important;padding-bottom:92px!important;min-height:420px;overflow:hidden}.k-home-hero{min-height:600px;background:radial-gradient(ellipse at 105% 0,#36583b 0,transparent 55%),var(--k-deep)}.k-home-hero:after{content:"";position:absolute;right:-130px;top:120px;width:410px;height:410px;border:1px solid #d6ed9f20;border-radius:50%;box-shadow:0 0 0 65px #d6ed9f08,0 0 0 130px #d6ed9f05;pointer-events:none}.k-hero .elementor-heading-title,.k-section-dark .elementor-heading-title,.k-cta-section .elementor-heading-title{color:#f9fcf2!important}.k-hero p,.k-section-dark p,.k-cta-section p{color:#c0d0c3!important}.k-hero .k-eyebrow .elementor-heading-title,.k-section-dark .k-eyebrow .elementor-heading-title,.k-cta-section .k-eyebrow .elementor-heading-title{color:var(--k-lime)!important}.k-section-white{background:white}.k-section-light{background:#edf1e7}.k-section-lime{background:var(--k-lime)}.k-section-dark,.k-cta-section{background:var(--k-deep)}.k-actions{display:flex!important;flex-direction:row!important;flex-wrap:wrap;gap:14px!important;padding:6px 0!important;margin:0!important;width:auto!important}.k-section .elementor-button,.k-button{display:inline-flex;align-items:center;justify-content:center;background:var(--k-ink);color:white!important;border:0;border-radius:9px;padding:15px 22px;font-size:14px;font-weight:700;line-height:1.4}.k-hero .elementor-button,.k-cta-section .elementor-button{background:var(--k-lime);color:var(--k-deep)!important}.k-button-ghost .elementor-button{background:transparent!important;border:1px solid #ffffff50;color:white!important}.k-section .elementor-widget-button{width:auto;max-width:100%;margin-top:8px}.k-grid,.k-proof-grid,.k-journal-grid{display:grid!important;width:100%!important;gap:24px!important;padding:0!important;grid-template-columns:repeat(3,minmax(0,1fr))}.k-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.k-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.k-grid>.e-con,.k-split>.e-con{width:100%!important;min-width:0!important}.k-card{padding:32px!important;border:1px solid var(--k-line);border-radius:14px;background:white;display:flex;flex-direction:column;gap:14px!important;box-shadow:none;transition:transform .2s ease,border-color .2s ease}.k-card:hover{transform:translateY(-3px);border-color:#93b76e}.k-card .elementor-heading-title,.k-card h3{font-size:25px!important;letter-spacing:-.03em!important;line-height:1.2!important;margin:0}.k-card .k-eyebrow .elementor-heading-title{font-size:10px!important}.k-card p{font-size:15px}.k-card .elementor-button{background:none!important;color:var(--k-ink)!important;padding:0!important;font-size:13px}.k-card .elementor-widget-button{margin-top:auto;padding-top:16px}.k-card-ink{background:#e9efdf}.k-card-sage{background:#f2f5ed}.k-card-sand{background:#f9f6ec}.k-card-lime{background:#e8f3cf}.k-split{display:grid!important;grid-template-columns:1fr 1fr;gap:56px!important;width:100%!important;padding:0!important}.k-split-left,.k-split-right{padding:0!important;gap:20px!important}.k-proof-band{padding-top:32px!important;padding-bottom:32px!important;background:#e8eddf}.k-proof-item{padding:15px 24px!important;border-left:1px solid #b7c5ab;gap:5px!important}.k-proof-number .elementor-heading-title{font-size:38px!important}.k-proof-item p{font-size:12px;max-width:270px}.k-note p,.k-visual-caption p{font-size:12px!important}.k-faq{border-top:1px solid var(--k-line);padding-top:28px!important}.k-persona-panel{border:1px solid var(--k-line);border-radius:15px;padding:30px!important;background:white}.k-compact-hero{min-height:300px}.k-section-contact{background:#eef3e5}
.k-header-template,.k-footer-template{padding:0!important;gap:0!important;max-width:none!important;width:100%!important}.elementor-widget-karamus_nav,.elementor-widget-karamus_footer{width:100%!important;margin:0!important}.k-site-header{position:relative;z-index:40;background:#fcfdf8;border-bottom:1px solid var(--k-line)}.k-header-top{background:var(--k-deep);color:#d4dfcf;font-size:10px;letter-spacing:.05em}.k-header-top .k-wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.k-header-top a{color:var(--k-lime)}.k-header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}.k-brand{font-size:30px;font-weight:800;letter-spacing:-1.6px}.k-nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:600}.k-nav-cta{padding:13px 18px;border-radius:8px;background:var(--k-ink);color:white!important}.k-menu-toggle{display:none;background:transparent;border:1px solid #b4c4b3;border-radius:8px;padding:8px 14px;color:var(--k-ink)}.k-socials{display:flex;align-items:center;gap:8px}.k-socials a{display:flex;align-items:center;justify-content:center;border:1px solid currentColor;width:32px;height:32px;border-radius:50%}.k-site-footer{background:var(--k-deep);color:#edf4e7;padding:70px 0 28px}.k-footer-callout{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:42px;border-bottom:1px solid #ffffff25;margin-bottom:42px}.k-footer-callout h2{font-size:clamp(28px,3.5vw,45px);line-height:1.1;letter-spacing:-.04em;max-width:650px;margin:10px 0}.k-footer-callout .k-button{background:var(--k-lime);color:var(--k-deep)!important;white-space:nowrap}.k-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}.k-site-footer .k-brand{color:var(--k-lime)}.k-site-footer p{font-size:14px;color:#b9ccba;max-width:350px}.k-site-footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.12em}.k-site-footer nav a{display:block;font-size:13px;margin-bottom:10px}.k-site-footer .k-socials{margin:20px 0}.k-footer-bottom{margin-top:38px;border-top:1px solid #ffffff25;padding-top:20px;font-size:11px;color:#9eb69f}
.k-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.k-filters a,.k-filters button{padding:10px 16px;border:1px solid var(--k-line);border-radius:100px;font-size:12px;background:#fff;color:var(--k-ink);cursor:pointer}.k-filters [aria-current=page],.k-filters [aria-pressed=true]{background:var(--k-ink);border-color:var(--k-ink);color:white}.k-journal-card{background:#f6f7f0;border:1px solid var(--k-line);padding:28px;border-radius:14px;display:flex;flex-direction:column;gap:15px}.k-journal-meta{font-size:10px;color:#738565}.k-journal-card h3,.k-journal-card h2{font-size:23px;line-height:1.25;letter-spacing:-.03em;margin:0}.k-journal-card p{font-size:14px}.k-journal-link{margin-top:auto;font-size:12px;font-weight:700;padding-top:12px}.k-project-cover{background:linear-gradient(140deg,#dceac5,#edf0e4);border-radius:8px;height:135px;display:flex;align-items:center;justify-content:center;font-size:64px;font-weight:700;letter-spacing:-4px;color:#315c34}.k-project-card p{font-size:14px}.k-pagination{margin-top:28px}.k-pagination .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--k-line);margin-right:7px}.k-article{max-width:800px;padding-top:70px;padding-bottom:80px}.k-article h1{font-size:clamp(32px,4.5vw,54px);line-height:1.1;letter-spacing:-.04em}.k-article h2{font-size:27px;line-height:1.3;margin-top:36px}.k-article p,.k-article li{font-size:17px;line-height:1.85;color:#506557}.k-article-meta{font-size:12px;color:var(--k-muted);margin-bottom:30px}.k-article-cta{background:#eaf2d9;padding:28px;border-radius:14px;margin:40px 0}.k-archive{padding-top:60px;padding-bottom:70px}.k-archive>h1{font-size:40px;line-height:1.2}
.k-contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;background:white;border-radius:16px;padding:38px;border:1px solid var(--k-line);width:100%}.k-contact h2{font-size:34px;line-height:1.2;letter-spacing:-.03em}.k-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.k-field label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}.k-field input,.k-field textarea,.k-field select{width:100%;border:1px solid #cad7c3;border-radius:7px;padding:12px;background:#f8faf3;color:var(--k-ink)}.k-field textarea{min-height:130px;resize:vertical}.k-wide{grid-column:1/-1}.k-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.k-consent{font-size:11px;display:flex;align-items:flex-start;gap:9px}.k-form-status{padding:13px;color:#9c4129;border:1px solid #dbab9d}.k-form-success h3{font-size:30px}.k-contact-form button:disabled{opacity:.6}.k-whatsapp{position:fixed;right:22px;bottom:20px;z-index:60;background:#20b968;color:#092b17;padding:12px 20px;border-radius:100px;font-weight:700;font-size:13px;box-shadow:0 8px 24px #102a2425}.elementor-editor-active .k-whatsapp{display:none}.k-reveal-ready{opacity:1;transform:none;transition:transform .6s}.k-reveal-ready.k-visible{opacity:1;transform:none}
@media(max-width:1050px){.k-menu-toggle{display:block}.k-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fcfdf8;border-bottom:1px solid var(--k-line);padding:25px 32px;flex-direction:column;align-items:stretch;gap:18px}.k-nav.is-open{display:flex}.k-nav .k-socials{margin-top:8px}.k-footer-grid{gap:30px}.k-grid-four{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.k-wrap{width:calc(100% - 36px)}.k-section{padding:58px 22px!important;gap:18px!important}.k-hero{min-height:360px;padding-top:70px!important;padding-bottom:70px!important}.k-home-hero{min-height:530px}.k-section .k-display .elementor-heading-title{font-size:42px!important}.k-section .k-title .elementor-heading-title{font-size:31px!important}.k-section .k-lead p{font-size:16px}.k-grid,.k-journal-grid,.k-split{grid-template-columns:1fr!important;gap:20px!important}.k-proof-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}.k-proof-band{padding:25px 15px!important}.k-proof-item{padding:10px!important}.k-proof-number .elementor-heading-title{font-size:27px!important}.k-proof-item p{font-size:10px!important;line-height:1.5}.k-header-top .k-wrap>a{display:none}.k-header-row{min-height:72px}.k-card{padding:25px!important}.k-contact,.k-contact-form{grid-template-columns:1fr}.k-contact{padding:24px;gap:20px}.k-footer-callout{flex-direction:column;align-items:flex-start}.k-footer-grid{grid-template-columns:1fr;gap:24px}.k-site-footer{padding:50px 0 80px}.k-filters a,.k-filters button{font-size:11px;padding:9px 12px}.k-article{padding-top:40px}.k-article p,.k-article li{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.k-reveal-ready{opacity:1;transform:none}}

/* v4.1: card foregrounds override dark-section inheritance, at all depths. */
.k-section .k-card .elementor-heading-title,.k-section-dark .k-card .elementor-heading-title,.k-hero .k-card .elementor-heading-title,.k-cta-section .k-card .elementor-heading-title{color:#18352e!important}
.k-section .k-card p,.k-section-dark .k-card p,.k-hero .k-card p,.k-cta-section .k-card p{color:#52665b!important}
.k-section .k-card .k-eyebrow .elementor-heading-title{color:#667d38!important}
.k-section .k-card .elementor-button,.k-section .k-card a{color:#18352e!important}
.k-section .k-persona-panel .elementor-heading-title,.k-section .k-journal-card h3{color:#18352e!important}
.k-section .k-persona-panel p,.k-section .k-journal-card p{color:#52665b!important}
.k-section .k-journal-meta{color:#66734f!important}
.k-reveal-ready{opacity:1!important;transform:none!important}
.k-home-hero{padding-right:max(32px,calc((100vw - 1200px)/2))!important;min-height:670px;background:#102a24}
.k-home-hero:before{content:"";position:absolute;right:max(32px,calc((100vw - 1200px)/2));top:50%;width:min(39vw,470px);height:min(39vw,470px);transform:translateY(-50%);border-radius:28px;background:url("assets/images/karamus-digital-sculpture.webp") center/cover;box-shadow:0 25px 70px #071b1640;border:1px solid #d6ed9f25;animation:k-art-float 9s ease-in-out infinite;pointer-events:none}
.k-home-hero:after{display:none}
.k-home-hero>.elementor-widget,.k-home-hero>.k-actions{max-width:calc(100% - min(39vw,470px) - 55px)!important;position:relative;z-index:1}
.k-home-hero .k-display .elementor-heading-title{font-size:clamp(38px,4.2vw,61px)!important;line-height:1.07!important}
.k-home-hero .k-lead p{font-size:17px;max-width:580px}
.k-card{box-shadow:0 8px 30px #18352e06;transition:transform .3s,box-shadow .3s,border-color .3s}
.k-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px #18352e13;border-color:#9ab970}
.k-service-grid .k-card:before{content:"↗";display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(140deg,#e6eddb,#d6ed9f);color:#244d30;font-size:32px;margin-bottom:8px}
.k-service-grid .k-card:nth-child(2):before{content:"⌘"}.k-service-grid .k-card:nth-child(3):before{content:"∞"}.k-service-grid .k-card:nth-child(4):before{content:"✦"}
.k-arrived{animation:k-card-arrive .65s ease-out}
@keyframes k-card-arrive{from{transform:translateY(16px)}to{transform:translateY(0)}}
@keyframes k-art-float{0%,100%{transform:translateY(-50%) rotate(-1deg)}50%{transform:translateY(calc(-50% - 9px)) rotate(1deg)}}
@media(max-width:1000px){.k-home-hero:before{width:35vw;height:42vw}.k-home-hero>.elementor-widget,.k-home-hero>.k-actions{max-width:calc(100% - 35vw - 35px)!important}}
@media(max-width:767px){.k-home-hero{padding-bottom:370px!important;min-height:auto}.k-home-hero>.elementor-widget,.k-home-hero>.k-actions{max-width:100%!important}.k-home-hero:before{width:calc(100% - 44px);height:290px;right:22px;top:auto;bottom:35px;transform:none;animation:none;background-position:center 55%;border-radius:20px}.k-home-hero .k-display .elementor-heading-title{font-size:42px!important}}
@media(prefers-reduced-motion:reduce){.k-home-hero:before,.k-arrived{animation:none!important}.k-card:hover{transform:none}}
/* v4.2: Elementor supplies left:0 on container overlays; explicitly release it. */
.k-home-hero:before{left:auto!important;right:max(32px,calc((100vw - 1200px)/2))!important;top:50%!important;bottom:auto!important;width:min(39vw,470px)!important;height:min(39vw,470px)!important;z-index:0!important}
.k-home-hero>.e-con-inner{position:relative!important;z-index:1;width:100%!important;max-width:1200px!important;align-items:flex-start!important}
.k-home-hero>.e-con-inner>.elementor-widget,.k-home-hero>.e-con-inner>.k-actions{max-width:calc(100% - min(39vw,470px) - 55px)!important;width:100%!important}
.k-home-hero .k-actions{width:auto!important;align-items:flex-start!important}
/* Keep the page-level invitation; footer starts with brand, services and contact. */
.k-footer-callout{display:none!important}
.k-site-footer{padding-top:48px}
@media(max-width:1000px){.k-home-hero:before{width:35vw!important;height:42vw!important}.k-home-hero>.e-con-inner>.elementor-widget,.k-home-hero>.e-con-inner>.k-actions{max-width:calc(100% - 35vw - 35px)!important}}
@media(max-width:767px){.k-home-hero:before{left:22px!important;right:22px!important;width:calc(100% - 44px)!important;height:290px!important;top:auto!important;bottom:35px!important;transform:none!important}.k-home-hero>.e-con-inner>.elementor-widget,.k-home-hero>.e-con-inner>.k-actions{max-width:100%!important}.k-home-hero>.e-con-inner{padding:0!important}}

/* v4.3 — logos, Elementor editable; no visibility-dependent animation. */
.k-logos-container{padding:0!important;gap:0!important;width:100%!important}
.k-logo-section{padding:64px 0;background:#f3f5ef;color:#24483d;overflow:hidden}
.k-logo-section h2{font-size:clamp(25px,3vw,38px)!important;line-height:1.2!important;color:#18352e!important;max-width:760px;margin:14px 0!important}
.k-logo-section p{color:#52665b!important;max-width:720px;margin:0 0 32px!important;font-size:16px!important}
.k-logo-kicker{font-size:11px;letter-spacing:.15em;font-weight:700}
.k-logo-window{overflow:hidden;max-width:100%}
.k-logo-track{display:flex;width:max-content;animation:k-logo-scroll var(--logo-duration,45s) linear infinite}
.k-logo-set{display:flex;gap:20px;padding-right:20px;flex-shrink:0}
.k-logo-item{display:flex;align-items:center;justify-content:center;gap:13px;width:205px;min-height:94px;border:1px solid #d9e1d4;border-radius:14px;background:#fff;color:#24483d;padding:18px;font-size:15px;font-weight:650}
.k-logo-item img{width:48px;height:44px;object-fit:contain;flex-shrink:0}
.k-logo-window:hover .k-logo-track{animation-play-state:paused}
.k-logo-brands{background:#fff;border-top:1px solid #e2e7dc}
.k-logo-brands .k-logo-window{max-width:1200px;margin:auto;padding:0 24px}
.k-logo-brands .k-logo-track{display:block;animation:none;width:100%}
.k-logo-brands .k-logo-set{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:14px}
.k-logo-brands .k-logo-item{width:100%;min-height:120px;background:#f8f9f5}
@keyframes k-logo-scroll{to{transform:translateX(-50%)}}
@media(max-width:600px){.k-logo-section{padding:44px 0}.k-logo-brands .k-logo-set{grid-template-columns:repeat(2,minmax(0,1fr))}.k-logo-item{font-size:13px;padding:14px;gap:9px}.k-logo-brands .k-logo-item{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){.k-logo-tools .k-logo-track{animation:none;width:100%}.k-logo-tools .k-logo-set{flex-wrap:wrap;justify-content:center;padding:0 20px}.k-logo-tools .k-logo-set[aria-hidden=true]{display:none}}
