.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --il-red:#871414; --il-red-800:#6F1111; --il-red-900:#5A0D0D; --il-red-950:#3A0808; --il-gold:#B5B266; --il-gold-600:#97915E; --il-gold-700:#7F7B3F; --il-bronze:#A88052; --il-cream:#F2EEE6; --il-paper:#FBF9F5; --il-sand:#E7DAC4; --il-stone-200:#E3DED5; --il-ink:#111111; --il-ink-800:#2A2826; --il-ink-600:#4F4B47; --il-white:#FFFFFF; --il-font-display:Noto Sans Thai; --il-font-body:Noto Sans Thai; --il-font-latin:Poppins; --il-bronze-700:#86633C; --il-font-prose:Sarabun; }
/* Start custom CSS *//* ==== Intimate Lawyer: site-wide CSS (Site Settings > Custom CSS) ==== */
/* Tokens live in Elementor global variables (--il-*). This file only holds
   what the element style panel cannot express: nested .elementor-kit-6s, states,
   pseudo-elements and page-aware rules. */

/* 1. Base */
body{font-family:var(--il-font-body,'Noto Sans Thai'),sans-serif;color:var(--il-ink-800,#2A2826);background:#fff;-webkit-font-smoothing:antialiased;}
::selection{background:#E2DFBE;color:#111;}
:focus-visible{outline:3px solid rgba(181,178,102,.85);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;}}

/* 2. Highlight word in headings: wrap with <em> (or press Italic in the editor) */
.e-heading-base em{font-style:normal;color:var(--il-red,#871414);}
.il-on-brand em,.il-hero-title em,.il-tm-hero-title em{font-style:normal;color:var(--il-gold,#B5B266);}

/* 3. Header dropdown: hover / keyboard focus opens the panel */
.elementor .il-hd-menu>.il-hd-dd-panel{display:none;}
.elementor .il-hd-menu:hover>.il-hd-dd-panel,
.elementor .il-hd-menu:focus-within>.il-hd-dd-panel{display:flex;}
.il-hd-menu-btn::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg);transition:transform .2s ease-out;}
.il-hd-menu:hover .il-hd-menu-btn::after,.il-hd-menu:focus-within .il-hd-menu-btn::after{transform:translateY(1px) rotate(225deg);}
.elementor .il-hd-dd-panel{border-top:3px solid var(--il-red,#871414);}

/* 4. Current page in the header menu (body class elementor-page-{ID}) */
.elementor-page-9 .elementor .il-nk-about,
.elementor-page-134 .elementor .il-nk-services,
.elementor-page-10 .elementor .il-nk-team{color:var(--il-gold,#B5B266);box-shadow:inset 0 -2px 0 var(--il-gold,#B5B266);}
.elementor-page-11 .elementor .il-hd-menu-btn,
.elementor-page-12 .elementor .il-hd-menu-btn,
.elementor-page-13 .elementor .il-hd-menu-btn,
.elementor-page-14 .elementor .il-hd-menu-btn{color:var(--il-gold,#B5B266);box-shadow:inset 0 -2px 0 var(--il-gold,#B5B266);}
.elementor-page-11 .elementor .il-nk-articles,
.elementor-page-12 .elementor .il-nk-cases,
.elementor-page-13 .elementor .il-nk-news,
.elementor-page-14 .elementor .il-nk-faq{color:var(--il-red,#871414);background-color:var(--il-cream,#F2EEE6);}
.elementor-page-15 .elementor .il-hd-cta{background-color:var(--il-red-900,#5A0D0D);}

/* 5. Blog archive (template 248): the posts page (/blog, body.blog) gets a fixed title;
   category and other archives keep the dynamic archive title. */
body.blog [data-id="2905e12e"],body.blog [data-id="31bb5141"],
body:not(.blog) [data-id="6718fdf1"],body:not(.blog) [data-id="65c0ff91"]{display:none;}
body.blog .elementor .il-hd-menu-btn,body.category .elementor .il-hd-menu-btn,body.single-post .elementor .il-hd-menu-btn{color:var(--il-gold,#B5B266);box-shadow:inset 0 -2px 0 var(--il-gold,#B5B266);}
body.blog .elementor .il-nk-articles,body.category .elementor .il-nk-articles,body.single-post .elementor .il-nk-articles{color:var(--il-red,#871414);background-color:var(--il-cream,#F2EEE6);}

/* 6. Article body (single post template 297, .il-prose wraps Post Content).
   Site text is Noto Sans Thai (il-font-body); only post content uses Sarabun (il-font-prose). */
.elementor .il-prose,.il-prose p,.il-prose li,.il-prose blockquote{font-family:var(--il-font-prose,'Sarabun'),sans-serif;}
.il-prose p{margin:0 0 1.15em;}
.il-prose h2,.il-prose h3,.il-prose h4{font-family:var(--il-font-display,'Noto Sans Thai'),sans-serif;color:var(--il-ink,#111);font-weight:700;line-height:1.4;margin:1.8em 0 .6em;}
.il-prose h2{font-size:28px;padding-left:16px;border-left:4px solid var(--il-gold,#B5B266);}
.il-prose h3{font-size:22px;}
.il-prose h4{font-size:19px;}
.il-prose ul,.il-prose ol{margin:0 0 1.3em;padding-left:1.4em;}
.il-prose li{margin:0 0 .45em;padding-left:.2em;}
.il-prose li::marker{color:var(--il-red,#871414);}
.il-prose a{color:var(--il-red,#871414);text-decoration:underline;text-underline-offset:3px;}
.il-prose a:hover{color:var(--il-red-900,#5A0D0D);}
.il-prose strong{color:var(--il-ink,#111);}
.il-prose em{font-style:italic;color:var(--il-ink-500,#6B6660);}
.il-prose blockquote{margin:1.6em 0;padding:20px 24px;background:var(--il-cream,#F2EEE6);border-left:4px solid var(--il-red,#871414);font-size:19px;}
.il-prose blockquote p:last-child{margin:0;}
.il-prose img{max-width:100%;height:auto;margin:1.2em 0;}
.il-prose>*:first-child,.il-prose .elementor-widget-container>*:first-child{margin-top:0;}
@media (max-width:767px){.il-prose{font-size:17px;}.il-prose h2{font-size:23px;}.il-prose h3{font-size:20px;}}

/* 7. Services page (134): tab menu (Defency-style service list), list dashes */
.elementor .il-sd-tab::after{content:"";flex-shrink:0;width:8px;height:8px;margin-left:16px;border:solid currentColor;border-width:2px 2px 0 0;transform:rotate(45deg);opacity:.55;transition:transform .2s ease-out,opacity .2s ease-out;}
.elementor .il-sd-tab:hover::after{transform:translateX(3px) rotate(45deg);opacity:1;}
.elementor .il-sd-tab[aria-selected="true"]{background-color:var(--il-ink,#111);border-color:var(--il-ink,#111);color:var(--il-gold,#B5B266);box-shadow:inset 4px 0 0 var(--il-red,#871414);}
.elementor .il-sd-tab[aria-selected="true"]::after{opacity:1;}
.elementor .il-sd-tab:focus-visible{outline:3px solid rgba(181,178,102,.85);outline-offset:2px;}
.il-sd-item::before{content:"";position:absolute;left:0;top:calc(13px + .8em);width:12px;height:2px;background:var(--il-gold,#B5B266);}

/* 8. Mobile/tablet header menu (header 175, .il-mnav = native <details>, no JS) */
@media (max-width:1024px){.elementor .il-hd>.il-hd-nav,.elementor .il-hd>.il-hd-cta{display:none;}}
.il-mnav-btn{list-style:none;}
.il-mnav-btn::-webkit-details-marker,.il-mnav-btn::marker{display:none;content:"";}
.il-mnav details[open] .il-mnav-ico-open,.il-mnav details:not([open]) .il-mnav-ico-close{display:none;}
.il-mnav details[open] .il-mnav-btn{border-color:var(--il-gold,#B5B266);background-color:rgba(181,178,102,.12);}
.elementor-page-9 .elementor .il-mnav-panel .il-nk-about,
.elementor-page-134 .elementor .il-mnav-panel .il-nk-services,
.elementor-page-10 .elementor .il-mnav-panel .il-nk-team{color:var(--il-gold,#B5B266);box-shadow:none;}
.elementor-page-11 .elementor .il-mnav-panel .il-nk-articles,body.blog .elementor .il-mnav-panel .il-nk-articles,body.category .elementor .il-mnav-panel .il-nk-articles,body.single-post .elementor .il-mnav-panel .il-nk-articles,
.elementor-page-12 .elementor .il-mnav-panel .il-nk-cases,
.elementor-page-13 .elementor .il-mnav-panel .il-nk-news,
.elementor-page-14 .elementor .il-mnav-panel .il-nk-faq{color:var(--il-gold,#B5B266);background-color:transparent;border-color:var(--il-gold,#B5B266);}

/* 9. Home hero full-screen photo album (.il-hero-album > 4 x .il-hero-photo, behind .il-hero-overlay
   and the brand mark). Crossfade 1.5s, each photo ~6s with a slow zoom (Ken Burns), 24s loop. */
@keyframes il-hero-album{0%{opacity:0;transform:scale(1);}6.25%{opacity:1;}25%{opacity:1;}31.25%{opacity:0;transform:scale(1.08);}100%{opacity:0;transform:scale(1.08);}}
.il-hero-album .il-hero-photo{animation:il-hero-album 24s linear infinite;will-change:opacity,transform;}
.il-hero-album .il-hero-photo:nth-child(1){animation-delay:-1.5s;}
.il-hero-album .il-hero-photo:nth-child(2){animation-delay:-19.5s;}
.il-hero-album .il-hero-photo:nth-child(3){animation-delay:-13.5s;}
.il-hero-album .il-hero-photo:nth-child(4){animation-delay:-7.5s;}
@media (prefers-reduced-motion:reduce){.il-hero-album .il-hero-photo:nth-child(1){opacity:1;}}

/* 10. Blog archive pagination (248): [<-] page number [->]. The number comes from the
   ?e-page-35293ff5= request arg, which is empty on page 1, so show "1" */
.il-pg-num:empty::before{content:"1";}
.elementor .il-pg-btn.e--disabled{opacity:.35;pointer-events:none;cursor:default;}

/* 11. Services landing (455): current page in header + FAQ accordion open state (+ turns into x) */
.elementor-page-455 .elementor .il-nk-services{color:var(--il-gold,#B5B266);box-shadow:inset 0 -2px 0 var(--il-gold,#B5B266);}
.elementor-page-455 .elementor .il-mnav-panel .il-nk-services{color:var(--il-gold,#B5B266);box-shadow:none;}
.elementor .il-sv-faq-item[open]{border-color:var(--il-red,#871414);}
.elementor .il-sv-faq-item .il-sv-faq-ico svg{transition:transform .2s ease-out;}
.elementor .il-sv-faq-item[open] .il-sv-faq-ico{transform:none;}
.elementor .il-sv-faq-item[open] .il-sv-faq-ico svg{transform:rotate(45deg);}
.il-sv-faq-head{list-style:none;}
.il-sv-faq-head::-webkit-details-marker{display:none;}
/* Services list accordion (455 "What We Provide"): round toggle, dark when open */
.il-wp-head{list-style:none;}
.il-wp-head::-webkit-details-marker{display:none;}
.elementor .il-wp-item .il-wp-toggle svg{transition:transform .2s ease-out;}
.elementor .il-wp-item[open] .il-wp-toggle{transform:none;background-color:var(--il-ink,#111);border-color:var(--il-ink,#111);color:var(--il-gold,#B5B266);}
.elementor .il-wp-item[open] .il-wp-toggle svg{transform:rotate(45deg);}
.elementor .il-wp-item:hover .il-wp-toggle{border-color:var(--il-gold,#B5B266);}
/* Steps box (455 "How We Work"): a step highlights only on hover/tap */
.elementor .il-wp-step .il-wp-step-pill,.elementor .il-wp-step .il-wp-tile,.elementor .il-wp-step .il-wp-tile-ico{transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;}
.elementor .il-wp-step:hover .il-wp-step-pill,.elementor .il-wp-step:active .il-wp-step-pill{background-color:var(--il-red,#871414);border-color:var(--il-red,#871414);color:var(--il-white,#fff);}
.elementor .il-wp-step:hover .il-wp-tile,.elementor .il-wp-step:active .il-wp-tile{background-color:var(--il-ink,#111);}
.elementor .il-wp-step:hover .il-wp-tile-ico,.elementor .il-wp-step:active .il-wp-tile-ico{color:var(--il-gold,#B5B266);}

/* 12. Eyebrows: sharp block — red on light backgrounds, gold on dark */
body .elementor .il-eyebrow,body .elementor .il-tm-eyebrow,body .elementor .il-sd-eyebrow,body .elementor .il-wp-pill,body .elementor .il-eyebrow-gold,body .elementor .il-tm-eyebrow-gold,body .elementor .il-tm-hero-eyebrow{padding:6px 14px;border-radius:0;border:0;width:fit-content;max-width:100%;}
body .elementor .il-eyebrow,body .elementor .il-tm-eyebrow,body .elementor .il-sd-eyebrow,body .elementor .il-wp-pill{background-color:var(--il-red,#871414);color:var(--il-white,#fff);}
body .elementor .il-eyebrow-gold,body .elementor .il-tm-eyebrow-gold,body .elementor .il-tm-hero-eyebrow{background-color:var(--il-gold,#B5B266);color:var(--il-ink,#111);}
/* Thai-text eyebrows (il-eyebrow / il-eyebrow-gold) keep Noto Sans Thai but match the size of the English il-tm-eyebrow blocks */
body .elementor .il-eyebrow:not(.il-tm-eyebrow),body .elementor .il-eyebrow-gold:not(.il-tm-eyebrow-gold){font-size:13px;letter-spacing:1px;line-height:18px;}

/* 13. Icon boxes: one corner radius everywhere (3px, matches il-svc-icon) */
body .elementor .il-icondisc,body .elementor .il-svc-icon,body .elementor .il-tm-contact-ico,body .elementor .il-tm-work-ico,body .elementor .il-sv-cline-ico,body .elementor .il-sv-serve-ico,body .elementor .il-sd-card-icon,body .elementor .il-ft-social-btn,body .elementor .il-wp-toggle{border-radius:3px;}
/* 14. Home "Knowledge" blog carousel (.il-kn-track = loop layout). CSS-only: horizontal scroll-snap.
   Chrome/Edge also get native arrow buttons + dots (::scroll-button / ::scroll-marker), laid out in
   a grid on the loop wrapper (dots left, arrows right). Absolute/anchor-positioned scroll buttons
   do NOT receive clicks, so keep them in flow. Other browsers get swipe/scroll + thin scrollbar. */
.elementor .e-con:has(>.il-kn-track){display:grid;grid-template-columns:1fr 44px 44px;column-gap:12px;row-gap:32px;align-items:center;}
body .elementor .elementor-element.il-kn-track{grid-column:1/-1;grid-row:1;display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - 64px) / 3.2);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;scroll-marker-group:after;}
.elementor .il-kn-track::-webkit-scrollbar{display:none;}
@media (max-width:1024px){body .elementor .elementor-element.il-kn-track{grid-auto-columns:calc((100% - 24px) / 2.2);}}
@media (max-width:767px){body .elementor .elementor-element.il-kn-track{grid-auto-columns:85%;}}
.elementor .il-kn-track>*{scroll-snap-align:start;min-width:0;}
.il-kn-card a{color:inherit;text-decoration:none;}
.il-kn-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.il-kn-ex{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.il-kn-img img,img.il-kn-img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;}
@supports not .elementor-kit-6(::scroll-button(*)){.elementor .il-kn-track{scrollbar-width:thin;scrollbar-color:var(--il-gold,#B5B266) transparent;padding-bottom:16px;}}
.elementor .il-kn-track::scroll-marker-group{grid-row:2;grid-column:1;display:flex;gap:10px;align-items:center;}
.elementor .il-kn-track>*::scroll-marker{content:"";width:28px;height:3px;background:#E3DED5;}
.elementor .il-kn-track>*::scroll-marker:target-current{background:var(--il-red,#871414);}
.elementor .il-kn-track::scroll-button(*){grid-row:2;width:44px;height:44px;border:1px solid var(--il-ink,#111);border-radius:3px;background:transparent;color:var(--il-ink,#111);font-size:18px;line-height:1;cursor:pointer;transition:background-color .2s ease-out,color .2s ease-out;}
.elementor .il-kn-track::scroll-button(*):hover{background:var(--il-ink,#111);color:var(--il-gold,#B5B266);}
.elementor .il-kn-track::scroll-button(*):disabled{opacity:.3;cursor:default;background:transparent;color:var(--il-ink,#111);}
.elementor .il-kn-track::scroll-button(left){content:"\2190" / "บทความก่อนหน้า";grid-column:2;}
.elementor .il-kn-track::scroll-button(right){content:"\2192" / "บทความถัดไป";grid-column:3;}
/* 15. Attorneys team grid (/our-attorneys/, .il-tm-grid): 4 per row on desktop, last row centred */
@media (min-width:1025px){body .elementor .il-tm-grid{justify-content:center;}body .elementor .il-tm-grid>.il-tm-card{flex:0 1 calc(25% - 21px);}}
/* 16. About "Our Principles" cards: oversized faint icon top-right (.il-pr-ico), text above it */
.elementor .e-con:has(>.il-pr-ico)>*:not(.il-pr-ico){position:relative;z-index:1;}
.elementor .il-pr-ico{transition:opacity .2s ease-out;}
.elementor .e-con:hover>.il-pr-ico{opacity:.3;}
/* 17. About "Our Process" steps (.il-ps-step): hover reveals the icon, gold bar grows, step lightens.
   Touch screens (no hover) always show the icon softly. */
.elementor .il-ps-step{transition:background-color .3s ease-out;}
.elementor .il-ps-step .il-ps-bar{transition:width .3s ease-out;}
.elementor .il-ps-step .il-ps-ico{transform:translateY(10px);transition:opacity .3s ease-out,transform .3s ease-out;}
.elementor .il-ps-step:hover{background-color:rgba(255,255,255,.04);}
.elementor .il-ps-step:hover .il-ps-bar{width:100%;}
.elementor .il-ps-step:hover .il-ps-ico{opacity:1;transform:translateY(0);}
@media (hover:none){.elementor .il-ps-step .il-ps-ico{opacity:.55;transform:none;}}/* Our Process bottom box (ad8b0fb): bold key words in gold */
.elementor [data-id="ad8b0fb"] strong{color:var(--il-gold,#B5B266);}
/* 18. About "Experience" bento (.il-ex-track > 3 x .il-ex-slide): ลักษณะงาน (first tile) full width on top,
   photo left half + content right (its 7-item list in 2 columns); กลุ่มลูกค้า + อุตสาหกรรม in 2 columns below.
   Tablet: photo on top of the big tile. Mobile: no photo, 1 column. */
body .elementor .elementor-element.il-ex-track{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:24px;}
body .elementor .il-ex-track>.il-ex-slide{display:flex;flex-direction:column;min-height:0;}
body .elementor .il-ex-track>.il-ex-slide>*{flex:1 1 auto;}
body .elementor .il-ex-track>.il-ex-slide:first-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;}
body .elementor .il-ex-track>.il-ex-slide>.il-ex-photo{width:100%;height:100%;min-height:0;aspect-ratio:auto;object-fit:cover;display:block;}
body .elementor .il-ex-track [data-id="3b473a72"]{display:grid;grid-template-columns:1fr 1fr;column-gap:32px;}
@media (max-width:1024px){body .elementor .il-ex-track>.il-ex-slide:first-child{display:flex;flex-direction:column;}body .elementor .il-ex-track>.il-ex-slide>.il-ex-photo{flex:0 0 auto;height:auto;aspect-ratio:16/9;}}
@media (max-width:767px){body .elementor .elementor-element.il-ex-track{grid-template-columns:1fr;gap:16px;}body .elementor .il-ex-track>.il-ex-slide>.il-ex-photo{display:none;}body .elementor .il-ex-track [data-id="3b473a72"]{display:flex;}}
.il-ex-item::before{content:"";position:absolute;left:0;top:calc(12px + .85em);width:10px;height:2px;background:var(--il-gold,#B5B266);}
.elementor .il-ex-item:last-child{border-bottom-width:0;}
/* 19. Premium entrance animations: Home 8, About 9, Services 455, Service details 134, Attorneys 10, Contact 15
   (not blog/archive/posts). Hero (first section): staggered rise on load (CSS only). Keyframes use the individual
   translate/scale properties and only a "from" opacity, so hover transforms and faint opacities are untouched.
   prefers-reduced-motion is handled by section 1 (animation:none). */
@keyframes il-rise{from{opacity:0;translate:0 28px;}}
@keyframes il-rise-card{from{opacity:0;translate:0 40px;filter:blur(6px);}}
@keyframes il-settle{from{opacity:0;scale:1.04;}}
@keyframes il-draw{from{opacity:0;scale:0 1;}}
:is([data-elementor-id="8"],[data-elementor-id="9"],[data-elementor-id="455"],[data-elementor-id="134"],[data-elementor-id="10"],[data-elementor-id="15"],[data-elementor-id="14"])>.e-con:first-child .e-con:has(>:is(h1,h2))>*{animation:il-rise .9s cubic-bezier(.2,.7,.2,1) both;}
:is([data-elementor-id="8"],[data-elementor-id="9"],[data-elementor-id="455"],[data-elementor-id="134"],[data-elementor-id="10"],[data-elementor-id="15"],[data-elementor-id="14"])>.e-con:first-child .e-con:has(>:is(h1,h2))>:nth-child(2){animation-delay:.12s;}
:is([data-elementor-id="8"],[data-elementor-id="9"],[data-elementor-id="455"],[data-elementor-id="134"],[data-elementor-id="10"],[data-elementor-id="15"],[data-elementor-id="14"])>.e-con:first-child .e-con:has(>:is(h1,h2))>:nth-child(3){animation-delay:.24s;}
:is([data-elementor-id="8"],[data-elementor-id="9"],[data-elementor-id="455"],[data-elementor-id="134"],[data-elementor-id="10"],[data-elementor-id="15"],[data-elementor-id="14"])>.e-con:first-child .e-con:has(>:is(h1,h2))>:nth-child(4){animation-delay:.36s;}
:is([data-elementor-id="8"],[data-elementor-id="9"],[data-elementor-id="455"],[data-elementor-id="134"],[data-elementor-id="10"],[data-elementor-id="15"],[data-elementor-id="14"])>.e-con:first-child .e-con:has(>:is(h1,h2))>:nth-child(5){animation-delay:.48s;}
:is([data-elementor-id="8"],[data-elementor-id="9"],[data-elementor-id="455"],[data-elementor-id="134"],[data-elementor-id="10"],[data-elementor-id="15"],[data-elementor-id="14"])>.e-con:first-child .e-con:has(>:is(h1,h2))>:nth-child(n+6){animation-delay:.6s;}
:is([data-elementor-id="8"],[data-elementor-id="9"],[data-elementor-id="455"],[data-elementor-id="134"],[data-elementor-id="10"],[data-elementor-id="15"],[data-elementor-id="14"])>.e-con:first-child .e-con:has(>:is(h1,h2))>:is(.il-gold-rule,.il-tm-hero-rule){animation-name:il-draw;transform-origin:left center;}
:is([data-elementor-id="8"],[data-elementor-id="9"],[data-elementor-id="455"],[data-elementor-id="134"],[data-elementor-id="10"],[data-elementor-id="15"],[data-elementor-id="14"])>.e-con:first-child img:not(.il-hero-photo){animation:il-settle 1.2s cubic-bezier(.2,.7,.2,1) .35s both;}
/* Below the hero: reveal on scroll, triggered by the WPCode JS snippet "IL scroll reveal" (adds html.il-anim,
   tags elements .il-rv[-card|-img|-draw] and adds .il-in when 10% visible; then removes the classes so the
   elements' own transitions/hover come back). Without the script nothing is hidden. */
html.il-anim .il-rv{transition:opacity .8s cubic-bezier(.2,.7,.2,1),translate .8s cubic-bezier(.2,.7,.2,1),scale 1.1s cubic-bezier(.2,.7,.2,1),filter .8s ease-out;}
html.il-anim .il-rv:not(.il-in){opacity:0;translate:0 28px;}
html.il-anim .il-rv-card:not(.il-in){translate:0 40px;filter:blur(6px);}
html.il-anim .il-rv-img:not(.il-in){translate:none;scale:1.05;}
html.il-anim .il-rv-draw:not(.il-in){translate:none;scale:0 1;}
/* 20. News archive page (13, /news/): loop layout .il-nw-track = 3-col grid (2 tablet, 1 mobile);
   first card on each page is featured full width (photo left, text right, bigger title). */
body .elementor .elementor-element.il-nw-track{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 32px;}
@media (max-width:1024px){body .elementor .elementor-element.il-nw-track{grid-template-columns:repeat(2,1fr);gap:40px 24px;}}
@media (max-width:767px){body .elementor .elementor-element.il-nw-track{grid-template-columns:1fr;gap:36px;}}
.il-nw-card a{color:inherit;text-decoration:none;}
.il-nw-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.il-nw-ex{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
body .elementor .il-nw-track>:first-child{grid-column:1/-1;}
@media (min-width:768px){
body .elementor .il-nw-track>:first-child .il-nw-card{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;padding:0 0 48px;border-bottom:1px solid #E3DED5;}
body .elementor .il-nw-track>:first-child .il-nw-img{aspect-ratio:16/10;margin:0;}
body .elementor .il-nw-track>:first-child .il-nw-title{font-size:30px;line-height:1.4;-webkit-line-clamp:3;}
body .elementor .il-nw-track>:first-child .il-nw-ex{font-size:16px;-webkit-line-clamp:4;}
}
/* 21. Single NEWS posts (template 680 "IL News Post"): highlight ข่าวสาร instead of บทความกฎหมาย in the header menus */
body.single-post:has([data-elementor-id="680"]) .elementor .il-nk-articles{color:inherit;background-color:transparent;border-color:transparent;}
body.single-post:has([data-elementor-id="680"]) .elementor .il-nk-news{color:var(--il-red,#871414);background-color:var(--il-cream,#F2EEE6);}
body.single-post:has([data-elementor-id="680"]) .elementor .il-mnav-panel .il-nk-news{color:var(--il-gold,#B5B266);background-color:transparent;border-color:var(--il-gold,#B5B266);}
/* 22. Case Insights: archive page 12 (/case-insights/) loop 134d5771 + case post template 693 related loop e5ceafa
   use the Home case-card grid (3 / 2 / 1 columns). Single case posts highlight "Case Insights" in the header. */
body .elementor .elementor-element:is([data-id="134d5771"],[data-id="e5ceafa"]){display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%;max-width:none;}
@media (max-width:1024px){body .elementor .elementor-element:is([data-id="134d5771"],[data-id="e5ceafa"]){grid-template-columns:repeat(2,1fr);}}
@media (max-width:767px){body .elementor .elementor-element:is([data-id="134d5771"],[data-id="e5ceafa"]){grid-template-columns:1fr;gap:16px;}}
:is([data-id="134d5771"],[data-id="e5ceafa"])>*>.il-case-card{height:100%;}
.il-case-card a{color:inherit;text-decoration:none;}
body.single-post:has([data-elementor-id="693"]) .elementor .il-nk-articles{color:inherit;background-color:transparent;border-color:transparent;}
body.single-post:has([data-elementor-id="693"]) .elementor .il-nk-cases{color:var(--il-red,#871414);background-color:var(--il-cream,#F2EEE6);}
body.single-post:has([data-elementor-id="693"]) .elementor .il-mnav-panel .il-nk-cases{color:var(--il-gold,#B5B266);background-color:transparent;border-color:var(--il-gold,#B5B266);}

/* 23. FAQ page (14): topic list sticks on the left on desktop; on tablet/mobile it is a sticky, swipeable bar on top. Active topic (.is-active) comes from the IL scroll reveal snippet */
body .elementor .il-fq-nav{position:sticky;top:32px;flex:0 0 260px;align-self:flex-start;z-index:5;}
body .elementor .il-fq-groups{flex:1 1 0;}
body .elementor .il-fq-link{border-left:2px solid #E3DED5;transition:color .2s ease-out,border-color .2s ease-out,background-color .2s ease-out;}
body .elementor .il-fq-link>a{display:block;padding:12px 18px;cursor:pointer;}
body .elementor .il-fq-link:hover{color:var(--il-red,#871414);}
body .elementor .il-fq-link.is-active{color:var(--il-red,#871414);border-left-color:var(--il-red,#871414);background-color:var(--il-ivory,#FBF9F5);}
body .elementor .il-fq-group{scroll-margin-top:32px;}
body .elementor .il-fq-group .il-sv-faq{margin-top:0;}
@media (max-width:1024px){
body .elementor .il-fq-nav{top:0;z-index:20;flex:0 0 auto;align-self:stretch;flex-direction:row;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;width:calc(100% + 48px);max-width:none;margin:0 -24px;padding:14px 24px;background-color:var(--il-cream,#F2EEE6);box-shadow:0 1px 0 #E3DED5;}
body .elementor .il-fq-nav::-webkit-scrollbar{display:none;}
body .elementor .il-fq-link{flex:0 0 auto;white-space:nowrap;font-size:15px;border:1px solid #E3DED5;border-radius:0;background-color:var(--il-ivory,#FBF9F5);}
body .elementor .il-fq-link>a{padding:8px 18px;}
body .elementor .il-fq-link.is-active{color:var(--il-gold,#B5B266);background-color:var(--il-ink,#111);border-color:var(--il-ink,#111);box-shadow:inset 3px 0 0 var(--il-red,#871414);}
body .elementor .il-fq-group{scroll-margin-top:96px;}
}
@media (max-width:767px){body .elementor .il-fq-nav{width:calc(100% + 32px);margin:0 -16px;padding:12px 16px;}}/* End custom CSS */