/* Values inherit from Elementor Site Settings. Low-specificity defaults remain editable in each widget. */
:root{color-scheme:light dark;--jic-ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
body{margin:0;background:var(--e-global-color-surface,#faf9f6);color:var(--e-global-color-text,#56544f);font-family:var(--e-global-typography-text-font-family,Arial),sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a,input,textarea{touch-action:manipulation}
:focus-visible{outline:2px solid var(--e-global-color-primary,#802734);outline-offset:6px}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);position:absolute;width:1px;height:1px;overflow:hidden;white-space:nowrap}
.skip-link:focus{clip:auto;clip-path:none;position:fixed;top:12px;left:12px;width:auto;height:auto;padding:12px;background:var(--e-global-color-surface);z-index:30}
.elementor-widget-text-editor p:last-child{margin-bottom:0}.elementor-widget-text-editor p:first-child{margin-top:0}
.elementor-widget-heading .elementor-heading-title{overflow-wrap:normal}
:where(.elementor-widget-button .elementor-button){border-radius:0;font-size:14px;font-weight:500;line-height:1.4;padding:17px 25px;transition:transform .3s var(--jic-ease),background-color .3s,color .3s}
.elementor-button:hover{transform:translateY(-2px)}.elementor-button:active{transform:translateY(0)}
:where(.jic-link .elementor-button){background:transparent;color:var(--e-global-color-primary);padding:0 0 9px;border-bottom:1px solid var(--e-global-color-accent)}
.jic-link .elementor-button-text::after{content:'\2197';display:inline-block;margin-left:23px;transition:transform .3s}.jic-link a:hover .elementor-button-text::after{transform:translate(3px,-3px)}
:where(.jic-shell){max-width:1320px;margin-inline:auto}
:where(.jic-header){height:80px;border-bottom:1px solid var(--e-global-color-line,#dedad4);background:var(--e-global-color-surface)}
.elementor-location-header{position:relative;z-index:20}
:where(.jic-logo img){width:120px;height:auto;display:block}
.jic-nav{color:var(--jic-nav-color,var(--e-global-color-secondary));font-size:13px;font-weight:500}
.jic-links{display:flex;gap:32px;align-items:center}.jic-links a{text-decoration:none;position:relative;padding:12px 0;white-space:nowrap}.jic-links a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--jic-nav-accent,var(--e-global-color-primary));transform:scaleX(0);transform-origin:left;transition:transform .25s}
.jic-links a:hover::after,.jic-links a[aria-current=page]::after{transform:scaleX(1)}.jic-links a:hover{color:var(--jic-nav-accent,var(--e-global-color-primary))}.jic-menu-toggle{display:none}
:where(.jic-hero-photo img){height:530px;width:100%;object-fit:cover;object-position:51% 45%;clip-path:polygon(10% 0,100% 0,100% 90%,90% 100%,0 100%,0 10%)}
.jic-hero-photo{position:relative}.jic-hero-photo::before{content:'';position:absolute;width:46%;height:42%;right:-9px;bottom:-9px;background:var(--e-global-color-accent);clip-path:polygon(100% 0,100% 75%,75% 100%,0 100%,0 97%,73% 97%,97% 73%,97% 0)}
:where(.jic-section){padding-block:90px}
:where(.jic-rule){border-top:1px solid var(--e-global-color-line)}
:where(.jic-service-panel){border-top:1px solid var(--e-global-color-accent);padding-top:32px}
:where(.jic-principle){border-top:1px solid var(--e-global-color-line);padding-block:27px}
:where(.jic-profile-image img){width:100%;height:460px;object-fit:cover;object-position:center top}
:where(.jic-article-image img){width:100%;height:330px;object-fit:cover}
:where(.jic-footer){border-top:1px solid var(--e-global-color-line)}
.jic-footer a{text-decoration:none}.jic-footer a:hover{text-decoration:underline}
:where(.jic-regulation){border-top:1px solid var(--e-global-color-line)}
:where(.jic-prose){max-width:780px}.jic-prose p{margin:0 0 1.4em}.jic-prose ul{padding-left:1.3em}.jic-prose li{margin-bottom:8px}
.jic-prose table{border-collapse:collapse;width:100%;font-size:15px}.jic-prose th,.jic-prose td{text-align:left;padding:18px 14px;border-bottom:1px solid var(--e-global-color-line);vertical-align:top}.jic-prose th{color:var(--e-global-color-secondary)}
.jic-prose .elementor-widget-text-editor{overflow-x:auto}
.jic-sticky{position:sticky;top:40px;align-self:flex-start}
.jic-reveal{transition:opacity .85s var(--jic-ease),transform .85s var(--jic-ease)}.jic-reveal-pending{opacity:0;transform:translateY(24px)}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.jic-hero-copy>.elementor-widget{animation:jic-enter .85s var(--jic-ease) both}.jic-hero-copy>.elementor-widget:nth-child(2){animation-delay:.09s}.jic-hero-copy>.elementor-widget:nth-child(3){animation-delay:.18s}.jic-hero-copy>.elementor-widget:nth-child(4){animation-delay:.27s}.jic-hero-photo{animation:jic-enter 1.1s .1s var(--jic-ease) both}@keyframes jic-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-color-scheme:dark){body[class*=elementor-kit]{--e-global-color-primary:var(--e-global-color-darkprimary,#e9b9bb);--e-global-color-secondary:var(--e-global-color-darkheading,#f5f0eb);--e-global-color-text:var(--e-global-color-darktext,#c7bfba);--e-global-color-surface:var(--e-global-color-darksurface,#211b1d);--e-global-color-soft:var(--e-global-color-darksoft,#2c2427);--e-global-color-line:var(--e-global-color-darkline,#514348)}.jic-solid .elementor-button{color:var(--e-global-color-darksurface,#211b1d)}}
@media(max-width:1024px){.jic-links{gap:20px}.jic-sticky{position:static}.jic-hero-photo img{height:470px}}
@media(max-width:767px){.jic-links{display:none;position:absolute;top:80px;left:0;right:0;padding:20px 24px 30px;background:var(--jic-nav-surface,var(--e-global-color-surface));border-bottom:1px solid var(--e-global-color-line);box-shadow:0 20px 25px #3020200c;flex-direction:column;align-items:stretch;gap:3px}.jic-links a{padding:11px 0;font-size:17px}.jic-menu-toggle{display:flex;align-items:center;gap:18px;border:0;background:transparent;color:inherit;min-height:44px;padding:9px 0}.jic-menu-toggle span{font-size:25px;font-weight:300;transition:transform .25s}.jic-menu-toggle[aria-expanded=true] span{transform:rotate(45deg)}.jic-menu-toggle[aria-expanded=true]+.jic-links{display:flex}.jic-hero-photo img{height:350px}.jic-hero-photo::before{right:-5px;bottom:-5px}.jic-profile-image img{height:auto;max-height:500px;object-fit:contain;object-position:left}.jic-article-image img{height:240px}.jic-prose table{min-width:590px}.jic-section{padding-block:56px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.jic-reveal-pending{opacity:1;transform:none}.elementor-button:hover{transform:none}}
body.elementor-editor-active .jic-reveal{opacity:1;transform:none;animation:none}
/* These selectors outrank Elementor's generic reset, while per-element editor styles still win. */
.e-con.jic-shell{max-width:1320px;margin-inline:auto}
.elementor-widget-button.jic-link .elementor-button{background:transparent;padding:0 0 9px;border:0;border-bottom:1px solid var(--e-global-color-accent);border-radius:0}
.elementor-widget-button .elementor-button{border-radius:0}
.elementor-widget-image.jic-logo img{display:block;width:120px;height:auto}
.elementor-widget-image.jic-hero-photo img{height:530px;width:100%;object-fit:cover;object-position:51% 45%;clip-path:polygon(10% 0,100% 0,100% 90%,90% 100%,0 100%,0 10%)}
.elementor-widget-image.jic-profile-image img{width:100%;height:460px;object-fit:cover;object-position:center top}
.elementor-widget-image.jic-article-image img{width:100%;height:330px;object-fit:cover}
.elementor-widget-image.jic-logo{text-align:left}
@media(max-width:1024px){.elementor-widget-image.jic-hero-photo img{height:470px}}
@media(max-width:767px){.elementor-widget-image.jic-hero-photo img{height:350px}.elementor-widget-image.jic-profile-image img{height:auto;max-height:500px;object-fit:contain;object-position:left}.elementor-widget-image.jic-article-image img{height:240px}}
/* Client review: readable branding, persistent navigation and balanced editorial layouts. */
.elementor-location-header{position:sticky;top:0;background:var(--e-global-color-surface,#faf9f6);box-shadow:0 3px 16px #30202008}
.admin-bar .elementor-location-header{top:32px}
.jic-nav{font-size:16px}
.jic-logo .elementor-widget-container{position:relative;width:190px;height:64px;overflow:hidden;background:#802734}
.elementor-widget-image.jic-logo img{position:absolute;width:380px;max-width:none;height:auto;left:50%;top:50%;transform:translate(-50%,-50%)}
.elementor-widget-text-editor p,.elementor-widget-text-editor li{text-align:justify;text-justify:inter-word}
/* Keep justified copy readable: wrap at word boundaries, including in Safari. */
body,.elementor-widget-text-editor,.elementor p,.elementor li,.elementor h1,.elementor h2,.elementor h3,.elementor h4,.elementor h5,.elementor h6,.elementor td,.elementor th{
  -webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:normal;
}
.jic-footer .elementor-widget-text-editor p,.jic-regulation .elementor-widget-text-editor p{text-align:left}
.e-con.jic-editorial{max-width:960px}
.jic-editorial .e-con.jic-prose{width:100%;max-width:none}
.jic-sticky{top:110px}
[id]{scroll-margin-top:110px}
.elementor-widget-image.jic-wide-photo img{width:100%;height:300px;object-fit:cover;object-position:center 55%}
.jic-top-marker{position:absolute;top:0;height:450px;width:1px;pointer-events:none}
.jic-back-top{position:fixed;bottom:24px;right:24px;z-index:25;display:flex;align-items:center;gap:9px;border:1px solid var(--e-global-color-accent,#bc9555);background:var(--e-global-color-primary,#802734);color:var(--e-global-color-surface,#faf9f6);padding:10px 16px;min-height:48px;cursor:pointer;box-shadow:0 4px 20px #30202020}
.jic-back-top[hidden]{display:none}
.jic-back-top span{display:none}
.jic-articles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 40px}
.jic-news-card{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid var(--e-global-color-line);padding-bottom:28px}
.jic-news-card>a{display:block;overflow:hidden}
.jic-news-card img{display:block;width:100%;height:300px;object-fit:cover;transition:transform .5s}
.jic-news-card>a:hover img{transform:scale(1.035)}
.jic-news-card-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding-top:24px}
.jic-news-card h2{font-family:Georgia,serif;font-size:32px;font-weight:400;line-height:1.2;color:var(--e-global-color-primary);margin:0 0 20px}
.jic-news-card h2 a{text-decoration:none}
.jic-news-card p{margin:0 0 22px;text-align:justify}
.jic-news-card .jic-article-language{font-size:13px;text-align:left;margin-bottom:14px}
.jic-read-article{margin-top:auto;text-decoration:none;border-bottom:1px solid var(--e-global-color-accent);padding-bottom:6px;color:var(--e-global-color-primary)}
.jic-read-article span[aria-hidden]{margin-left:16px}
.jic-pagination{display:flex;justify-content:center;gap:12px;margin-top:40px}.jic-pagination .page-numbers{padding:8px 16px}.jic-pagination .current{background:var(--e-global-color-primary);color:var(--e-global-color-surface)}
@media(prefers-reduced-motion:no-preference){.home .jic-hero-photo{overflow:hidden}.home .jic-hero-photo img{animation:jic-banner-drift 5s ease-out both;transform-origin:center}@keyframes jic-banner-drift{from{transform:scale(1)}to{transform:scale(1.07)}}}
@media(max-width:1024px){.jic-links{gap:18px}.jic-nav{font-size:16px}}
@media(max-width:782px){.admin-bar .elementor-location-header{top:46px}}
@media(max-width:767px){.jic-logo .elementor-widget-container{width:170px;height:60px}.elementor-widget-image.jic-logo img{width:340px}.jic-articles-grid{grid-template-columns:1fr;gap:36px}.jic-news-card img{height:240px}.jic-news-card h2{font-size:28px}.jic-back-top{right:16px;bottom:16px;padding:8px 13px}.jic-back-top span{display:none}.elementor-widget-image.jic-wide-photo img{height:220px}.jic-sticky{position:static}}
@media(max-width:600px){.admin-bar .elementor-location-header{top:0}}

@media(max-width:767px){.jic-header>.e-con>.e-con:last-child{width:auto;flex:1;min-width:0}.jic-header>.e-con>.e-con:first-child{flex-shrink:0}}
.elementor-widget-image.jic-logo{position:relative;width:190px;height:64px;overflow:hidden;background:#802734;flex-shrink:0}
@media(max-width:767px){.elementor-widget-image.jic-logo{width:170px;height:60px}}
.elementor .jic-news-card img{height:300px;object-fit:cover}
.elementor .jic-news-card h2{font-size:32px;line-height:1.2}
@media(max-width:767px){.elementor .jic-news-card img{height:240px}.elementor .jic-news-card h2{font-size:28px}}
/* Homepage entrance effects with the original page background and Elementor colors. */
.home .jic-hero{position:relative}
.home .jic-hero-copy{position:relative;z-index:2}
.home .jic-hero-copy>.elementor-widget{animation:jic-copy-reveal 1.15s cubic-bezier(.16,1,.3,1) both}
.home .jic-hero-copy>.elementor-widget:nth-child(2){animation-delay:.16s}
.home .jic-hero-copy>.elementor-widget:nth-child(3){animation-delay:.32s}
.home .jic-hero-copy>.elementor-widget:nth-child(4){animation-delay:.48s}
.home .jic-hero .jic-hero-photo{overflow:hidden;clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%);animation:jic-photo-reveal 1.6s cubic-bezier(.16,1,.3,1) both}
.home .jic-hero .jic-hero-photo img{clip-path:none;animation:jic-photo-travel 4s ease-out both;filter:saturate(.85) contrast(1.06)}
.home .jic-hero .jic-hero-photo::before{inset:0;width:auto;height:auto;clip-path:none;background:linear-gradient(135deg,#efc99020,transparent 45%,#27151c55);z-index:1;pointer-events:none}
.home .jic-hero .jic-hero-photo::after{content:'';position:absolute;inset:-50%;pointer-events:none;background:linear-gradient(110deg,transparent 40%,#fff0cd26 49%,transparent 58%);animation:jic-light-sweep 4s ease-in-out both;z-index:2}
@keyframes jic-copy-reveal{from{opacity:0;transform:translateY(35px);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes jic-photo-reveal{from{opacity:0;clip-path:polygon(0 0,0 0,0 100%,0 100%,0 100%,0 0)}to{opacity:1;clip-path:polygon(12% 0,100% 0,100% 88%,88% 100%,0 100%,0 12%)}}
@keyframes jic-photo-travel{from{transform:scale(1.16)}to{transform:scale(1.04)}}
@keyframes jic-light-sweep{from{transform:translateX(-65%)}to{transform:translateX(65%)}}
@media(prefers-reduced-motion:reduce){.home .jic-hero *,.home .jic-hero *::after{animation:none!important}.home .jic-hero .jic-hero-photo img{transform:none}.home .jic-hero .jic-hero-photo::after{display:none}}
body.elementor-editor-active .jic-hero *{animation:none!important}
.jic-back-top{width:48px;height:48px;padding:0;gap:0;border-radius:0;justify-content:center;line-height:1;font-size:20px}
/* Mobile dropdown is anchored to the full header, not Elementor's narrow menu widget. */
@media(max-width:767px){
  .elementor-location-header .e-con,
  .elementor-location-header .elementor-widget-jic-navigation,
  .elementor-location-header .elementor-widget-jic-navigation .elementor-widget-container{position:static}
  .elementor-location-header .jic-links{
    top:100%;left:0;right:0;width:auto;min-width:0;
    max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;
    padding:16px 22px 24px;
    background:var(--jic-nav-surface,var(--e-global-color-surface,#faf9f6));
  }
  .elementor-location-header .jic-links a{white-space:normal;overflow-wrap:anywhere;padding:12px 0}
}
/* Elementor's container positioning must not keep the desktop top offset when columns stack. */
@media(max-width:1024px){
  .elementor .elementor-element.jic-sticky{position:static;top:auto;align-self:stretch}
}
