/*!
 * Corrente for Divi 5 – hooks only.
 * ALL layout and style values (spacing, sizes, fonts, colours, borders, gaps, grids, positions) are native Divi 5
 * module settings: change them in the Visual Builder, right-hand panel. This file only contains
 *  1) the page reset and Divi default neutralisation,
 *  2) animation / behaviour states driven by corrente-divi.js,
 *  3) the few things Divi cannot express natively (pseudo-elements, blend modes, menu/form internals, list chips).
 */

/* ---------- Tokens (used only by the internals below: forms, nav, chips, filters, placeholders) ---------- */
:root{--cs-blue:#b9cde0;--f-serif:'Instrument Serif',Georgia,serif;--f-display:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;--f-body:'Instrument Sans','Helvetica Neue',Arial,sans-serif;--f-mono:'JetBrains Mono',ui-monospace,Menlo,monospace}
body .cs-t-dark{--bg:#0b0d12;--fg:#eceef2;--muted:#8a91a1;--line:#262a35;--accent:#b9cde0;--surface:#141720}
body .cs-t-light{--bg:#eceef2;--fg:#0b0d12;--muted:#565c6b;--line:#c8ccd5;--accent:#2f5d8c;--surface:#dfe2e8}
body .cs-t-blue{--bg:#b9cde0;--fg:#1b1d24;--muted:#3e4858;--line:#8fa5be;--accent:#1b1d24;--surface:#a8bdd4}
body .cs-t-dark,body .cs-t-light,body .cs-t-blue{--cs-ink:var(--fg)}

/* ---------- Page ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body.corrente-divi{margin:0;background:#0b0d12;-webkit-font-smoothing:antialiased;overflow-x:clip}
body.corrente-divi #page-container,body.corrente-divi #et-main-area,body.corrente-divi #main-content,body.corrente-divi .et-l,body.corrente-divi .et_builder_inner_content{background:transparent}
body.corrente-divi #page-container{padding-top:0!important;overflow:visible}
body.corrente-divi #main-content{background:#0b0d12}
body.corrente-divi.et_fixed_nav #page-container,body.corrente-divi.et_non_fixed_nav #page-container{padding-top:0!important}
:focus-visible{outline:2px solid var(--accent,#b9cde0);outline-offset:3px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px}

/* ---------- Reset of Divi / theme defaults inside Corrente sections (no design values here) ---------- */
body .cs-s *,body .cs-s *::before,body .cs-s *::after{box-sizing:border-box}
body .cs-s :is(h1,h2,h3,h4,h5,h6){margin:0;padding:0;text-transform:none}
body .cs-s p{margin:0;padding:0 0 1em}
body .cs-s p:last-child{padding-bottom:0}
body .cs-s :is(ul,ol,li,figure){margin:0;padding:0;list-style:none}
body .cs-s a{color:inherit;text-decoration:none}
body .cs-s .et_pb_text_inner,body .cs-s .et_pb_heading_container{padding:0;margin:0}
body .cs-s .et_pb_button_module_wrapper{margin:0;padding:0}
body .cs-s :is(.et_pb_text,.et_pb_heading,.et_pb_button_module_wrapper,.et_pb_image,.et_pb_menu,.et_pb_contact_form_container){row-gap:0;column-gap:0}
body .cs-s em{font-style:normal}
/* serif-italic accent inside headings */
body .cs-s :is(h1,h2,h3) em,body .cs-quote em,body .cs-cta h2 em,body .cs-htitle em{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:-.02em}
body .cs-htitle em{font-size:1.1em;line-height:.9}
body .cs-ph h1:focus{outline:none}

/* Divi buttons: no icon/arrow pseudo-elements (labels carry their own arrows) */
body .cs-s .et_pb_button::before,body .cs-s .et_pb_button::after{display:none!important}

/* Split text (script wraps characters or words; text stays editable) */
body .cs-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
body .cs-c{display:inline-block;will-change:transform}
body .cs-wd{display:inline-block}
body .cs-htitle .cs-ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
body .cs-htitle .cs-ln>span{display:inline-block}

/* ---------- Transition curtain, progress bar (created by the script) ---------- */
body .cs-curtain{position:fixed;inset:0;z-index:95;background:var(--cs-blue);transform:translateY(100%);visibility:hidden;pointer-events:none}
body .cs-prog{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--cs-blue);transform:scaleX(0);transform-origin:left;z-index:70}
html.cs-cover .cs-curtain{visibility:visible;transform:none}

/* ---------- Header (Theme Builder): behaviour + menu internals ---------- */
body.corrente-divi :is(#main-header,.et-l--header,.et-l--header .et_builder_inner_content){background:transparent!important;box-shadow:none!important;min-height:0}
body .cs-bar.cs-s{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:50;mix-blend-mode:difference;background:transparent!important}
body.admin-bar .cs-bar.cs-s{top:var(--wp-admin--admin-bar--height,32px)!important}
body .cs-logo a{display:inline-block;padding:8px 0;color:inherit}
body .cs-logo .cs-cursor-u{display:inline-block;margin-left:.15em;animation:cs-blink 1.1s steps(1) infinite}
@keyframes cs-blink{50%{opacity:0}}
body .cs-top-nav,body .cs-menu-nav,body .cs-fmenu{background:transparent!important}
body .cs-top-nav .et_pb_menu_inner_container,body .cs-top-nav .et_pb_menu__wrap{display:flex;margin:0;padding:0;background:transparent}
body .cs-top-nav .et_pb_menu__menu{display:flex!important;flex:0 0 auto}
body .cs-top-nav ul.et-menu{display:flex;gap:20px;flex-wrap:nowrap}
body .cs-top-nav ul.et-menu>li{margin:0;padding:0}
body .cs-top-nav ul.et-menu>li>a{position:relative;display:block;padding:10px 0;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:400;line-height:1.5;color:#fff;opacity:1}
body .cs-top-nav ul.et-menu>li>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s}
body .cs-top-nav ul.et-menu>li>a:hover::after,body .cs-top-nav ul.et-menu>li.current-menu-item>a::after{transform:scaleX(1)}
body .cs-top-nav :is(.et_mobile_nav_menu,.et_pb_menu__icon,.et_pb_menu__search-container,.et_pb_menu__cart-button),
body .cs-menu-nav :is(.et_mobile_nav_menu,.et_pb_menu__icon,.et_pb_menu__search-container,.et_pb_menu__cart-button),
body .cs-fmenu :is(.et_mobile_nav_menu,.et_pb_menu__icon,.et_pb_menu__search-container,.et_pb_menu__cart-button){display:none!important}
body .cs-menu-btn{display:none}
body .cs-menu-btn .et_pb_button{display:flex;gap:10px;align-items:center}
body .cs-menu-btn .et_pb_button::after{content:""!important;display:block!important;position:static!important;opacity:1!important;margin:0!important;width:26px;height:8px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;transition:transform .4s}
body .cs-menu-btn .et_pb_button:hover::after{transform:scaleX(.6)}
@media (max-width:1100px){body .cs-top-nav{display:none!important}body .cs-menu-btn{display:block}}

/* Full-screen menu: open/close animation state */
body .cs-menu.cs-s{position:fixed!important;inset:0;width:100%;height:100vh;z-index:60;clip-path:circle(0 at calc(100% - 60px) 40px);transition:clip-path .9s cubic-bezier(.76,0,.24,1);visibility:hidden;overscroll-behavior:contain}
body .cs-menu.cs-s.open{clip-path:circle(150% at calc(100% - 60px) 40px);visibility:visible}
body .cs-menu-close{z-index:2}
body .cs-menu-nav .et_pb_menu_inner_container,body .cs-menu-nav .et_pb_menu__wrap{display:block;margin:0;padding:0;background:transparent}
body .cs-menu-nav .et_pb_menu__menu{display:block!important;width:100%}
body .cs-menu-nav ul.et-menu{display:flex;flex-direction:column;gap:0}
body .cs-menu-nav ul.et-menu>li{margin:0;padding:0;overflow:hidden;display:block}
body .cs-menu-nav ul.et-menu>li>a{display:block;padding:0;font-family:var(--f-display);font-weight:600;font-size:clamp(32px,min(7.4vw,9svh),96px);line-height:1.04;letter-spacing:-.04em;color:#1b1d24;opacity:1;text-transform:none;transform:translateY(105%);transition:transform .8s cubic-bezier(.16,1,.3,1),color .3s}
body .cs-menu.open .cs-menu-nav ul.et-menu>li>a{transform:none}
body .cs-menu.open .cs-menu-nav ul.et-menu>li:nth-child(2)>a{transition-delay:.06s}body .cs-menu.open .cs-menu-nav ul.et-menu>li:nth-child(3)>a{transition-delay:.12s}
body .cs-menu.open .cs-menu-nav ul.et-menu>li:nth-child(4)>a{transition-delay:.18s}body .cs-menu.open .cs-menu-nav ul.et-menu>li:nth-child(5)>a{transition-delay:.24s}
body .cs-menu.open .cs-menu-nav ul.et-menu>li:nth-child(6)>a{transition-delay:.3s}body .cs-menu.open .cs-menu-nav ul.et-menu>li:nth-child(7)>a{transition-delay:.36s}
body .cs-menu-nav ul.et-menu>li>a:hover,body .cs-menu-nav ul.et-menu>li.current-menu-item>a{color:#2f5d8c}

/* ---------- Marquee ---------- */
body .cs-marq{white-space:nowrap}
body .cs-marq .cs-tr .et_pb_text_inner{display:inline-flex;will-change:transform;white-space:nowrap}
body .cs-marq .cs-tr ul{display:inline-flex;flex:0 0 auto}
body .cs-marq .cs-tr li{white-space:nowrap;padding-right:.5em}
body .cs-marq .cs-tr li:nth-child(even){color:transparent;-webkit-text-stroke:1.5px var(--fg)}

/* ---------- Visuals: gradient placeholders (remove the class cs-g1..g6 when you set a real photo as the group background) ---------- */
body .cs-vis{position:relative}
body .cs-vis::before{content:"";position:absolute;inset:0;transition:scale .7s cubic-bezier(.23,1,.32,1);z-index:0}
body .cs-vis>*{z-index:1}
body .cs-vis :is(.et_pb_image,.et_pb_image_wrap,img){position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;margin:0!important;z-index:0}
body .cs-vis img{transition:scale .7s cubic-bezier(.23,1,.32,1)}
body .cs-wcard:hover .cs-vis::before,body .cs-panel:hover .cs-vis::before{scale:1.06}
body .cs-wcard:hover .cs-vis img{scale:1.06}
body .cs-vis .cs-lab,body .cs-vis .cs-num{mix-blend-mode:difference}
body .cs-ph-tag{z-index:2}
body .cs-g1::before{background:radial-gradient(60% 60% at 25% 30%,#ff6a3d 0,transparent 60%),radial-gradient(55% 55% at 80% 70%,#2a3cff 0,transparent 60%),#111}
body .cs-g2::before{background:radial-gradient(70% 50% at 70% 25%,#27e1a1 0,transparent 60%),radial-gradient(60% 60% at 20% 80%,#0b5cff 0,transparent 60%),#0a1a2a}
body .cs-g3::before{background:radial-gradient(60% 60% at 30% 70%,#ffd23d 0,transparent 55%),radial-gradient(60% 50% at 75% 30%,#ff3d8b 0,transparent 60%),#2a0f1c}
body .cs-g4::before{background:radial-gradient(60% 60% at 70% 70%,#9b6bff 0,transparent 60%),radial-gradient(50% 50% at 20% 25%,#3de0ff 0,transparent 60%),#10112a}
body .cs-g5::before{background:radial-gradient(40% 80% at 15% 50%,#ff8a3d 0,transparent 60%),radial-gradient(40% 80% at 85% 50%,#3dffb0 0,transparent 60%),radial-gradient(40% 60% at 50% 50%,#2a3cff 0,transparent 70%),#0d1016}
body .cs-g6::before{background:radial-gradient(50% 60% at 20% 70%,#ff3d3d 0,transparent 60%),radial-gradient(50% 60% at 80% 30%,#ffb23d 0,transparent 60%),#190d0d}

/* ---------- Home hero: liquid photo layer (canvas created by the script) ---------- */
body .cs-hero .cs-gl{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1;background:transparent;opacity:0;transition:opacity .8s ease-out;pointer-events:none}
body .cs-hero .cs-gl.ready{opacity:1}
body .cs-hero .cs-hcard{z-index:2}
@media (max-width:767px){body .cs-hmeta>.cs-hmid{display:none}}

/* ---------- Home: horizontal services (pinned on desktop, the script adds .on) ---------- */
body .cs-hs.cs-s{overflow-x:clip}
body .cs-hs-bar{display:none}
@media (min-width:981px) and (min-height:600px){
  body .cs-hs.on .cs-vis{max-height:max(220px,calc(100svh - 390px));aspect-ratio:16/10}
  body .cs-hs.on.cs-s{height:100svh;padding-top:calc(84px + env(safe-area-inset-top,0px))!important;padding-bottom:40px!important;display:flex;flex-direction:column;justify-content:center}
  body .cs-hs.on>.et_pb_row.cs-track{width:max-content!important;max-width:none!important;flex:0 0 auto;flex-direction:row}
  body .cs-hs.on .cs-track>.et_pb_column{flex-direction:row!important;gap:5vw!important;width:max-content!important;flex:0 0 auto}
  body .cs-hs.on .cs-panel{width:min(52vw,760px)}
  body .cs-hs.on .cs-pbody{min-height:112px}
  body .cs-hs.on .cs-hs-bar{display:block;margin:28px var(--gutter,56px) 0;height:2px;background:var(--line)}
  body .cs-hs.on .cs-hs-bar i{display:block;height:100%;background:var(--fg);transform:scaleX(0);transform-origin:left}
}

/* ---------- Works grid ---------- */
body .cs-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:48px;width:100%}
body .cs-filters button{flex:0 0 auto;align-self:auto;height:auto;border:1px solid var(--line);border-radius:99px;padding:11px 16px;background:transparent;color:inherit;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,border-color .3s,scale .2s}
body .cs-filters button:hover{border-color:var(--fg)}
body .cs-filters button:active{scale:.97}
body .cs-filters button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
body .cs-wcard[hidden]{display:none!important}
body .cs-wcard h3 a::after,body .cs-pbody h3 a::after,body .cs-nitem h3 a::after{content:"";position:absolute;inset:0;z-index:3}
body .cs-empty{color:var(--muted);padding-block:40px;width:100%}
body .cs-empty[hidden]{display:none}

/* ---------- Lists, chips, hover motion ---------- */
body .cs-tags ul{display:flex;flex-wrap:wrap;gap:8px}
body .cs-tags li{border:1px solid var(--line);border-radius:99px;padding:5px 14px}
body .cs-srow>.et_pb_column.cs-l{align-self:start;position:sticky;top:calc(100px + env(safe-area-inset-top,0px))}
body .cs-srow .cs-list ul{columns:2;column-gap:24px}
body .cs-srow .cs-list li{break-inside:avoid;padding:9px 0;border-bottom:1px solid var(--line)}
body .cs-steps .cs-mline{position:absolute;left:0;right:0;top:0;height:2px;background:var(--line)}
body .cs-steps .cs-mline i{display:block;height:100%;background:var(--fg);transform-origin:left}
body .cs-nitem>*{transition:translate .4s cubic-bezier(.23,1,.32,1)}
body .cs-nitem:hover :is(.cs-nh,.cs-np){translate:16px 0}
@media (max-width:980px){body .cs-srow>.et_pb_column.cs-l{position:static}}
@media (max-width:600px){body .cs-srow .cs-list ul{columns:1}}

/* ---------- Contact + newsletter forms (Divi 5 form internals: fields are div.et_pb_contact_field) ---------- */
body :is(.cs-cform,.cs-news) .et_pb_contact_form{margin:0;padding:0}
body .cs-cform .et_pb_contact_form{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}
body .cs-cform .et_pb_contact_field{margin:0;padding:0;width:100%;grid-column:span 1}
body .cs-cform .et_pb_contact_field:nth-of-type(n+5),body .cs-cform .et_contact_bottom_container{grid-column:1/-1}
body .cs-cform .et_pb_contact_field>label.et_pb_contact_form_label,body .cs-cform .et_pb_contact_form_label{display:block;color:var(--muted);margin-bottom:6px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
body :is(.cs-cform,.cs-news) :is(input[type="text"],input[type="email"],select,textarea,.input){width:100%;background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;padding:10px 0!important;border-radius:0!important;color:var(--fg)!important;font:inherit;font-size:16px;transition:border-color .3s;box-shadow:none}
body .cs-news :is(input[type="text"],input[type="email"],.input){border-bottom-color:var(--fg)!important;padding:8px 0!important}
body .cs-cform select option{background:var(--bg);color:var(--fg)}
body .cs-cform :is(input,select,textarea):focus,body .cs-news input:focus{outline:none;border-color:var(--fg)!important}
body .cs-cform textarea{min-height:120px;resize:vertical}
body :is(.cs-cform,.cs-news) .et_contact_bottom_container{float:none;margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:16px}
body :is(.cs-cform,.cs-news) .et_pb_contact_right{margin:0;padding:0;width:auto;float:none}
body :is(.cs-cform,.cs-news) .et_pb_contact_right label{color:var(--muted);font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
body :is(.cs-cform,.cs-news) .et_pb_contact_captcha{width:64px!important;display:inline-block}
body :is(.cs-cform,.cs-news) :is(button.et_pb_contact_submit,.et_pb_button){display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--fg)!important;border-radius:99px!important;padding:8px 20px!important;background:transparent!important;color:var(--fg)!important;font-family:var(--f-mono)!important;font-size:12px!important;letter-spacing:.06em!important;text-transform:uppercase!important;font-weight:400!important;line-height:1.5!important;transition:background .3s,color .3s,scale .2s}
body :is(.cs-cform,.cs-news) :is(button.et_pb_contact_submit,.et_pb_button):hover{background:var(--fg)!important;color:var(--bg)!important}
body :is(.cs-cform,.cs-news) .et-pb-contact-message{color:var(--accent);margin-top:12px;font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
body :is(.cs-cform,.cs-news) .et_pb_contact_main_title{display:none}
/* newsletter: one row, label hidden (the placeholder carries it) */
body .cs-news .et_pb_contact_form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}
body .cs-news .et_pb_contact_field{flex:1 1 200px;min-width:0;margin:0;padding:0}
body .cs-news .et_pb_contact_form_label{display:none!important}
body .cs-news .et_contact_bottom_container{flex:0 0 auto}
body .cs-news input::placeholder{color:var(--muted)}
@media (max-width:700px){body .cs-cform .et_pb_contact_form{grid-template-columns:1fr}}

/* ---------- Footer menu (Divi menu internals) ---------- */
body .cs-fmenu .et_pb_menu_inner_container,body .cs-fmenu .et_pb_menu__wrap{display:block;margin:0;padding:0;background:transparent}
body .cs-fmenu .et_pb_menu__menu{display:block!important}
body .cs-fmenu ul.et-menu,body .cs-fmenu .et-menu-nav>ul{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:4px!important;flex-wrap:nowrap!important}
body .cs-fmenu ul.et-menu>li{display:block!important;padding:0!important;margin:0!important}
body .cs-fmenu ul.et-menu>li>a{display:inline-block;padding:10px 0;font-family:var(--f-body);font-size:15px;line-height:1.5;color:var(--fg);text-transform:none;letter-spacing:normal;opacity:1}
body .cs-fmenu ul.et-menu>li>a:hover{color:var(--accent)}

/* ---------- Cursor (created by the script) ---------- */
body .cs-cur{position:fixed;left:0;top:0;z-index:90;pointer-events:none;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--cs-blue);display:grid;place-items:center;transition:width .35s,height .35s,margin .35s,opacity .3s;opacity:0}
body .cs-cur span{font-family:var(--f-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#0b0d12;opacity:0;transition:opacity .2s;white-space:nowrap}
body .cs-cur.on{opacity:1}
body .cs-cur.big{width:104px;height:104px;margin:-52px 0 0 -52px}
body .cs-cur.big span{opacity:1}
@media (hover:none),(pointer:coarse){body .cs-cur{display:none}}
html.cs-no-cursor,html.cs-no-cursor *{cursor:none}
@media (hover:none),(pointer:coarse){html.cs-no-cursor,html.cs-no-cursor *{cursor:auto}}

/* ---------- Touch + reduced motion ---------- */
@media (hover:none),(pointer:coarse){
  body .cs-top-nav ul.et-menu>li>a:hover::after{transform:scaleX(0)}body .cs-top-nav ul.et-menu>li.current-menu-item>a:hover::after{transform:scaleX(1)}
  body .cs-menu-btn .et_pb_button:hover::after{transform:none}
  body .cs-wcard:hover .cs-vis::before,body .cs-panel:hover .cs-vis::before{scale:1}
  body .cs-filters button:hover{border-color:var(--line)}body .cs-nitem:hover :is(.cs-nh,.cs-np){translate:0 0}
  body .cs-menu-nav ul.et-menu>li>a:hover{color:#1b1d24}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  body .cs-curtain{display:none!important}
  body .cs-nitem:hover :is(.cs-nh,.cs-np){translate:0 0}
}
a,button,input,select,textarea,label{-webkit-tap-highlight-color:transparent}
a,button,label{touch-action:manipulation}

/* ---------- Visual Builder: everything static, nothing fixed or hidden ---------- */
body.cs-editing .cs-bar.cs-s{position:relative!important;mix-blend-mode:normal;background:#0b0d12}
body.cs-editing .cs-menu.cs-s{position:relative!important;clip-path:none;visibility:visible;pointer-events:auto;height:auto;min-height:0}
body.cs-editing .cs-curtain,body.cs-editing .cs-progress,body.cs-editing .cs-cur{display:none!important}
body.cs-editing .cs-hs .cs-track{width:auto;flex-wrap:wrap}
body.cs-editing .cs-reveal,body.cs-editing .cs-split-chars,body.cs-editing .cs-split-words,body.cs-editing .cs-hs-headrow{opacity:1!important;transform:none!important;visibility:visible!important}
body.cs-editing .cs-hero .cs-hcard{position:relative!important}
