/*
 * ITTS Pro — main stylesheet
 * Design system: white / green / gold
 * Spacing scale: 4 8 12 16 24 32 48 64 96 128
 */

/* ---------- Fonts (self-hosted, OFL) ---------- */
@font-face{font-family:"Prompt";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/prompt-thai-400-normal.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;}
@font-face{font-family:"Prompt";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/prompt-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Prompt";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/prompt-thai-500-normal.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;}
@font-face{font-family:"Prompt";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/prompt-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Prompt";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/prompt-thai-600-normal.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;}
@font-face{font-family:"Prompt";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/prompt-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Prompt";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/prompt-thai-700-normal.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC;}
@font-face{font-family:"Prompt";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/prompt-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");}

/* ---------- Tokens ---------- */
:root{
  --itts-bg:#FFFFFF;
  --itts-bg-alt:#F6F8F4;
  --itts-surface:#FFFFFF;
  --itts-ink:#132018;
  --itts-ink-muted:#5C6B61;
  --itts-ink-soft:#8A9690;
  --itts-green:#0E7C4A;
  --itts-green-dark:#0A5C38;
  --itts-green-deep:#0B3D24;
  --itts-dark:#08301D;
  --itts-gold:#C9A227;
  --itts-gold-dark:#9C7B18;
  --itts-border:#E2E8DF;
  --itts-border-strong:#CBD6C7;
  --itts-success:#0E7C4A;
  --itts-warning:#B8720E;
  --itts-error:#B3261E;
  --itts-line:#06C755;

  --fs-display:clamp(34px, 4.4vw, 56px);
  --fs-h1:clamp(30px, 3.4vw, 44px);
  --fs-h2:clamp(26px, 2.6vw, 34px);
  --fs-h3:clamp(19px, 1.7vw, 22px);
  --fs-body:16px;
  --fs-lead:clamp(16px, 1.3vw, 18px);
  --fs-caption:13px;
  --fs-button:15px;
  --fs-price:38px;

  --itts-font:"Prompt", "Noto Sans Thai", "Sukhumvit Set", "Leelawadee UI", Tahoma, sans-serif;
  --itts-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --itts-container:1280px;
  --itts-gutter:80px;
  --itts-section-y:96px;
  --itts-radius:18px;
  --itts-shadow:0 20px 40px rgba(19,32,24,0.08);
  --itts-ease:cubic-bezier(.2,.8,.2,1);
  --itts-header-h:84px;
}
@media (max-width:980px){:root{--itts-gutter:32px;--itts-section-y:80px;}}
@media (max-width:620px){:root{--itts-gutter:20px;--itts-section-y:64px;--fs-price:32px;}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--itts-header-h) + 12px);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{margin:0;font-family:var(--itts-font);font-size:var(--fs-body);line-height:1.7;color:var(--itts-ink);background:var(--itts-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;height:auto;}
a{color:var(--itts-green);text-decoration:none;transition:color .15s ease;}
a:hover{color:var(--itts-green-dark);}
h1,h2,h3,h4,h5,h6{font-family:var(--itts-font);color:var(--itts-ink);letter-spacing:-0.01em;line-height:1.28;font-weight:700;margin:0 0 .5em;text-wrap:balance;}
h1{font-size:var(--fs-h1);}
h2{font-size:var(--fs-h2);}
h3{font-size:var(--fs-h3);font-weight:600;line-height:1.4;}
p{margin:0 0 1em;text-wrap:pretty;}
:focus-visible{outline:3px solid var(--itts-gold);outline-offset:3px;border-radius:6px;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.skip-link:focus{position:fixed;top:12px;left:12px;z-index:1000;width:auto;height:auto;clip:auto;padding:12px 18px;background:#fff;color:var(--itts-ink);border-radius:10px;box-shadow:var(--itts-shadow);}
.itts-mono,.itts-mono *{font-family:var(--itts-mono);}

/* ---------- Header ---------- */
.itts-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--itts-border);transition:box-shadow .2s ease;}
.admin-bar .itts-header{top:32px;}
@media (max-width:782px){.admin-bar .itts-header{top:46px;}}
.itts-header.is-scrolled{box-shadow:0 8px 24px rgba(19,32,24,0.06);}
.itts-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--itts-header-h);padding:12px max(var(--itts-gutter), calc((100% - var(--itts-container)) / 2));}
.itts-brand{display:flex;align-items:center;flex-shrink:0;}
.itts-brand img,.itts-brand .custom-logo{height:52px;width:auto;display:block;}
.itts-nav{flex:1;display:flex;justify-content:center;}
.itts-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:30px;}
.itts-menu>li{position:relative;}
.itts-menu a{position:relative;display:inline-flex;align-items:center;padding:8px 0;font-size:15px;font-weight:500;color:var(--itts-ink);}
.itts-menu>li>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--itts-green);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--itts-ease);}
.itts-menu>li>a:hover,.itts-menu>li.current-menu-item>a,.itts-menu>li.current_page_item>a{color:var(--itts-green);}
.itts-menu>li>a:hover::after,.itts-menu>li.current-menu-item>a::after,.itts-menu>li.current_page_item>a::after{transform:scaleX(1);}
.itts-menu .sub-menu{list-style:none;margin:0;padding:10px;position:absolute;top:100%;left:-14px;min-width:240px;background:#fff;border:1px solid var(--itts-border);border-radius:14px;box-shadow:var(--itts-shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease;}
.itts-menu li:hover>.sub-menu,.itts-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none;}
.itts-menu .sub-menu a{display:flex;padding:9px 12px;border-radius:10px;font-size:14px;width:100%;}
.itts-menu .sub-menu a:hover{background:var(--itts-bg-alt);color:var(--itts-green);}
.itts-menu .menu-item-has-children>a::before{content:"";order:2;width:7px;height:7px;margin-left:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);}
.itts-header__actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.itts-burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--itts-border);background:#fff;cursor:pointer;align-items:center;justify-content:center;color:var(--itts-ink);}
.itts-burger svg{width:22px;height:22px;}
.itts-mobile-nav{border-top:1px solid var(--itts-border);background:#fff;padding:16px var(--itts-gutter) 24px;}
.itts-mobile-nav[hidden]{display:none;}
.itts-mobile-nav .itts-menu{flex-direction:column;align-items:stretch;gap:0;}
.itts-mobile-nav .itts-menu a{padding:14px 4px;font-size:17px;border-bottom:1px solid var(--itts-border);width:100%;}
.itts-mobile-nav .itts-menu>li>a::after{display:none;}
.itts-mobile-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 16px;}
.itts-mobile-nav__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;align-items:center;}
@media (max-width:1100px){.itts-menu{gap:22px;}.itts-header .itts-line-btn{display:none;}}
@media (max-width:980px){.itts-nav{display:none;}.itts-burger{display:inline-flex;}.itts-header__actions .itts-btn{display:none;}.itts-brand img,.itts-brand .custom-logo{height:44px;}:root{--itts-header-h:72px;}}

/* ---------- Buttons (theme + core/button styles) ---------- */
.itts-btn,
.wp-block-button .wp-block-button__link{font-family:var(--itts-font);font-size:var(--fs-button);font-weight:600;line-height:1.3;border-radius:10px;padding:15px 28px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:center;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .18s var(--itts-ease),box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease,filter .18s ease;}
.itts-btn:hover,.wp-block-button .wp-block-button__link:hover{transform:translateY(-2px);}
.itts-btn--primary,
.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-itts-primary .wp-block-button__link{background:linear-gradient(135deg,var(--itts-green),var(--itts-gold));color:#fff;}
.itts-btn--primary:hover,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button.is-style-itts-primary .wp-block-button__link:hover{color:#fff;box-shadow:0 12px 28px rgba(14,124,74,0.28);filter:brightness(1.04);}
.itts-btn--pill{border-radius:999px;padding:11px 22px;}
.itts-btn--outline,
.wp-block-button.is-style-itts-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link{background:#fff;color:var(--itts-ink);border-color:var(--itts-border-strong);}
.itts-btn--outline:hover,
.wp-block-button.is-style-itts-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover{color:var(--itts-ink);border-color:var(--itts-green);background:rgba(14,124,74,0.05);box-shadow:none;filter:none;}
.wp-block-button.is-style-itts-dark .wp-block-button__link{background:var(--itts-ink);color:#fff;border-radius:999px;padding:9px 9px 9px 24px;gap:16px;}
.wp-block-button.is-style-itts-dark .wp-block-button__link::after{content:"";width:42px;height:42px;flex-shrink:0;border-radius:50%;background:var(--itts-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23132018' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .2s ease;}
.wp-block-button.is-style-itts-dark .wp-block-button__link:hover{color:#fff;box-shadow:0 16px 32px rgba(19,32,24,0.22);filter:none;}
.wp-block-button.is-style-itts-dark .wp-block-button__link:hover::after{transform:translate(2px,-2px);}
.wp-block-button.is-style-itts-light .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,0.35);}
.wp-block-button.is-style-itts-light .wp-block-button__link:hover{background:rgba(255,255,255,0.08);border-color:#fff;color:#fff;box-shadow:none;filter:none;}
.wp-block-button.is-style-itts-pill .wp-block-button__link{border-radius:999px;}
.wp-block-buttons{gap:14px;}
.itts-btn--call::before,.wp-block-button.is-call .wp-block-button__link::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.94.36 1.86.67 2.75a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.33-1.33a2 2 0 0 1 2.11-.45c.9.31 1.81.54 2.75.67A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.94.36 1.86.67 2.75a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.33-1.33a2 2 0 0 1 2.11-.45c.9.31 1.81.54 2.75.67A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") center/contain no-repeat;}
.itts-line-btn{display:inline-flex;flex-shrink:0;transition:transform .18s var(--itts-ease),filter .18s ease;}
.itts-line-btn img{display:block;width:auto;height:50px;}
.itts-line-btn:hover{transform:translateY(-2px) scale(1.02);filter:drop-shadow(0 10px 18px rgba(6,160,40,0.28));}

/* ---------- Page shell ---------- */
.itts-main{display:block;overflow-x:clip;}
.itts-main > *:not(.itts-section):not(.alignfull):not(.alignwide){max-width:860px;margin-left:auto;margin-right:auto;padding-left:var(--itts-gutter);padding-right:var(--itts-gutter);}
.itts-main > .alignwide{max-width:var(--itts-container);margin-left:auto;margin-right:auto;}

/* Sections: full width, inner width via padding */
.itts-section{position:relative;margin:0!important;padding:var(--itts-section-y) max(var(--itts-gutter), calc((100% - var(--itts-container)) / 2));max-width:none!important;}
.itts-section.is-tight{padding-top:24px;padding-bottom:24px;}
.itts-section.is-alt{background:var(--itts-bg-alt);}
.itts-section.has-border-top{border-top:1px solid var(--itts-border);}
.itts-section.has-border-y{border-top:1px solid var(--itts-border);border-bottom:1px solid var(--itts-border);}
.itts-section.has-glow::before{content:"";position:absolute;top:40px;right:-120px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,0.12),rgba(201,162,39,0) 65%);pointer-events:none;}
.itts-section > *{position:relative;}
/* flow spacing inside sections */
.itts-section > * + *{margin-top:56px;}
.itts-section > .itts-section-head + *{margin-top:0;}

/* Section head */
.itts-section-head{max-width:720px;margin:0 auto 56px!important;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;}
.itts-section-head > *{margin:0!important;}
.itts-section-head.is-left{margin-left:0!important;text-align:left;align-items:flex-start;}
.itts-eyebrow{font-size:var(--fs-caption);letter-spacing:1px;color:var(--itts-green);font-weight:700;margin:0;text-transform:none;}
.itts-eyebrow.is-mono{font-family:var(--itts-mono);font-weight:500;font-size:12px;letter-spacing:1.6px;}
.itts-lead{font-size:var(--fs-lead);line-height:1.8;color:var(--itts-ink-muted);}
.itts-muted{color:var(--itts-ink-muted);}
.itts-small{font-size:14px;line-height:1.8;color:var(--itts-ink-muted);}
.itts-display{font-size:var(--fs-display)!important;line-height:1.18!important;}
.itts-display.has-dot::after{content:".";color:var(--itts-gold-dark);}
.itts-h1{font-size:var(--fs-h1)!important;line-height:1.22!important;}

/* Stacks (text columns) */
.itts-stack{display:flex;flex-direction:column;gap:22px;}
.itts-stack > *{margin:0!important;}
.itts-stack.is-tight{gap:12px;}

/* Grids */
.itts-grid{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr));}
.itts-grid > *{margin:0!important;min-width:0;}
.itts-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.itts-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.itts-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.itts-grid.cols-5{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;}
.itts-grid.is-wide-left{grid-template-columns:1.2fr .8fr;}
.itts-grid.gap-sm{gap:18px;}
@media (max-width:980px){
  .itts-grid.cols-3,.itts-grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .itts-grid.cols-5{grid-template-columns:repeat(3,minmax(0,1fr));}
  .itts-grid.cols-2,.itts-grid.is-wide-left{grid-template-columns:1fr;}
}
@media (max-width:620px){
  .itts-grid.cols-3,.itts-grid.cols-4{grid-template-columns:1fr;}
  .itts-grid.cols-4.keep-2,.itts-grid.cols-3.keep-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .itts-grid.cols-5{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Columns (core/columns) inside sections */
.itts-split.wp-block-columns{gap:56px;align-items:center!important;margin-bottom:0;}
.itts-split.is-top.wp-block-columns{align-items:flex-start!important;}
@media (max-width:781px){.itts-split.wp-block-columns{gap:40px;}}

/* ---------- Cards ---------- */
.itts-card{position:relative;background:#fff;border:1px solid var(--itts-border);border-radius:var(--itts-radius);padding:32px;display:flex;flex-direction:column;gap:16px;transition:transform .22s var(--itts-ease),box-shadow .22s ease,border-color .22s ease;}
.itts-card > *{margin:0!important;}
.itts-card:hover{transform:translateY(-4px);border-color:rgba(14,124,74,0.4);box-shadow:var(--itts-shadow);}
.itts-card.is-green{background:linear-gradient(160deg,rgba(14,124,74,0.05),#fff);}
.itts-card.is-gold{background:linear-gradient(160deg,rgba(201,162,39,0.07),#fff);}
.itts-card.is-deepgreen{background:linear-gradient(160deg,rgba(10,92,56,0.06),#fff);}
.itts-card.is-featured{border-color:var(--itts-gold);}
.itts-card.is-flat:hover{transform:none;box-shadow:none;border-color:var(--itts-border);}
.itts-card.is-deep{background:var(--itts-green-deep);border-color:var(--itts-green-deep);color:#E9F2EA;}
.itts-card.is-deep h3,.itts-card.is-deep h2{color:#fff;}
.itts-card.is-deep:hover{border-color:var(--itts-green-deep);}
.itts-card h3{margin:0;}
.itts-card .itts-card-kicker{font-size:var(--fs-caption);color:var(--itts-ink-soft);font-weight:600;margin-bottom:-10px!important;}
.itts-card .itts-link{font-size:14px;font-weight:600;margin-top:auto!important;}
.itts-card .itts-link a{color:var(--itts-green);}
.itts-card.is-gold .itts-link a{color:var(--itts-gold-dark);}
.itts-card.is-deepgreen .itts-link a{color:var(--itts-green-dark);}
.itts-badge{position:absolute!important;top:-12px;right:24px;background:var(--itts-gold);color:var(--itts-ink);font-size:11px!important;font-weight:700;line-height:1.4;padding:4px 12px;border-radius:999px;margin:0!important;}
.itts-card-num{font-family:var(--itts-mono);font-size:13px;color:var(--itts-gold-dark);font-weight:500;letter-spacing:.5px;}
.itts-card .itts-media{border:1px solid var(--itts-border);border-radius:14px;overflow:hidden;background:#fff;height:190px;display:flex;align-items:center;justify-content:center;padding:12px;}
.itts-card .itts-media.is-alt{background:var(--itts-bg-alt);}
.itts-card .itts-media img{max-height:100%;width:auto;max-width:100%;object-fit:contain;transition:transform .35s var(--itts-ease);}
.itts-card:hover .itts-media img{transform:scale(1.05);}
figure.itts-media{margin:0;}

/* Icons */
.itts-icon{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(14,124,74,0.10);color:var(--itts-green);}
.itts-icon svg{width:26px;height:26px;}
.itts-icon.is-gold{background:rgba(201,162,39,0.14);color:var(--itts-gold-dark);}
.itts-icon.is-deep{background:rgba(10,92,56,0.10);color:var(--itts-green-dark);}
.itts-icon.is-plain{background:none;width:auto;height:auto;border-radius:0;}
.itts-icon.is-plain svg{width:30px;height:30px;}
.itts-icon.is-sm{width:24px;height:24px;background:none;}
.itts-icon.is-sm svg{width:24px;height:24px;}

/* Lists */
ul.itts-checklist,ol.itts-checklist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
ul.itts-checklist li{position:relative;padding-left:32px;font-size:15px;line-height:1.7;color:var(--itts-ink);}
ul.itts-checklist li::before{content:"";position:absolute;left:0;top:4px;width:20px;height:20px;background:var(--itts-green);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;}
ul.itts-checklist.is-gold li::before{background:var(--itts-gold);}
ul.itts-checklist.is-compact{gap:10px;}
ul.itts-checklist.is-compact li{font-size:14px;padding-left:28px;}
ul.itts-checklist.is-compact li::before{width:16px;height:16px;top:5px;}
ul.itts-dots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
ul.itts-dots li{font-size:13.5px;color:var(--itts-ink-muted);padding-left:14px;position:relative;}
ul.itts-dots li::before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7;}
ul.itts-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;}
ul.itts-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border-radius:999px;background:rgba(14,124,74,0.07);color:var(--itts-green-dark);font-size:13px;font-weight:600;line-height:1.4;}
ul.itts-chips li::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;}
ul.itts-chips.is-white li{background:#fff;border:1px solid var(--itts-border);color:var(--itts-ink);}
ul.itts-chips.is-white li::before{background:var(--itts-gold-dark);}
ul.itts-chips.is-ghost li{background:transparent;border:1px solid rgba(255,255,255,0.16);color:rgba(233,242,234,0.85);font-weight:500;font-size:12px;padding:6px 12px;}
ul.itts-chips.is-ghost li::before{display:none;}
ul.itts-meta{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:var(--fs-caption);color:var(--itts-ink-muted);}
ul.itts-meta li{position:relative;}
ul.itts-meta li + li::before{content:"·";position:absolute;left:-14px;color:var(--itts-ink-soft);}
ul.itts-trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:var(--fs-caption);color:var(--itts-ink-muted);}
ol.itts-numbered{list-style:none;counter-reset:n;margin:0;padding:0;}
ol.itts-numbered li{counter-increment:n;display:flex;gap:16px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--itts-border);font-size:14.5px;line-height:1.6;color:var(--itts-ink);}
ol.itts-numbered li:last-child{border-bottom:0;}
ol.itts-numbered li::before{content:counter(n,decimal-leading-zero);font-family:var(--itts-mono);font-size:14px;color:var(--itts-gold-dark);min-width:28px;}
ol.itts-numbered li:last-child::before{color:var(--itts-green);}

/* ---------- Hero ---------- */
.itts-hero{overflow:hidden;padding-top:96px!important;padding-bottom:88px!important;}
.itts-hero::before{content:"";position:absolute;top:-200px;right:-140px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(14,124,74,0.09),rgba(14,124,74,0) 70%);pointer-events:none;}
.itts-hero::after{content:"";position:absolute;bottom:-240px;left:-160px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,0.10),rgba(201,162,39,0) 70%);pointer-events:none;}
.itts-hero .itts-split{position:relative;z-index:1;}
.itts-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;border:1px solid rgba(14,124,74,0.35);background:rgba(14,124,74,0.06);font-size:var(--fs-caption);color:var(--itts-green);font-weight:600;width:fit-content;line-height:1.5;}
.itts-hero-visual{position:relative;height:460px;}
.itts-hero-visual .hv-card{position:absolute;padding:20px;border-radius:16px;background:rgba(255,255,255,0.98);box-shadow:0 24px 60px rgba(19,32,24,0.14);border:1px solid rgba(14,124,74,0.22);font-size:12px;color:var(--itts-ink-muted);line-height:1.6;}
.itts-hero-visual .hv-card strong{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--itts-ink);font-weight:600;}
.itts-hero-visual .hv-card svg{width:20px;height:20px;flex-shrink:0;}
.itts-hero-visual .hv-1{top:16px;left:6px;width:300px;padding:22px;}
.itts-hero-visual .hv-2{top:202px;right:0;width:260px;border-color:rgba(201,162,39,0.32);}
.itts-hero-visual .hv-3{bottom:6px;left:40px;width:270px;border-color:rgba(10,92,56,0.28);}
.itts-hero-visual .hv-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;}
.itts-hero-visual .hv-bar{height:6px;border-radius:4px;background:rgba(19,32,24,0.08);margin-top:8px;overflow:hidden;}
.itts-hero-visual .hv-bar span{display:block;width:72%;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--itts-green),var(--itts-gold));}
.itts-hero-visual .hv-rings{position:absolute;inset:0;width:100%;height:100%;opacity:.3;pointer-events:none;}
.itts-hero-visual .hv-float{animation:itts-float 6s ease-in-out infinite;}
.itts-hero-visual .hv-2.hv-float{animation-delay:-2s;}
.itts-hero-visual .hv-3.hv-float{animation-delay:-4s;}
@keyframes itts-float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@media (max-width:781px){.itts-hero-visual{display:none;}.itts-hero{padding-top:64px!important;padding-bottom:56px!important;}}

/* Trust bar */
.itts-trustbar{background:var(--itts-bg-alt);border-top:1px solid var(--itts-border);border-bottom:1px solid var(--itts-border);padding-top:22px!important;padding-bottom:22px!important;}

/* ---------- Stats ---------- */
.itts-stats{background:#fff;border:1px solid var(--itts-border);border-radius:20px;padding:40px;box-shadow:0 20px 50px rgba(19,32,24,0.06);display:flex;flex-direction:column;gap:0;}
.itts-stats > *{margin:0!important;}
.itts-stat{padding:18px 0;border-bottom:1px solid var(--itts-border);display:flex;flex-direction:column;gap:4px;}
.itts-stat:first-child{padding-top:0;}
.itts-stat:last-child{border-bottom:0;padding-bottom:0;}
.itts-stat > *{margin:0!important;}
.itts-stat-value{font-family:var(--itts-mono);font-size:44px;font-weight:500;line-height:1.15;color:var(--itts-green);}
.itts-stat-value.is-gold{color:var(--itts-gold-dark);}
.itts-stat-value.is-text{font-family:var(--itts-font);font-size:24px;font-weight:700;color:var(--itts-green-dark);}
.itts-stat-label{font-size:14px;color:var(--itts-ink-muted);}

/* ---------- Tiles ---------- */
.itts-tile{position:relative;border:1px solid var(--itts-border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:10px;background:#fff;transition:transform .2s ease,border-color .2s ease,background .2s ease;}
.itts-tile > *{margin:0!important;}
.itts-tile:hover{transform:translateY(-3px);border-color:rgba(14,124,74,0.35);background:rgba(14,124,74,0.04);}
.itts-tile h3{font-size:15px;font-weight:600;}
.itts-tile h3 a{color:var(--itts-ink);}
.itts-tile h3 a::after{content:"";position:absolute;inset:0;border-radius:16px;}
.itts-tile p{font-size:12.5px;line-height:1.6;color:var(--itts-ink-muted);}
.itts-tile .itts-icon{width:auto;height:auto;background:none;border-radius:0;}
.itts-tile .itts-icon svg{width:24px;height:24px;}

/* ---------- Pricing ---------- */
.itts-price-card .itts-plan{font-size:15px;font-weight:600;color:var(--itts-ink-muted);}
.itts-price{display:flex;align-items:baseline;gap:6px;font-size:13px;color:var(--itts-ink-muted);}
.itts-price strong{font-family:var(--itts-mono);font-size:var(--fs-price);font-weight:500;color:var(--itts-ink);line-height:1.1;}
.itts-price-card hr,.itts-price-card .wp-block-separator{border:0;border-top:1px solid var(--itts-border);margin:0;width:100%;opacity:1;}
.itts-price-card .wp-block-buttons{margin-top:auto!important;}
.itts-price-card .wp-block-button{width:100%;}
.itts-price-card .wp-block-button__link{width:100%;padding:12px;font-size:14px;}
.itts-hl-num{font-family:var(--itts-mono);color:var(--itts-green);}

/* ---------- Products ---------- */
.itts-product{border:1px solid var(--itts-border);border-radius:16px;padding:20px;background:#fff;display:flex;flex-direction:column;gap:8px;transition:transform .22s var(--itts-ease),box-shadow .22s ease,border-color .22s ease;}
.itts-product > *{margin:0!important;}
.itts-product:hover{transform:translateY(-3px);border-color:var(--itts-border-strong);box-shadow:0 16px 32px rgba(19,32,24,0.09);}
.itts-product .wp-block-image{height:130px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:6px!important;}
.itts-product .wp-block-image img{max-height:130px;width:auto;object-fit:contain;transition:transform .35s var(--itts-ease);}
.itts-product:hover .wp-block-image img{transform:scale(1.06);}
.itts-product-brand{font-size:12px;color:var(--itts-ink-muted);}
.itts-product-name{font-size:15px;font-weight:600;color:var(--itts-ink);}
.itts-product-banner{border:1px solid var(--itts-border);border-radius:18px;padding:28px 32px;background:#fff;display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.itts-product-banner > *{margin:0!important;}
.itts-product-banner .wp-block-image img{width:320px;max-width:100%;}
.itts-cat-label{font-size:14px;font-weight:600;letter-spacing:.5px;margin:0 0 16px!important;color:var(--itts-green);}
.itts-cat-label.is-gold{color:var(--itts-gold-dark);}
.itts-cat-label.is-deep{color:var(--itts-green-dark);}
.itts-shop-group + .itts-shop-group{margin-top:40px!important;}
.itts-head-row{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:40px!important;}
.itts-head-row > *{margin:0!important;}

/* ---------- Process ---------- */
.itts-process-num{font-family:var(--itts-mono);font-size:34px;font-weight:500;color:var(--itts-border-strong);line-height:1.1;}
.itts-process h3{font-size:15px;font-weight:600;}
.itts-process p{font-size:13px;line-height:1.7;color:var(--itts-ink-muted);}
.itts-process > *{margin:0!important;}
.itts-process{display:flex;flex-direction:column;gap:12px;}

.itts-why{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:8px;}
.itts-why > *{margin:0!important;}
.itts-why h3{font-size:14px;font-weight:600;}
.itts-why p{font-size:12.5px;line-height:1.6;color:var(--itts-ink-muted);}
.itts-why .itts-icon{background:none;width:auto;height:auto;}
.itts-why .itts-icon svg{width:30px;height:30px;}

/* Steps (circles) */
.itts-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;position:relative;}
.itts-steps::before{content:"";position:absolute;top:26px;left:10%;right:10%;height:1px;background:repeating-linear-gradient(90deg,var(--itts-border-strong) 0 6px,transparent 6px 12px);}
.itts-steps > *{margin:0!important;}
.itts-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;position:relative;}
.itts-step > *{margin:0!important;}
.itts-step-num{width:52px;height:52px;border-radius:50%;border:2px solid var(--itts-gold);background:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--itts-mono);font-weight:500;color:var(--itts-ink);font-size:16px;}
.itts-step:last-child .itts-step-num{background:var(--itts-green);border-color:var(--itts-green);color:#fff;}
.itts-step p:not(.itts-step-num){font-size:14px;font-weight:600;color:var(--itts-ink);line-height:1.5;}
@media (max-width:980px){.itts-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px;}.itts-steps::before{display:none;}}
@media (max-width:620px){.itts-steps{grid-template-columns:1fr;}}

/* ---------- Partner / dark panels ---------- */
.itts-panel-dark{border-radius:24px;padding:48px;background:var(--itts-ink);color:#E9F2EA;position:relative;overflow:hidden;}
.itts-panel-dark::before{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,0.22),rgba(201,162,39,0) 65%);pointer-events:none;}
.itts-panel-dark h2,.itts-panel-dark h3{color:#fff;}
.itts-panel-dark p{color:rgba(233,242,234,0.8);}
.itts-panel-dark .itts-eyebrow{color:var(--itts-gold);}
.itts-panel-dark a{color:var(--itts-gold);}
.itts-bigstats{display:flex;flex-direction:column;}
.itts-bigstats > *{margin:0!important;}
.itts-bigstat{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,0.12);}
.itts-bigstat:last-child{border-bottom:0;}
.itts-bigstat > *{margin:0!important;}
.itts-bigstat .v{font-family:var(--itts-mono);font-size:40px;font-weight:500;color:#fff;line-height:1.1;}
.itts-bigstat:first-child .v{color:var(--itts-gold);}
.itts-bigstat .l{font-size:14px;color:rgba(233,242,234,0.8)!important;text-align:right;}
@media (max-width:620px){.itts-panel-dark{padding:32px 24px;}.itts-bigstat .v{font-size:32px;}}

/* Cost chips grid */
.itts-costgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;margin:0;padding:0;}
.itts-costgrid li{padding:14px 12px;border-radius:12px;background:var(--itts-bg-alt);font-size:13px;font-weight:600;color:var(--itts-ink);text-align:center;}
@media (max-width:620px){.itts-costgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Images */
.itts-img-float img{filter:drop-shadow(0 30px 50px rgba(19,32,24,0.18));}
.itts-img-ring{position:relative;}
.itts-img-ring::before{content:"";position:absolute;left:50%;top:50%;width:min(440px,90%);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(14,124,74,0.25);}
.itts-img-frame{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--itts-border);box-shadow:0 30px 60px rgba(19,32,24,0.10);}
.itts-img-frame img{display:block;width:100%;}
.itts-img-box{border-radius:12px;background:#fff;border:1px solid var(--itts-border);padding:14px;}
.wp-block-image.itts-img-frame,.wp-block-image.itts-img-box{margin:0;}
.itts-center{margin-left:auto!important;margin-right:auto!important;text-align:center;}

/* ---------- Dark (About) ---------- */
.itts-section.is-dark{background-color:var(--itts-dark);background-image:linear-gradient(rgba(255,255,255,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.045) 1px,transparent 1px);background-size:56px 56px;color:#E9F2EA;overflow:hidden;}
.itts-section.is-dark::before{content:"";position:absolute;top:-220px;left:-180px;width:640px;height:640px;border-radius:50%;background:radial-gradient(circle,rgba(14,124,74,0.55),rgba(14,124,74,0) 65%);pointer-events:none;}
.itts-section.is-dark::after{content:"";position:absolute;bottom:-260px;right:-160px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(201,162,39,0.22),rgba(201,162,39,0) 65%);pointer-events:none;}
.itts-section.is-dark h1,.itts-section.is-dark h2,.itts-section.is-dark h3{color:#fff;}
.itts-section.is-dark p{color:rgba(233,242,234,0.82);}
.itts-section.is-dark .itts-eyebrow{color:var(--itts-gold);}
.itts-section.is-dark a{color:var(--itts-gold);}
.itts-glass{border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.05);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:10px;}
.itts-glass > *{margin:0!important;}
.itts-glass h3{font-size:15px;font-weight:600;color:#fff;}
.itts-glass .itts-icon{background:none;width:auto;height:auto;color:var(--itts-gold);justify-content:flex-start;}
.itts-glass .itts-icon svg{width:24px;height:24px;}
.itts-glow-frame{position:relative;}
.itts-glow-frame .wp-block-image{margin:0;border-radius:24px;overflow:hidden;border:1px solid rgba(201,162,39,0.45);box-shadow:0 0 0 8px rgba(255,255,255,0.03),0 40px 80px rgba(0,0,0,0.45),0 0 80px rgba(14,124,74,0.35);}
.itts-glow-frame .wp-block-image img{display:block;width:100%;}
.itts-float-badge{position:absolute!important;left:-24px;bottom:-28px;padding:16px 20px;border-radius:16px;background:rgba(8,48,29,0.9);border:1px solid rgba(255,255,255,0.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 40px rgba(0,0,0,0.35);margin:0!important;font-size:12px;color:rgba(233,242,234,0.7)!important;line-height:1.5;}
.itts-float-badge strong{display:block;font-family:var(--itts-mono);font-size:17px;color:var(--itts-gold);font-weight:500;}
.itts-float-tag{position:absolute!important;right:-16px;top:-18px;margin:0!important;padding:10px 16px;border-radius:999px;background:var(--itts-gold);color:var(--itts-ink)!important;font-size:13px;font-weight:700;box-shadow:0 14px 30px rgba(0,0,0,0.3);line-height:1.3;}
@media (max-width:781px){.itts-float-badge{left:12px;bottom:-20px;}.itts-float-tag{right:12px;}}
.itts-about-showcase{max-width:none;padding-left:max(32px,calc((100vw - 1280px)/2));padding-right:max(32px,calc((100vw - 1280px)/2));}
.itts-about-top{align-items:center;margin-bottom:76px!important;}
.itts-about-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px!important;}
.itts-about-services > .itts-glass{margin:0!important;min-width:0;min-height:108px;height:100%;box-sizing:border-box;padding:20px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;}
.itts-about-services > .itts-glass > *{margin:0!important;}
.itts-about-services,.itts-about-addresses,.itts-about-timeline{align-items:stretch;grid-auto-rows:1fr;}
.itts-about-addresses > .itts-about-address,.itts-about-timeline > .itts-timeline-item{margin:0!important;min-width:0;box-sizing:border-box;}
.itts-about-addresses > .itts-about-address{height:100%;min-height:112px;justify-content:center;}
.itts-about-icon{font-family:var(--itts-mono);font-size:25px!important;line-height:1!important;color:var(--itts-gold)!important;}
.itts-about-history-title{margin:0 0 36px!important;font-size:22px!important;}
.itts-about-timeline{margin-bottom:54px!important;}
.itts-about-addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 44px!important;}
.itts-about-address{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);border-radius:18px;padding:22px 26px;display:flex;flex-direction:column;gap:6px;}
.itts-about-address>*{margin:0!important;}.itts-about-address-title{color:#fff!important;}.itts-about-address-title:first-letter{color:var(--itts-gold);}
.itts-about-showcase .itts-cta{margin-top:0;background:linear-gradient(100deg,rgba(255,255,255,.08),rgba(201,162,39,.16));border-color:rgba(201,162,39,.55);box-shadow:none;}
.itts-about-showcase .itts-cta > *{margin-block:0!important;}
.itts-about-showcase .itts-cta .wp-block-buttons{align-items:center;gap:12px;}

/* V3.5.1A: full product photography on a shared white stage. */
#shop .itts-grid > .itts-product{margin:0!important;min-width:0;height:100%;box-sizing:border-box;}
#shop .itts-product .wp-block-image{height:200px;width:100%;padding:12px;box-sizing:border-box;background:#fff;overflow:visible;}
#shop .itts-product .wp-block-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;transform:none;}
#shop .itts-product:hover .wp-block-image img{transform:none;}
#shop .itts-product-banner{display:block;padding:28px;background:#fff;}
#shop .itts-t30-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px!important;}
#shop .itts-t30-grid > .itts-t30-item{margin:0!important;min-width:0;text-align:center;}
#shop .itts-t30-item > *{margin:0!important;}
#shop .itts-t30-item .wp-block-image{height:180px;padding:8px;background:#fff;box-sizing:border-box;}
#shop .itts-t30-item .wp-block-image img{width:100%;height:100%;max-width:100%;object-fit:contain;}
#shop .itts-t30-item p{padding-top:16px;font-size:14px;font-weight:600;}
@media(max-width:781px){#shop .itts-t30-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}#shop .itts-product-banner{padding:20px;}#shop .itts-product .wp-block-image{height:160px;}.itts-about-services,.itts-about-addresses,.itts-about-timeline{grid-auto-rows:auto;}}
@media(max-width:400px){#shop .itts-product{padding:12px;}#shop .itts-product .wp-block-image,#shop .itts-t30-item .wp-block-image{height:140px;}}
@media (max-width:781px){.itts-about-showcase{padding-left:20px;padding-right:20px}.itts-about-top{margin-bottom:56px!important}.itts-about-services{grid-template-columns:1fr}.itts-about-addresses{grid-template-columns:1fr}.itts-about-timeline{gap:34px!important}}
.itts-timeline-item{position:relative;padding-top:30px;border-top:2px solid rgba(201,162,39,0.45);display:flex;flex-direction:column;gap:8px;}
.itts-timeline-item > *{margin:0!important;}
.itts-timeline-item::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--itts-gold);box-shadow:0 0 0 5px rgba(201,162,39,0.2),0 0 18px rgba(201,162,39,0.7);}
.itts-timeline-item.is-now{border-top-color:rgba(14,124,74,0.9);}
.itts-timeline-item.is-now::before{background:#3FBF7F;animation:itts-pulse 2.2s ease-out infinite;}
.itts-timeline-year{font-family:var(--itts-mono);font-size:30px;color:var(--itts-gold)!important;font-weight:500;line-height:1.2;}
.itts-timeline-item.is-now .itts-timeline-year{color:#7FD9A8!important;}
.itts-timeline-item h3{font-size:16px;font-weight:600;}
.itts-timeline-item p:not(.itts-timeline-year){font-size:14px;line-height:1.75;color:rgba(233,242,234,0.75);}
@keyframes itts-pulse{0%{box-shadow:0 0 0 0 rgba(63,191,127,0.5);}70%{box-shadow:0 0 0 18px rgba(63,191,127,0);}100%{box-shadow:0 0 0 0 rgba(63,191,127,0);}}

/* ---------- Clients ---------- */
.itts-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;}
.itts-logos > *{margin:0!important;}
.itts-logos .wp-block-image{background:#fff;border:1px solid var(--itts-border);border-radius:14px;padding:14px;height:90px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;filter:grayscale(.15) opacity(.92);}
.itts-logos .wp-block-image img{max-height:100%;width:auto;max-width:100%;object-fit:contain;}
.itts-logos .wp-block-image:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(19,32,24,0.10);filter:none;}
@media (max-width:980px){.itts-logos{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:620px){.itts-logos{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* ---------- FAQ ---------- */
.itts-faq{max-width:780px;margin-left:auto!important;margin-right:auto!important;display:flex;flex-direction:column;gap:14px;}
.itts-faq > *{margin:0!important;}
.itts-faq .wp-block-details{border:1px solid var(--itts-border);border-radius:14px;padding:20px 24px;background:#fff;}
.itts-faq .wp-block-details summary{cursor:pointer;font-size:15px;font-weight:600;color:var(--itts-ink);list-style:none;display:flex;justify-content:space-between;gap:16px;}
.itts-faq .wp-block-details summary::-webkit-details-marker{display:none;}
.itts-faq .wp-block-details summary::after{content:"+";font-size:22px;line-height:1;color:var(--itts-green);transition:transform .2s ease;}
.itts-faq .wp-block-details[open] summary::after{transform:rotate(45deg);}
.itts-faq .wp-block-details p{margin:12px 0 0;font-size:14px;color:var(--itts-ink-muted);line-height:1.8;}

/* ---------- CTA strip (shortcode) ---------- */
.itts-cta{margin-top:56px;border:1px solid var(--itts-border);border-radius:20px;padding:28px 32px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:0 16px 40px rgba(19,32,24,0.05);}
.itts-cta__text{display:flex;flex-direction:column;gap:6px;}
.itts-cta__title{font-size:18px;font-weight:700;color:var(--itts-ink);margin:0;}
.itts-cta__desc{font-size:14px;color:var(--itts-ink-muted);margin:0;}
.itts-cta__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.itts-cta__actions .itts-btn{padding:14px 24px;}
.itts-cta.is-dark{background:rgba(255,255,255,0.06);border-color:rgba(201,162,39,0.35);box-shadow:none;}
.itts-cta.is-dark .itts-cta__title{color:#fff;}
.itts-cta.is-dark .itts-cta__desc{color:rgba(233,242,234,0.75);}
.itts-cta.is-dark .itts-btn--outline{background:transparent;color:#fff;border-color:rgba(255,255,255,0.3);}
.itts-cta.is-dark .itts-btn--outline:hover{border-color:#fff;background:rgba(255,255,255,0.08);}
.itts-section > .wp-block-shortcode,.itts-section > .itts-cta{margin-top:56px;}
@media (max-width:980px){.itts-cta{flex-direction:column;align-items:flex-start;}}

/* ---------- Contact ---------- */
.itts-contact-cards{display:flex;flex-direction:column;gap:16px;}
.itts-ccard{border:1px solid var(--itts-border);border-radius:18px;padding:24px;background:#fff;display:flex;gap:16px;align-items:flex-start;}
.itts-ccard__icon{width:44px;height:44px;border-radius:12px;background:rgba(14,124,74,0.09);color:var(--itts-green);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.itts-ccard__icon svg{width:20px;height:20px;}
.itts-ccard__icon.is-gold{background:rgba(201,162,39,0.12);color:var(--itts-gold-dark);}
.itts-ccard__icon.is-line{background:rgba(6,199,85,0.12);color:#06A544;}
.itts-ccard__body{display:flex;flex-direction:column;gap:6px;min-width:0;}
.itts-ccard__label{font-size:13px;color:var(--itts-ink-muted);}
.itts-ccard__value{font-size:18px;font-weight:600;color:var(--itts-ink);word-break:break-word;}
.itts-ccard__value.is-mono{font-family:var(--itts-mono);font-size:22px;font-weight:500;}
.itts-ccard__sub{font-size:13px;color:var(--itts-ink-muted);line-height:1.7;}
.itts-ccard__addr{font-size:14.5px;color:var(--itts-ink);line-height:1.7;}
.itts-ccard.is-line{justify-content:space-between;flex-wrap:wrap;align-items:center;}
.itts-map{position:relative;border-radius:24px;border:1px solid var(--itts-border);overflow:hidden;min-height:520px;background:#EEF3EC;height:100%;}
.itts-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.itts-map__btn{position:absolute;left:20px;bottom:20px;z-index:2;display:inline-flex;align-items:center;gap:14px;padding:8px 8px 8px 20px;border-radius:999px;background:var(--itts-ink);color:#fff!important;font-size:14px;font-weight:600;box-shadow:0 12px 28px rgba(19,32,24,0.25);transition:transform .2s ease;}
.itts-map__btn:hover{transform:translateY(-2px);}
.itts-map__btn span{width:36px;height:36px;border-radius:50%;background:var(--itts-gold);display:flex;align-items:center;justify-content:center;}
.itts-map__btn svg{width:16px;height:16px;}
.itts-contact-hero .wp-block-shortcode{display:flex;justify-content:center;}
.itts-inline-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
@media (max-width:781px){.itts-map{min-height:380px;}}

/* ---------- Page header (inner pages) ---------- */
.itts-pagehead{padding-top:72px!important;padding-bottom:40px!important;background:linear-gradient(180deg,var(--itts-bg-alt),#fff);border-bottom:1px solid var(--itts-border);}
.itts-pagehead h1{margin:0;}
.itts-breadcrumb{font-size:13px;color:var(--itts-ink-soft);margin-bottom:12px;}
.itts-breadcrumb a{color:var(--itts-ink-muted);}

/* Generic article (legal / default pages) */
.itts-prose{max-width:820px;margin:0 auto;}
.itts-prose h2{margin-top:1.6em;}
.itts-prose p,.itts-prose li{color:var(--itts-ink-muted);line-height:1.9;}

/* ---------- Footer ---------- */
.itts-footer{background:var(--itts-green-deep);color:rgba(233,242,234,0.82);padding:64px max(var(--itts-gutter), calc((100% - var(--itts-container)) / 2)) 40px;font-size:13.5px;}
.itts-footer a{color:rgba(233,242,234,0.82);}
.itts-footer a:hover{color:var(--itts-gold);}
.itts-footer__grid{display:grid;grid-template-columns:1.1fr .8fr .8fr 1.3fr;gap:40px;margin-bottom:40px;}
.itts-footer__brand{display:flex;flex-direction:column;gap:14px;}
.itts-footer__brand img{height:64px;width:auto;align-self:flex-start;}
.itts-footer__brand p{margin:0;color:rgba(233,242,234,0.72);line-height:1.7;}
.itts-footer h2{font-size:14px;font-weight:600;color:#fff;margin:0 0 14px;letter-spacing:.2px;}
.itts-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.itts-footer__contact{display:flex;flex-direction:column;gap:8px;line-height:1.7;}
.itts-footer__contact p{margin:0;}
.itts-footer__bottom{border-top:1px solid rgba(255,255,255,0.14);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:rgba(233,242,234,0.6);}
.itts-footer__bottom ul{flex-direction:row;gap:18px;}
@media (max-width:980px){.itts-footer__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:620px){.itts-footer__grid{grid-template-columns:1fr;gap:28px;}.itts-footer{padding-bottom:110px;}}

/* Mobile action bar */
.itts-mobilebar{display:none;}
@media (max-width:780px){
  .itts-mobilebar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,0.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--itts-border);box-shadow:0 -8px 24px rgba(19,32,24,0.08);}
  .itts-mobilebar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;border-radius:12px;font-size:12px;font-weight:600;color:var(--itts-ink);background:var(--itts-bg-alt);}
  .itts-mobilebar a svg{width:20px;height:20px;}
  .itts-mobilebar a.is-line{background:#06C755;color:#fff;}
  .itts-mobilebar a.is-primary{background:linear-gradient(135deg,var(--itts-green),var(--itts-gold));color:#fff;}
  body{padding-bottom:76px;}
}

/* ---------- Reveal on scroll ---------- */
.js .itts-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s var(--itts-ease),transform .7s var(--itts-ease);}
.js .itts-reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .js .itts-reveal{opacity:1;transform:none;transition:none;}
  .itts-card:hover,.itts-product:hover,.itts-tile:hover,.itts-btn:hover,.wp-block-button .wp-block-button__link:hover{transform:none;}
  .itts-hero-visual .hv-float,.itts-timeline-item.is-now::before{animation:none;}
}

/* 404 */
.itts-404{text-align:center;}
.itts-404 .itts-display{font-family:var(--itts-mono);color:var(--itts-green);}

/* WP core alignment helpers */
.aligncenter{margin-left:auto;margin-right:auto;}
.wp-block-image.aligncenter{text-align:center;}

/* Misc */
.itts-inline-actions .itts-cta__actions{justify-content:center;}
.itts-contact-hero .itts-section-head{margin-bottom:48px!important;}
.itts-contact-grid{grid-template-columns:.85fr 1.15fr;align-items:stretch;}
@media (max-width:980px){.itts-contact-grid{grid-template-columns:1fr;}}
.itts-stretch-links a{position:relative;}
.itts-h1 em,.itts-display em{font-style:normal;color:var(--itts-green);}
.is-dark .itts-h1 em{color:var(--itts-gold);}
.itts-aside{position:sticky;top:calc(var(--itts-header-h) + 24px);}
.itts-article > *{margin:0 0 1em!important;}
.itts-article h2{margin-top:1.4em!important;font-size:clamp(22px,2vw,26px);}
.itts-article p{color:var(--itts-ink-muted);line-height:1.9;}
.itts-article ul{padding-left:1.2em;color:var(--itts-ink-muted);}
/* Override WP global link underline */
body a:where(:not(.wp-element-button)){text-decoration:none;}
.itts-article a,.itts-prose a{text-decoration:underline;text-underline-offset:3px;}
.itts-price-card .wp-block-separator,.itts-price-card hr{width:100%!important;max-width:none!important;border-top:1px solid var(--itts-border)!important;border-bottom:0!important;height:0;background:none!important;}
.itts-section.is-dark a.itts-btn--primary,.itts-section.is-dark .wp-block-button:not(.is-style-itts-outline):not(.is-style-outline) .wp-block-button__link,.itts-panel-dark .wp-block-button__link{color:#fff;}
.itts-section.is-dark a.itts-btn--outline{color:#fff;}
