/* =====================================================================
   Terry's Tees — theme stylesheet (source of truth)
   Owns: tokens, typography, header/footer, section styling, components.
   Elementor owns page content; page templates fall back to the same DOM.
   Placeholders {{DRIP:#hex}} and {{PILLS:#hex:alpha}} are filled by build.py.
   ===================================================================== */

:root{
  --navy:#0a3855; --navy-900:#06233a; --navy-800:#0a3855; --navy-700:#0f4a70; --navy-600:#155c8a;
  --blue:#0ba8ff; --blue-600:#0891e0; --blue-700:#0778ba; --blue-100:#dcf2ff; --blue-50:#eef8ff;
  --sun:#fed33c; --sun-600:#f2bf0f; --sun-100:#fff6d1;
  --ink:#0b1a2a; --body:#33475b; --muted:#66788c; --line:#e1e8ef; --line-dark:rgba(255,255,255,.14);
  --paper:#f4f7fb; --white:#fff;
  --ok:#17b26a; --warn:#f79009; --bad:#e5484d;
  --radius:22px; --radius-sm:14px; --radius-xs:10px;
  --shadow-sm:0 2px 8px rgba(10,56,85,.08);
  --shadow-md:0 12px 32px rgba(10,56,85,.12);
  --shadow-lg:0 28px 64px rgba(6,35,58,.24);
  --font-display:"Bricolage Grotesque","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --container:1200px;
  --gutter:clamp(18px,4vw,32px);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--body);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--blue-700);text-decoration:none}
a:hover{color:var(--navy)}
button{font:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--ink);line-height:1.08;margin:0 0 .5em;font-weight:700;letter-spacing:-.02em}
h1{font-size:clamp(2.4rem,5.2vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,3rem)}
h3{font-size:clamp(1.25rem,2vw,1.6rem)}
p{margin:0 0 1.1em}
:focus-visible{outline:3px solid var(--blue);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{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--sun);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:700}
.skip-link:focus{top:12px}
.tt-container{width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto}

/* ---------- decorative assets ---------- */
.drip-navy::after,.drip-paper::after,.drip-white::after,.drip-sun::after,.drip-navy900::after{
  content:"";position:absolute;left:0;right:0;bottom:-74px;height:76px;z-index:3;pointer-events:none;
  background-repeat:repeat-x;background-size:240px 76px;background-position:center top}
.drip-navy::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='76' viewBox='0 0 240 76'%3E%3Cpath fill='%230a3855' d='M0 0H240V13C229.0 13 229.0 15 218 15C204.0 15 204.0 12.5 190 12.5C174.0 12.5 174.0 16 158 16C142.0 16 142.0 12.5 126 12.5C111.0 12.5 111.0 15 96 15C79.0 15 79.0 12 62 12C46.0 12 46.0 15.5 30 15.5C15.0 15.5 15.0 13 0 13Z'/%3E%3Cpath fill='%230a3855' d='M33.9 11C33.9 14.9 35.4 15.3 35.4 15.9C35.4 16.0 33.8 15.8 33.8 17.2C33.8 18.5 34.8 19.4 36.0 19.4C37.2 19.4 38.2 18.5 38.2 17.2C38.2 15.8 36.6 16.0 36.6 15.9C36.6 15.3 38.1 14.9 38.1 11Z'/%3E%3Cpath fill='%230a3855' d='M72.3 11C72.3 14.6 73.4 14.8 73.4 15.2C73.4 15.2 72.2 15.0 72.2 16.2C72.2 17.2 73.0 18.0 74.0 18.0C75.0 18.0 75.8 17.2 75.8 16.2C75.8 15.0 74.6 15.2 74.6 15.2C74.6 14.8 75.7 14.6 75.7 11Z'/%3E%3Cpath fill='%230a3855' d='M115.7 11C115.7 15.1 117.3 15.5 117.3 16.2C117.3 16.4 115.6 16.2 115.6 17.7C115.6 19.1 116.7 20.1 118.0 20.1C119.3 20.1 120.4 19.1 120.4 17.7C120.4 16.2 118.7 16.4 118.7 16.2C118.7 15.5 120.3 15.1 120.3 11Z'/%3E%3Cpath fill='%230a3855' d='M158.4 11C158.4 14.6 159.4 14.8 159.4 15.2C159.4 15.2 158.3 15.1 158.3 16.2C158.3 17.1 159.0 17.9 160.0 17.9C161.0 17.9 161.7 17.1 161.7 16.2C161.7 15.1 160.6 15.2 160.6 15.2C160.6 14.8 161.6 14.6 161.6 11Z'/%3E%3Cpath fill='%230a3855' d='M198.0 11C198.0 14.9 199.4 15.3 199.4 15.9C199.4 16.1 197.9 15.8 197.9 17.2C197.9 18.4 198.8 19.3 200.0 19.3C201.2 19.3 202.1 18.4 202.1 17.2C202.1 15.8 200.6 16.1 200.6 15.9C200.6 15.3 202.0 14.9 202.0 11Z'/%3E%3Cpath fill='%230a3855' d='M230.2 11C230.2 14.8 231.4 15.1 231.4 15.6C231.4 15.6 230.1 15.5 230.1 16.7C230.1 17.8 230.9 18.6 232.0 18.6C233.1 18.6 233.9 17.8 233.9 16.7C233.9 15.5 232.6 15.6 232.6 15.6C232.6 15.1 233.8 14.8 233.8 11Z'/%3E%3Cpath fill='%230a3855' d='M15.9 11C15.9 14.4 17.4 14.6 17.4 14.9C17.4 14.5 15.8 14.3 15.8 15.7C15.8 17.0 16.7 18.0 18.0 18.0C19.3 18.0 20.2 17.0 20.2 15.7C20.2 14.3 18.6 14.5 18.6 14.9C18.6 14.6 20.1 14.4 20.1 11Z'%3E%3Canimate attributeName='d' values='M15.9 11C15.9 14.4 17.4 14.6 17.4 14.9C17.4 14.5 15.8 14.3 15.8 15.7C15.8 17.0 16.7 18.0 18.0 18.0C19.3 18.0 20.2 17.0 20.2 15.7C20.2 14.3 18.6 14.5 18.6 14.9C18.6 14.6 20.1 14.4 20.1 11Z;M15.0 11C15.0 16.3 17.1 17.2 17.1 18.8C17.1 20.3 14.8 19.9 14.8 22.0C14.8 23.8 16.2 25.2 18.0 25.2C19.8 25.2 21.2 23.8 21.2 22.0C21.2 19.9 18.9 20.3 18.9 18.8C18.9 17.2 21.0 16.3 21.0 11Z;M13.2 11C13.2 20.6 16.6 23.2 16.6 27.6C16.6 33.8 13.0 33.2 13.0 36.5C13.0 39.3 15.2 41.5 18.0 41.5C20.8 41.5 23.0 39.3 23.0 36.5C23.0 33.2 19.4 33.8 19.4 27.6C19.4 23.2 22.8 20.6 22.8 11Z;M17.1 11C17.1 20.7 17.4 23.4 17.4 27.9C17.4 36.0 17.1 35.9 17.1 36.5C17.1 37.0 17.5 37.4 18.0 37.4C18.5 37.4 18.9 37.0 18.9 36.5C18.9 35.9 18.6 36.0 18.6 27.9C18.6 23.4 18.9 20.7 18.9 11Z;M17.1 11C17.1 20.7 17.4 23.4 17.4 27.9C17.4 36.0 17.1 35.9 17.1 36.5C17.1 37.0 17.5 37.4 18.0 37.4C18.5 37.4 18.9 37.0 18.9 36.5C18.9 35.9 18.6 36.0 18.6 27.9C18.6 23.4 18.9 20.7 18.9 11Z' keyTimes='0;0.18;0.52;0.57;1' dur='8.4s' begin='-1.2s' repeatCount='indefinite' calcMode='spline' keySplines='0.3 0 0.6 1;0.45 0 0.55 1;0.2 0.9 0.4 1;0 0 1 1'/%3E%3Canimate attributeName='opacity' values='1;1;1;0;0;1' keyTimes='0;0.57;0.62;0.82;0.999;1' dur='8.4s' begin='-1.2s' repeatCount='indefinite'/%3E%3C/path%3E%3Cg opacity='0'%3E%3Cpath fill='%230a3855' d='M0 -7.2C2.3 -3.0 4.2 -1.5 4.2 0.4C4.2 2.8 2.3 4.2 0 4.2C-2.3 4.2 -4.2 2.8 -4.2 0.4C-4.2 -1.5 -2.3 -3.0 0 -7.2Z' transform='translate(18 36.5)'%3E%3CanimateTransform attributeName='transform' type='translate' values='18 36.5;18 36.5;18 88.8' keyTimes='0;0.53;1' dur='8.4s' begin='-1.2s' repeatCount='indefinite' calcMode='spline' keySplines='0 0 1 1;0.45 0 0.75 0.35'/%3E%3C/path%3E%3Canimate attributeName='opacity' values='0;0;1;1;0' keyTimes='0;0.52;0.55;0.9;1' dur='8.4s' begin='-1.2s' repeatCount='indefinite'/%3E%3C/g%3E%3Cpath fill='%230a3855' d='M48.8 11C48.8 14.4 51.1 14.6 51.1 14.9C51.1 14.0 48.6 13.7 48.6 15.8C48.6 17.7 50.1 19.2 52.0 19.2C53.9 19.2 55.4 17.7 55.4 15.8C55.4 13.7 52.9 14.0 52.9 14.9C52.9 14.6 55.2 14.4 55.2 11Z'%3E%3Canimate attributeName='d' values='M48.8 11C48.8 14.4 51.1 14.6 51.1 14.9C51.1 14.0 48.6 13.7 48.6 15.8C48.6 17.7 50.1 19.2 52.0 19.2C53.9 19.2 55.4 17.7 55.4 15.8C55.4 13.7 52.9 14.0 52.9 14.9C52.9 14.6 55.2 14.4 55.2 11Z;M47.4 11C47.4 18.2 50.7 19.9 50.7 22.7C50.7 25.8 47.2 25.4 47.2 28.5C47.2 31.2 49.3 33.3 52.0 33.3C54.7 33.3 56.8 31.2 56.8 28.5C56.8 25.4 53.3 25.8 53.3 22.7C53.3 19.9 56.6 18.2 56.6 11Z;M44.8 11C44.8 26.0 49.9 30.8 49.9 38.8C49.9 50.6 44.4 49.8 44.4 54.8C44.4 59.0 47.7 62.4 52.0 62.4C56.3 62.4 59.6 59.0 59.6 54.8C59.6 49.8 54.1 50.6 54.1 38.8C54.1 30.8 59.2 26.0 59.2 11Z;M51.1 11C51.1 26.2 51.4 31.1 51.4 39.3C51.4 54.4 51.1 54.3 51.1 54.9C51.1 55.4 51.5 55.8 52.0 55.8C52.5 55.8 52.9 55.4 52.9 54.9C52.9 54.3 52.6 54.4 52.6 39.3C52.6 31.1 52.9 26.2 52.9 11Z;M51.1 11C51.1 26.2 51.4 31.1 51.4 39.3C51.4 54.4 51.1 54.3 51.1 54.9C51.1 55.4 51.5 55.8 52.0 55.8C52.5 55.8 52.9 55.4 52.9 54.9C52.9 54.3 52.6 54.4 52.6 39.3C52.6 31.1 52.9 26.2 52.9 11Z' keyTimes='0;0.18;0.52;0.57;1' dur='11.5s' begin='-5.6s' repeatCount='indefinite' calcMode='spline' keySplines='0.3 0 0.6 1;0.45 0 0.55 1;0.2 0.9 0.4 1;0 0 1 1'/%3E%3Canimate attributeName='opacity' values='1;1;1;0;0;1' keyTimes='0;0.57;0.62;0.82;0.999;1' dur='11.5s' begin='-5.6s' repeatCount='indefinite'/%3E%3C/path%3E%3Cg opacity='0'%3E%3Cpath fill='%230a3855' d='M0 -11.0C3.6 -4.5 6.5 -2.3 6.5 0.6C6.5 4.2 3.6 6.5 0 6.5C-3.6 6.5 -6.5 4.2 -6.5 0.6C-6.5 -2.3 -3.6 -4.5 0 -11.0Z' transform='translate(52 54.8)'%3E%3CanimateTransform attributeName='transform' type='translate' values='52 54.8;52 54.8;52 95.4' keyTimes='0;0.53;1' dur='11.5s' begin='-5.6s' repeatCount='indefinite' calcMode='spline' keySplines='0 0 1 1;0.45 0 0.75 0.35'/%3E%3C/path%3E%3Canimate attributeName='opacity' values='0;0;1;1;0' keyTimes='0;0.52;0.55;0.9;1' dur='11.5s' begin='-5.6s' repeatCount='indefinite'/%3E%3C/g%3E%3Cpath fill='%230a3855' d='M90.3 11C90.3 14.4 91.4 14.6 91.4 14.9C91.4 14.7 90.2 14.5 90.2 15.7C90.2 16.7 91.0 17.5 92.0 17.5C93.0 17.5 93.8 16.7 93.8 15.7C93.8 14.5 92.6 14.7 92.6 14.9C92.6 14.6 93.7 14.4 93.7 11Z'%3E%3Canimate attributeName='d' values='M90.3 11C90.3 14.4 91.4 14.6 91.4 14.9C91.4 14.7 90.2 14.5 90.2 15.7C90.2 16.7 91.0 17.5 92.0 17.5C93.0 17.5 93.8 16.7 93.8 15.7C93.8 14.5 92.6 14.7 92.6 14.9C92.6 14.6 93.7 14.4 93.7 11Z;M89.5 11C89.5 15.9 91.3 16.6 91.3 17.9C91.3 19.1 89.4 18.9 89.4 20.6C89.4 22.0 90.5 23.2 92.0 23.2C93.5 23.2 94.6 22.0 94.6 20.6C94.6 18.9 92.7 19.1 92.7 17.9C92.7 16.6 94.5 15.9 94.5 11Z;M87.8 11C87.8 19.4 90.8 21.6 90.8 25.2C90.8 30.0 87.6 29.6 87.6 32.4C87.6 34.9 89.5 36.8 92.0 36.8C94.5 36.8 96.4 34.9 96.4 32.4C96.4 29.6 93.2 30.0 93.2 25.2C93.2 21.6 96.2 19.4 96.2 11Z;M91.1 11C91.1 19.5 91.4 21.7 91.4 25.4C91.4 32.0 91.1 31.9 91.1 32.5C91.1 33.0 91.5 33.4 92.0 33.4C92.5 33.4 92.9 33.0 92.9 32.5C92.9 31.9 92.6 32.0 92.6 25.4C92.6 21.7 92.9 19.5 92.9 11Z;M91.1 11C91.1 19.5 91.4 21.7 91.4 25.4C91.4 32.0 91.1 31.9 91.1 32.5C91.1 33.0 91.5 33.4 92.0 33.4C92.5 33.4 92.9 33.0 92.9 32.5C92.9 31.9 92.6 32.0 92.6 25.4C92.6 21.7 92.9 19.5 92.9 11Z' keyTimes='0;0.18;0.52;0.57;1' dur='7.4s' begin='-2.9s' repeatCount='indefinite' calcMode='spline' keySplines='0.3 0 0.6 1;0.45 0 0.55 1;0.2 0.9 0.4 1;0 0 1 1'/%3E%3Canimate attributeName='opacity' values='1;1;1;0;0;1' keyTimes='0;0.57;0.62;0.82;0.999;1' dur='7.4s' begin='-2.9s' repeatCount='indefinite'/%3E%3C/path%3E%3Cg opacity='0'%3E%3Cpath fill='%230a3855' d='M0 -6.4C2.1 -2.6 3.7 -1.3 3.7 0.4C3.7 2.4 2.1 3.7 0 3.7C-2.1 3.7 -3.7 2.4 -3.7 0.4C-3.7 -1.3 -2.1 -2.6 0 -6.4Z' transform='translate(92 32.4)'%3E%3CanimateTransform attributeName='transform' type='translate' values='92 32.4;92 32.4;92 87.2' keyTimes='0;0.53;1' dur='7.4s' begin='-2.9s' repeatCount='indefinite' calcMode='spline' keySplines='0 0 1 1;0.45 0 0.75 0.35'/%3E%3C/path%3E%3Canimate attributeName='opacity' values='0;0;1;1;0' keyTimes='0;0.52;0.55;0.9;1' dur='7.4s' begin='-2.9s' repeatCount='indefinite'/%3E%3C/g%3E%3Cpath fill='%230a3855' d='M133.2 11C133.2 14.4 135.2 14.6 135.2 14.9C135.2 14.2 133.1 13.9 133.1 15.8C133.1 17.4 134.4 18.7 136.0 18.7C137.6 18.7 138.9 17.4 138.9 15.8C138.9 13.9 136.8 14.2 136.8 14.9C136.8 14.6 138.8 14.4 138.8 11Z'%3E%3Canimate attributeName='d' values='M133.2 11C133.2 14.4 135.2 14.6 135.2 14.9C135.2 14.2 133.1 13.9 133.1 15.8C133.1 17.4 134.4 18.7 136.0 18.7C137.6 18.7 138.9 17.4 138.9 15.8C138.9 13.9 136.8 14.2 136.8 14.9C136.8 14.6 138.8 14.4 138.8 11Z;M132.0 11C132.0 17.6 134.8 19.0 134.8 21.4C134.8 24.0 131.8 23.6 131.8 26.3C131.8 28.7 133.6 30.5 136.0 30.5C138.4 30.5 140.2 28.7 140.2 26.3C140.2 23.6 137.2 24.0 137.2 21.4C137.2 19.0 140.0 17.6 140.0 11Z;M129.5 11C129.5 24.2 134.1 28.3 134.1 35.1C134.1 44.9 129.2 44.3 129.2 48.7C129.2 52.5 132.2 55.5 136.0 55.5C139.8 55.5 142.8 52.5 142.8 48.7C142.8 44.3 137.9 44.9 137.9 35.1C137.9 28.3 142.5 24.2 142.5 11Z;M135.1 11C135.1 24.4 135.4 28.6 135.4 35.5C135.4 48.3 135.1 48.2 135.1 48.8C135.1 49.3 135.5 49.7 136.0 49.7C136.5 49.7 136.9 49.3 136.9 48.8C136.9 48.2 136.6 48.3 136.6 35.5C136.6 28.6 136.9 24.4 136.9 11Z;M135.1 11C135.1 24.4 135.4 28.6 135.4 35.5C135.4 48.3 135.1 48.2 135.1 48.8C135.1 49.3 135.5 49.7 136.0 49.7C136.5 49.7 136.9 49.3 136.9 48.8C136.9 48.2 136.6 48.3 136.6 35.5C136.6 28.6 136.9 24.4 136.9 11Z' keyTimes='0;0.18;0.52;0.57;1' dur='10.2s' begin='-7.5s' repeatCount='indefinite' calcMode='spline' keySplines='0.3 0 0.6 1;0.45 0 0.55 1;0.2 0.9 0.4 1;0 0 1 1'/%3E%3Canimate attributeName='opacity' values='1;1;1;0;0;1' keyTimes='0;0.57;0.62;0.82;0.999;1' dur='10.2s' begin='-7.5s' repeatCount='indefinite'/%3E%3C/path%3E%3Cg opacity='0'%3E%3Cpath fill='%230a3855' d='M0 -9.8C3.2 -4.0 5.8 -2.0 5.8 0.6C5.8 3.8 3.2 5.8 0 5.8C-3.2 5.8 -5.8 3.8 -5.8 0.6C-5.8 -2.0 -3.2 -4.0 0 -9.8Z' transform='translate(136 48.7)'%3E%3CanimateTransform attributeName='transform' type='translate' values='136 48.7;136 48.7;136 93.3' keyTimes='0;0.53;1' dur='10.2s' begin='-7.5s' repeatCount='indefinite' calcMode='spline' keySplines='0 0 1 1;0.45 0 0.75 0.35'/%3E%3C/path%3E%3Canimate attributeName='opacity' values='0;0;1;1;0' keyTimes='0;0.52;0.55;0.9;1' dur='10.2s' begin='-7.5s' repeatCount='indefinite'/%3E%3C/g%3E%3Cpath fill='%230a3855' d='M175.6 11C175.6 14.4 177.3 14.6 177.3 14.9C177.3 14.4 175.5 14.1 175.5 15.8C175.5 17.2 176.6 18.3 178.0 18.3C179.4 18.3 180.5 17.2 180.5 15.8C180.5 14.1 178.7 14.4 178.7 14.9C178.7 14.6 180.4 14.4 180.4 11Z'%3E%3Canimate attributeName='d' values='M175.6 11C175.6 14.4 177.3 14.6 177.3 14.9C177.3 14.4 175.5 14.1 175.5 15.8C175.5 17.2 176.6 18.3 178.0 18.3C179.4 18.3 180.5 17.2 180.5 15.8C180.5 14.1 178.7 14.4 178.7 14.9C178.7 14.6 180.4 14.4 180.4 11Z;M174.6 11C174.6 16.7 177.0 17.8 177.0 19.6C177.0 21.5 174.4 21.1 174.4 23.5C174.4 25.5 176.0 27.1 178.0 27.1C180.0 27.1 181.6 25.5 181.6 23.5C181.6 21.1 179.0 21.5 179.0 19.6C179.0 17.8 181.4 16.7 181.4 11Z;M172.7 11C172.7 21.8 176.5 24.9 176.5 30.1C176.5 37.5 172.4 36.9 172.4 40.6C172.4 43.7 174.9 46.2 178.0 46.2C181.1 46.2 183.6 43.7 183.6 40.6C183.6 36.9 179.5 37.5 179.5 30.1C179.5 24.9 183.3 21.8 183.3 11Z;M177.1 11C177.1 22.0 177.4 25.1 177.4 30.4C177.4 40.1 177.1 40.0 177.1 40.6C177.1 41.1 177.5 41.5 178.0 41.5C178.5 41.5 178.9 41.1 178.9 40.6C178.9 40.0 178.6 40.1 178.6 30.4C178.6 25.1 178.9 22.0 178.9 11Z;M177.1 11C177.1 22.0 177.4 25.1 177.4 30.4C177.4 40.1 177.1 40.0 177.1 40.6C177.1 41.1 177.5 41.5 178.0 41.5C178.5 41.5 178.9 41.1 178.9 40.6C178.9 40.0 178.6 40.1 178.6 30.4C178.6 25.1 178.9 22.0 178.9 11Z' keyTimes='0;0.18;0.52;0.57;1' dur='9.1s' begin='-3.4s' repeatCount='indefinite' calcMode='spline' keySplines='0.3 0 0.6 1;0.45 0 0.55 1;0.2 0.9 0.4 1;0 0 1 1'/%3E%3Canimate attributeName='opacity' values='1;1;1;0;0;1' keyTimes='0;0.57;0.62;0.82;0.999;1' dur='9.1s' begin='-3.4s' repeatCount='indefinite'/%3E%3C/path%3E%3Cg opacity='0'%3E%3Cpath fill='%230a3855' d='M0 -8.1C2.6 -3.3 4.8 -1.7 4.8 0.5C4.8 3.1 2.6 4.8 0 4.8C-2.6 4.8 -4.8 3.1 -4.8 0.5C-4.8 -1.7 -2.6 -3.3 0 -8.1Z' transform='translate(178 40.6)'%3E%3CanimateTransform attributeName='transform' type='translate' values='178 40.6;178 40.6;178 90.3' keyTimes='0;0.53;1' dur='9.1s' begin='-3.4s' repeatCount='indefinite' calcMode='spline' keySplines='0 0 1 1;0.45 0 0.75 0.35'/%3E%3C/path%3E%3Canimate attributeName='opacity' values='0;0;1;1;0' keyTimes='0;0.52;0.55;0.9;1' dur='9.1s' begin='-3.4s' repeatCount='indefinite'/%3E%3C/g%3E%3Cpath fill='%230a3855' d='M212.4 11C212.4 14.4 213.4 14.6 213.4 14.9C213.4 14.7 212.3 14.6 212.3 15.7C212.3 16.6 213.1 17.3 214.0 17.3C214.9 17.3 215.7 16.6 215.7 15.7C215.7 14.6 214.6 14.7 214.6 14.9C214.6 14.6 215.6 14.4 215.6 11Z'%3E%3Canimate attributeName='d' values='M212.4 11C212.4 14.4 213.4 14.6 213.4 14.9C213.4 14.7 212.3 14.6 212.3 15.7C212.3 16.6 213.1 17.3 214.0 17.3C214.9 17.3 215.7 16.6 215.7 15.7C215.7 14.6 214.6 14.7 214.6 14.9C214.6 14.6 215.6 14.4 215.6 11Z;M211.7 11C211.7 15.5 213.3 16.1 213.3 17.0C213.3 17.8 211.6 17.6 211.6 19.1C211.6 20.5 212.7 21.5 214.0 21.5C215.3 21.5 216.4 20.5 216.4 19.1C216.4 17.6 214.7 17.8 214.7 17.0C214.7 16.1 216.3 15.5 216.3 11Z;M210.2 11C210.2 18.2 212.9 19.9 212.9 22.7C212.9 26.2 210.0 25.8 210.0 28.4C210.0 30.6 211.8 32.4 214.0 32.4C216.2 32.4 218.0 30.6 218.0 28.4C218.0 25.8 215.1 26.2 215.1 22.7C215.1 19.9 217.8 18.2 217.8 11Z;M213.1 11C213.1 18.3 213.4 20.0 213.4 22.9C213.4 27.9 213.1 27.8 213.1 28.4C213.1 28.9 213.5 29.3 214.0 29.3C214.5 29.3 214.9 28.9 214.9 28.4C214.9 27.8 214.6 27.9 214.6 22.9C214.6 20.0 214.9 18.3 214.9 11Z;M213.1 11C213.1 18.3 213.4 20.0 213.4 22.9C213.4 27.9 213.1 27.8 213.1 28.4C213.1 28.9 213.5 29.3 214.0 29.3C214.5 29.3 214.9 28.9 214.9 28.4C214.9 27.8 214.6 27.9 214.6 22.9C214.6 20.0 214.9 18.3 214.9 11Z' keyTimes='0;0.18;0.52;0.57;1' dur='6.9s' begin='-0.8s' repeatCount='indefinite' calcMode='spline' keySplines='0.3 0 0.6 1;0.45 0 0.55 1;0.2 0.9 0.4 1;0 0 1 1'/%3E%3Canimate attributeName='opacity' values='1;1;1;0;0;1' keyTimes='0;0.57;0.62;0.82;0.999;1' dur='6.9s' begin='-0.8s' repeatCount='indefinite'/%3E%3C/path%3E%3Cg opacity='0'%3E%3Cpath fill='%230a3855' d='M0 -5.8C1.9 -2.4 3.4 -1.2 3.4 0.3C3.4 2.2 1.9 3.4 0 3.4C-1.9 3.4 -3.4 2.2 -3.4 0.3C-3.4 -1.2 -1.9 -2.4 0 -5.8Z' transform='translate(214 28.4)'%3E%3CanimateTransform attributeName='transform' type='translate' values='214 28.4;214 28.4;214 86.2' keyTimes='0;0.53;1' dur='6.9s' begin='-0.8s' repeatCount='indefinite' calcMode='spline' keySplines='0 0 1 1;0.45 0 0.75 0.35'/%3E%3C/path%3E%3Canimate attributeName='opacity' values='0;0;1;1;0' keyTimes='0;0.52;0.55;0.9;1' dur='6.9s' begin='-0.8s' repeatCount='indefinite'/%3E%3C/g%3E%3C/svg%3E")}
@media (prefers-reduced-motion:reduce){.drip-navy::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='76' viewBox='0 0 240 76'%3E%3Cpath fill='%230a3855' d='M0 0H240V14H220V25.0a7.0 7.0 0 0 1 -14 0V14H188V35.0a9.0 9.0 0 0 1 -18 0V14H152V40.0a12.0 12.0 0 0 1 -24 0V14H112V28.0a8.0 8.0 0 0 1 -16 0V14H76V47.0a13.0 13.0 0 0 1 -26 0V14H32V31.0a9.0 9.0 0 0 1 -18 0V14H0Z'/%3E%3C/svg%3E")}}
.drip-navy900::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='76' viewBox='0 0 240 76'%3E%3Cpath fill='%2306233a' d='M0 0H240V14H220V25.0a7.0 7.0 0 0 1 -14 0V14H188V35.0a9.0 9.0 0 0 1 -18 0V14H152V40.0a12.0 12.0 0 0 1 -24 0V14H112V28.0a8.0 8.0 0 0 1 -16 0V14H76V47.0a13.0 13.0 0 0 1 -26 0V14H32V31.0a9.0 9.0 0 0 1 -18 0V14H0Z'/%3E%3C/svg%3E")}
.drip-paper::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='76' viewBox='0 0 240 76'%3E%3Cpath fill='%23f4f7fb' d='M0 0H240V14H220V25.0a7.0 7.0 0 0 1 -14 0V14H188V35.0a9.0 9.0 0 0 1 -18 0V14H152V40.0a12.0 12.0 0 0 1 -24 0V14H112V28.0a8.0 8.0 0 0 1 -16 0V14H76V47.0a13.0 13.0 0 0 1 -26 0V14H32V31.0a9.0 9.0 0 0 1 -18 0V14H0Z'/%3E%3C/svg%3E")}
.drip-white::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='76' viewBox='0 0 240 76'%3E%3Cpath fill='%23ffffff' d='M0 0H240V14H220V25.0a7.0 7.0 0 0 1 -14 0V14H188V35.0a9.0 9.0 0 0 1 -18 0V14H152V40.0a12.0 12.0 0 0 1 -24 0V14H112V28.0a8.0 8.0 0 0 1 -16 0V14H76V47.0a13.0 13.0 0 0 1 -26 0V14H32V31.0a9.0 9.0 0 0 1 -18 0V14H0Z'/%3E%3C/svg%3E")}
.drip-sun::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='76' viewBox='0 0 240 76'%3E%3Cpath fill='%23fed33c' d='M0 0H240V14H220V25.0a7.0 7.0 0 0 1 -14 0V14H188V35.0a9.0 9.0 0 0 1 -18 0V14H152V40.0a12.0 12.0 0 0 1 -24 0V14H112V28.0a8.0 8.0 0 0 1 -16 0V14H76V47.0a13.0 13.0 0 0 1 -26 0V14H32V31.0a9.0 9.0 0 0 1 -18 0V14H0Z'/%3E%3C/svg%3E")}

/* ---------- buttons (shared by theme + Elementor + Woo) ---------- */
.btn,.tt-static .elementor-button,body .elementor .elementor-button,.tt-theme ul.products li.product .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.wpforms-form button[type=submit],.tt-form button[type=submit]{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-display);font-weight:700;font-size:1rem;line-height:1;letter-spacing:.01em;
  padding:16px 26px;border-radius:999px;border:2px solid var(--navy);background:var(--navy);color:#fff;
  cursor:pointer;text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s,border-color .25s;
  box-shadow:0 6px 18px rgba(10,56,85,.18);white-space:nowrap}
.btn:hover,body .elementor .elementor-button:hover,.tt-static .elementor-button:hover,.tt-theme ul.products li.product .button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.wpforms-form button[type=submit]:hover,.tt-form button[type=submit]:hover{
  background:var(--navy-700);border-color:var(--navy-700);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(10,56,85,.26)}
.btn.btn-sun,body .elementor .elementor-widget.btn-sun .elementor-button,.tt-static .btn-sun .elementor-button{background:var(--sun);border-color:var(--sun);color:var(--ink);box-shadow:0 8px 22px rgba(254,211,60,.35)}
.btn.btn-sun:hover,body .elementor .elementor-widget.btn-sun .elementor-button:hover,.tt-static .btn-sun .elementor-button:hover{background:var(--sun-600);border-color:var(--sun-600);color:var(--ink)}
.btn.btn-blue,body .elementor .elementor-widget.btn-blue .elementor-button{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 8px 22px rgba(11,168,255,.3)}
.btn.btn-blue:hover,body .elementor .elementor-widget.btn-blue .elementor-button:hover{background:var(--blue-600);border-color:var(--blue-600)}
.btn.btn-ghost,body .elementor .elementor-widget.btn-ghost .elementor-button{background:transparent;border-color:rgba(10,56,85,.35);color:var(--navy);box-shadow:none}
.btn.btn-ghost:hover,body .elementor .elementor-widget.btn-ghost .elementor-button:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.btn-ghost-light,body .elementor .elementor-widget.btn-ghost-light .elementor-button{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.45);color:#fff;box-shadow:none}
.btn.btn-ghost-light:hover,body .elementor .elementor-widget.btn-ghost-light .elementor-button:hover{background:#fff;border-color:#fff;color:var(--navy)}
.btn-sm{padding:11px 18px;font-size:.9rem}
.btn .arrow,body .elementor .elementor-button .elementor-button-text::after{content:"→";margin-left:.35em;transition:transform .25s var(--ease);display:inline-block}
body .elementor .elementor-widget.no-arrow .elementor-button .elementor-button-text::after{content:none}
.btn:hover .arrow,body .elementor .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}
body .elementor .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:.4em}
body .elementor .elementor-button-text{display:inline-flex;align-items:center}
/* inline buttons: Elementor's `_element_width: auto` makes the widget shrink so two can sit side by side */
body .elementor .elementor-widget.btn-inline{width:auto;margin-right:14px;margin-bottom:14px}
.tt-static .elementor-widget.btn-inline{width:auto;margin-right:14px;margin-bottom:14px}

/* =====================================================================
   HEADER
   ===================================================================== */
.tt-announce{background:var(--navy-900);color:#cfe6f7;font-size:.82rem;font-weight:500;letter-spacing:.02em;overflow:hidden}
.tt-announce .tt-container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}
.tt-announce a{color:#fff;font-weight:700}
.tt-announce a:hover{color:var(--sun)}
.tt-marquee{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.tt-marquee-track{display:flex;gap:40px;width:max-content;animation:tt-marquee 38s linear infinite}
.tt-marquee-track span{display:inline-flex;align-items:center;gap:40px;white-space:nowrap}
.tt-marquee-track span::after{content:"✦";color:var(--sun);font-size:.7rem}
@keyframes tt-marquee{to{transform:translateX(-50%)}}
.tt-announce-right{display:flex;gap:18px;align-items:center;white-space:nowrap}
@media (max-width:767px){.tt-announce-right .tt-announce-email{display:none}}

.tt-header{position:sticky;top:0;z-index:900;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
.tt-header.is-stuck{box-shadow:0 10px 30px rgba(6,35,58,.08);border-color:var(--line)}
.tt-header .tt-container{display:flex;align-items:center;gap:22px;min-height:84px}
.tt-logo{display:inline-flex;align-items:center;gap:12px;color:var(--navy);font-family:var(--font-display);line-height:1;flex:none}
.tt-logo img,.tt-logo .tt-logo-mark{width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--navy) inset,0 4px 10px rgba(10,56,85,.15)}
.tt-logo b{display:block;font-size:1.32rem;font-weight:800;letter-spacing:-.01em;text-transform:uppercase}
.tt-logo small{display:block;font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--blue-700);margin-top:3px}
.tt-nav{margin-left:auto}
.tt-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.tt-nav li{position:relative}
.tt-nav > ul > li > a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border-radius:999px;font-weight:600;font-size:.98rem;color:var(--ink);transition:background .2s,color .2s}
.tt-nav > ul > li > a:hover,.tt-nav > ul > li.current-menu-item > a,.tt-nav > ul > li.current-menu-ancestor > a,.tt-nav > ul > li.current_page_item > a{background:var(--blue-50);color:var(--navy)}
.tt-nav li.menu-item-has-children > a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6}
.tt-nav .sub-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);padding:10px;display:block;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:50}
.tt-nav li:hover > .sub-menu,.tt-nav li:focus-within > .sub-menu,.tt-nav li.is-open > .sub-menu{opacity:1;visibility:visible;transform:none}
.tt-nav .sub-menu li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;color:var(--ink);font-weight:500;font-size:.95rem}
.tt-nav .sub-menu li a:hover{background:var(--paper);color:var(--navy)}
.tt-nav .sub-menu li.tt-sub-heading{padding:6px 12px 4px;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tt-nav .sub-menu li.tt-sub-all a{font-weight:700;color:var(--blue-700)}
.tt-nav .sub-menu .tt-shop-status{font-size:.68rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#e3f8ec;color:#0f7a45}
.tt-nav .sub-menu .tt-shop-status.is-closed{background:#f2f4f7;color:var(--muted)}
.tt-actions{display:flex;align-items:center;gap:6px;flex:none;margin-left:auto}
.tt-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s}
.tt-icon-btn:hover{background:var(--blue-50);color:var(--navy)}
.tt-icon-btn svg{width:22px;height:22px}
.tt-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--ink)}
.tt-cart:hover{background:var(--blue-50);color:var(--navy)}
.tt-cart svg{width:22px;height:22px}
.tt-cart-count{position:absolute;top:2px;right:0;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--sun);color:var(--ink);font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.tt-actions .btn{margin-left:8px}
.tt-burger{display:none}
.tt-burger span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;margin:5px 0;transition:transform .3s,opacity .3s}
.tt-search-bar{border-top:1px solid var(--line);background:#fff;display:none}
.tt-search-bar.is-open{display:block}
.tt-search-bar form{display:flex;gap:10px;padding:14px 0}
.tt-search-bar input[type=search]{flex:1;font:inherit;padding:14px 18px;border:2px solid var(--line);border-radius:999px;background:var(--paper)}
.tt-search-bar input[type=search]:focus{outline:none;border-color:var(--blue)}
@media (max-width:600px){
  .tt-account,.tt-actions [data-search-toggle]{display:none}
  .tt-header .tt-container{gap:8px}
  .tt-actions{gap:0}
}
.tt-drawer-search{display:flex;gap:8px}
.tt-drawer-search input[type=search]{flex:1;min-width:0;font:inherit;font-size:16px;padding:12px 16px;border:2px solid var(--line);border-radius:999px;background:var(--paper)}
.tt-drawer-search input[type=search]:focus{outline:none;border-color:var(--blue)}
.tt-drawer .tt-drawer-search .btn{width:auto;flex:none;padding:12px 20px;margin:0}
.tt-drawer-search input[type=search]{flex:1 1 auto;width:auto}
@media (max-width:1024px){
  .tt-header .tt-container{min-height:72px;gap:12px}
  .tt-nav{display:none}
  .tt-actions .btn{display:none}
  .tt-burger{display:inline-flex;flex-direction:column;justify-content:center}
  .tt-logo b{font-size:1.15rem}
}
/* mobile drawer */
.tt-drawer{position:fixed;inset:0;z-index:1000;display:none}
.tt-drawer.is-open{display:block}
.tt-drawer-backdrop{position:absolute;inset:0;background:rgba(6,35,58,.6);backdrop-filter:blur(2px)}
.tt-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,380px);background:#fff;padding:22px 22px 32px;overflow-y:auto;display:flex;flex-direction:column;gap:18px;transform:translateX(100%);transition:transform .35s var(--ease);box-shadow:var(--shadow-lg)}
.tt-drawer.is-open .tt-drawer-panel{transform:none}
.tt-drawer-head{display:flex;align-items:center;justify-content:space-between}
.tt-drawer-nav ul{list-style:none;margin:0;padding:0}
.tt-drawer-nav > ul > li > a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-weight:700;font-size:1.15rem;color:var(--ink)}
.tt-drawer-nav .sub-menu{padding:6px 0 10px 12px}
.tt-drawer-nav .sub-menu a{display:flex;justify-content:space-between;align-items:center;padding:9px 4px;color:var(--body);font-weight:500}
.tt-drawer-nav .sub-menu .tt-sub-heading{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding:8px 4px 2px}
.tt-drawer-nav .sub-menu .tt-shop-status{font-size:.68rem;font-weight:700;padding:3px 8px;border-radius:999px;background:#e3f8ec;color:#0f7a45}
.tt-drawer-nav .sub-menu .tt-shop-status.is-closed{background:#f2f4f7;color:var(--muted)}
.tt-drawer-contact{margin-top:auto;font-size:.95rem;color:var(--muted);line-height:1.8}
.tt-drawer-contact a{color:var(--navy);font-weight:600}
.tt-drawer .btn{width:100%}
body.tt-drawer-open{overflow:hidden}

/* =====================================================================
   FOOTER — flat deep navy, one blue rule, a closing CTA, no texture
   ===================================================================== */
.tt-footer{position:relative;background:var(--navy-900);color:#b8cfe0;margin-top:0;border-top:4px solid var(--blue)}
.tt-footer .tt-container{position:relative}
.tt-footer-cta{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;padding:56px 0 48px;border-bottom:1px solid var(--line-dark)}
.tt-footer-cta h2{color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);margin:0 0 8px;letter-spacing:-.02em}
.tt-footer-cta p{margin:0;color:#a9c2d6;max-width:48ch;font-size:1.02rem}
.tt-footer-cta-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.tt-footer-news h3{color:#fff;font-size:1.25rem;margin:0 0 6px}
.tt-footer-news p{color:#a9c2d6;margin:0 0 14px;font-size:.95rem}
.tt-footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding:56px 0 48px}
.tt-footer h4{color:#fff;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;margin:0 0 18px;font-weight:700}
.tt-footer ul{list-style:none;margin:0;padding:0}
.tt-footer li{margin:0 0 12px}
.tt-footer a{color:#d6e6f2}
.tt-footer a:hover{color:var(--sun)}
.tt-footer .tt-logo{color:#fff;margin-bottom:18px}
.tt-footer .tt-logo small{color:var(--blue)}
.tt-footer-brand p{max-width:40ch;color:#a9c2d6;font-size:.98rem;margin-bottom:20px}
.tt-footer-address{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line-dark);border-radius:16px;background:rgba(255,255,255,.04);color:#d6e6f2;line-height:1.6;max-width:360px;transition:background .2s,border-color .2s}
.tt-footer-address:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#fff}
.tt-footer-address svg{flex:none;width:22px;height:22px;color:var(--sun);margin-top:2px}
.tt-footer-address strong{color:#fff;display:block;font-family:var(--font-display);font-size:1rem}
.tt-socials{display:flex;gap:10px;margin-top:22px}
.tt-socials a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .2s,transform .2s}
.tt-socials a:hover{background:var(--blue);color:#fff;transform:translateY(-2px)}
.tt-socials svg{width:18px;height:18px}
.tt-footer-bottom{border-top:1px solid var(--line-dark);padding:22px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem;color:#8fb0c9}
.tt-footer-bottom a{color:#b8cfe0}
@media (max-width:1024px){.tt-footer-top{grid-template-columns:1fr 1fr;gap:32px}.tt-footer-cta{grid-template-columns:1fr}}
@media (max-width:600px){.tt-footer-top{grid-template-columns:1fr;padding:44px 0 32px}.tt-footer-cta{padding:44px 0 36px}.tt-footer-cta-actions .btn{width:100%}}

/* =====================================================================
   ELEMENTOR-DOM SECTION SYSTEM
   Shared by real Elementor pages, the editor, and the PHP fallback (.tt-static)
   ===================================================================== */
/* base layout replica, only for the fallback — Elementor ships its own */
.tt-static .elementor-section{position:relative}
.tt-static .elementor-section-boxed>.elementor-container{max-width:1200px}
.tt-static .elementor-container{display:flex;margin-inline:auto;position:relative}
.tt-static .elementor-column{position:relative;min-height:1px;display:flex}
.tt-static .elementor-col-100{width:100%}.tt-static .elementor-col-66{width:66.666%}.tt-static .elementor-col-60{width:60%}.tt-static .elementor-col-55{width:55%}.tt-static .elementor-col-50{width:50%}.tt-static .elementor-col-45{width:45%}.tt-static .elementor-col-40{width:40%}.tt-static .elementor-col-33{width:33.333%}.tt-static .elementor-col-25{width:25%}
.tt-static .elementor-widget-wrap{position:relative;width:100%;flex-wrap:wrap;align-content:flex-start;display:flex}
.tt-static .elementor-widget{position:relative;width:100%}
.tt-static .elementor-widget:not(:last-child){margin-bottom:20px}
.tt-static .elementor-widget-container{width:100%}
.tt-static .elementor-heading-title{padding:0;margin:0}
.tt-static .elementor-icon-list-items{list-style:none;padding:0;margin:0}
.tt-static .elementor-icon-list-item{display:flex;align-items:center}
.tt-static .elementor-toggle .elementor-tab-content{display:none}
.tt-static .elementor-toggle .elementor-toggle-item.is-open .elementor-tab-content{display:block}
@media (max-width:767px){.tt-static .elementor-column{width:100%}}

/* section rhythm — leave Elementor's padding controls unset; the theme governs spacing */
body .elementor .elementor-section.section,.tt-static .elementor-section.section{padding-block:clamp(64px,8vw,112px);position:relative}
body .elementor .elementor-section.section > .elementor-container,.tt-static .elementor-section.section > .elementor-container{padding-inline:var(--gutter);position:relative;z-index:2}
body .elementor .elementor-section.section-tight{padding-block:clamp(40px,5vw,64px)}
body .elementor .elementor-section.section-navy,.tt-static .section-navy{background:var(--navy);color:#cfe3f3}
body .elementor .elementor-section.section-navy900,.tt-static .section-navy900{background:var(--navy-900);color:#cfe3f3}
body .elementor .elementor-section.section-paper,.tt-static .section-paper{background:var(--paper)}
body .elementor .elementor-section.section-white,.tt-static .section-white{background:#fff}
body .elementor .elementor-section.section-sun,.tt-static .section-sun{background:var(--sun);color:var(--ink)}
body .elementor .elementor-section.section-sun::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 20%,rgba(255,255,255,.4),transparent 65%);pointer-events:none}
body .elementor .elementor-section.section-navy::before,body .elementor .elementor-section.section-navy900::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 60% at 88% 0%,rgba(11,168,255,.24),transparent 62%),radial-gradient(40% 50% at 5% 100%,rgba(254,211,60,.08),transparent 60%);pointer-events:none}
.tt-static .section-sun::before,.tt-static .section-navy::before,.tt-static .section-navy900::before{content:"";position:absolute;inset:0;pointer-events:none}
.tt-static .section-sun::before{background:radial-gradient(60% 80% at 85% 20%,rgba(255,255,255,.4),transparent 65%)}
.tt-static .section-navy::before,.tt-static .section-navy900::before{background:radial-gradient(55% 60% at 88% 0%,rgba(11,168,255,.24),transparent 62%),radial-gradient(40% 50% at 5% 100%,rgba(254,211,60,.08),transparent 60%)}
body .elementor .elementor-section.has-drip{z-index:4}

/* column gaps: sections that put text beside media */
body .elementor .elementor-section.split > .elementor-container,.tt-static .split > .elementor-container{align-items:center;gap:clamp(32px,5vw,72px)}
body .elementor .elementor-section.split-top > .elementor-container,.tt-static .split-top > .elementor-container{align-items:flex-start;gap:clamp(32px,5vw,72px)}
body .elementor .elementor-section.cols-gap > .elementor-container,.tt-static .cols-gap > .elementor-container{gap:24px}
body .elementor .elementor-section.centered .elementor-widget-wrap,.tt-static .centered .elementor-widget-wrap{justify-content:center;text-align:center}
body .elementor .elementor-section.centered .elementor-widget-container,.tt-static .centered .elementor-widget-container{margin-inline:auto}
body .elementor .elementor-section.centered .elementor-widget.btn-inline,.tt-static .centered .elementor-widget.btn-inline{margin-inline:7px}
@media (max-width:1024px){
  body .elementor .elementor-section.split > .elementor-container,.tt-static .split > .elementor-container,
  body .elementor .elementor-section.split-top > .elementor-container,.tt-static .split-top > .elementor-container{flex-wrap:wrap;gap:36px}
  body .elementor .elementor-section.split > .elementor-container > .elementor-column,.tt-static .split > .elementor-container > .elementor-column,
  body .elementor .elementor-section.split-top > .elementor-container > .elementor-column,.tt-static .split-top > .elementor-container > .elementor-column{width:100%}
  body .elementor .elementor-section.cols-gap > .elementor-container,.tt-static .cols-gap > .elementor-container{flex-wrap:wrap}
  body .elementor .elementor-section.cols-gap > .elementor-container > .elementor-column,.tt-static .cols-gap > .elementor-container > .elementor-column{width:100%}
}
/* keep 3-up stat columns side by side down to phones */
body .elementor .elementor-section.stats > .elementor-container,.tt-static .stats > .elementor-container{gap:24px;align-items:stretch}
@media (max-width:767px){
  body .elementor .elementor-section.stats > .elementor-container,.tt-static .stats > .elementor-container{flex-wrap:wrap;gap:12px}
  body .elementor .elementor-section.stats > .elementor-container > .elementor-column,.tt-static .stats > .elementor-container > .elementor-column{width:100%}
}

/* widget typography — (0,3,1) beats the kit's (0,3,0) without beating a client's own picker */
body .elementor .elementor-widget-heading .elementor-heading-title,.tt-static .elementor-widget-heading .elementor-heading-title{font-family:var(--font-display);color:var(--ink);font-weight:700;line-height:1.08;letter-spacing:-.02em}
body .elementor .elementor-widget-heading h1.elementor-heading-title,.tt-static h1.elementor-heading-title{font-size:clamp(2.5rem,5.4vw,4.5rem);letter-spacing:-.03em;line-height:1.02}
body .elementor .elementor-widget-heading h2.elementor-heading-title,.tt-static h2.elementor-heading-title{font-size:clamp(1.9rem,3.6vw,3rem)}
body .elementor .elementor-widget-heading h3.elementor-heading-title,.tt-static h3.elementor-heading-title{font-size:clamp(1.25rem,2vw,1.6rem)}
body .elementor .elementor-widget-heading .elementor-heading-title em,.tt-static .elementor-heading-title em{font-style:normal;color:var(--blue);position:relative;white-space:nowrap}
body .elementor .elementor-widget-heading .elementor-heading-title em::after,.tt-static .elementor-heading-title em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.16em;background:var(--sun);border-radius:99px;z-index:-1;transform:skew(-8deg)}
body .elementor .elementor-widget-text-editor,.tt-static .elementor-widget-text-editor{color:var(--body);font-size:1.05rem;line-height:1.7}
body .elementor .elementor-widget-text-editor p:last-child,.tt-static .elementor-widget-text-editor p:last-child{margin-bottom:0}
body .elementor .elementor-widget.lede .elementor-widget-container,.tt-static .lede .elementor-widget-container{font-size:1.18rem;max-width:56ch}
body .elementor .elementor-widget.measure .elementor-widget-container,.tt-static .measure .elementor-widget-container{max-width:62ch}
body .elementor .elementor-widget.eyebrow .elementor-heading-title,.tt-static .eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-700);line-height:1.2}
body .elementor .elementor-widget.eyebrow .elementor-heading-title::before,.tt-static .eyebrow .elementor-heading-title::before{content:"";width:26px;height:3px;border-radius:99px;background:var(--sun)}
body .elementor .elementor-widget.eyebrow,.tt-static .elementor-widget.eyebrow{margin-bottom:14px}
body .elementor .elementor-widget-heading:not(.eyebrow),.tt-static .elementor-widget-heading:not(.eyebrow){margin-bottom:18px}
body .elementor .elementor-widget-text-editor,.tt-static .elementor-widget-text-editor{margin-bottom:28px}
body .elementor .elementor-widget-text-editor + .elementor-widget-html,.tt-static .elementor-widget-text-editor + .elementor-widget-html,body .elementor .elementor-widget-text-editor + .elementor-widget-shortcode,.tt-static .elementor-widget-text-editor + .elementor-widget-shortcode{margin-top:14px}
body .elementor .elementor-widget.tight,.tt-static .elementor-widget.tight{margin-bottom:10px}
body .elementor .elementor-widget:last-child,.tt-static .elementor-widget:last-child{margin-bottom:0}
/* on dark sections */
body .elementor .section-navy .elementor-widget-heading .elementor-heading-title,body .elementor .section-navy900 .elementor-widget-heading .elementor-heading-title,.tt-static .section-navy .elementor-heading-title,.tt-static .section-navy900 .elementor-heading-title{color:#fff}
body .elementor .section-navy .elementor-widget-text-editor,body .elementor .section-navy900 .elementor-widget-text-editor,.tt-static .section-navy .elementor-widget-text-editor,.tt-static .section-navy900 .elementor-widget-text-editor{color:#c8ddec}
body .elementor .section-navy .elementor-widget.eyebrow .elementor-heading-title,body .elementor .section-navy900 .elementor-widget.eyebrow .elementor-heading-title,.tt-static .section-navy .eyebrow .elementor-heading-title,.tt-static .section-navy900 .eyebrow .elementor-heading-title{color:var(--blue)}
body .elementor .section-navy .elementor-widget-heading .elementor-heading-title em::after,.tt-static .section-navy .elementor-heading-title em::after{background:var(--sun);opacity:.9}
/* on sun */
body .elementor .section-sun .elementor-widget.eyebrow .elementor-heading-title,.tt-static .section-sun .eyebrow .elementor-heading-title{color:var(--navy)}
body .elementor .section-sun .elementor-widget.eyebrow .elementor-heading-title::before,.tt-static .section-sun .eyebrow .elementor-heading-title::before{background:var(--navy)}
body .elementor .section-sun .elementor-widget-text-editor,.tt-static .section-sun .elementor-widget-text-editor{color:#3a3410}

/* icon lists */
body .elementor .elementor-icon-list-items,.tt-static .elementor-icon-list-items{display:flex;flex-direction:column;gap:12px}
body .elementor .elementor-icon-list-item,.tt-static .elementor-icon-list-item{display:flex;align-items:flex-start;gap:12px;font-size:1.02rem;color:var(--body);line-height:1.5}
body .elementor .elementor-icon-list-icon,.tt-static .elementor-icon-list-icon{flex:none;width:26px;height:26px;border-radius:50%;background:var(--blue-100);display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
body .elementor .elementor-icon-list-icon i,.tt-static .elementor-icon-list-icon i{color:var(--blue-700);font-size:.8rem;font-style:normal}
body .elementor .elementor-icon-list-icon svg,.tt-static .elementor-icon-list-icon svg{width:12px;height:12px;fill:var(--blue-700)}
body .elementor .elementor-icon-list-text,.tt-static .elementor-icon-list-text{color:inherit}
body .elementor .section-navy .elementor-icon-list-item,.tt-static .section-navy .elementor-icon-list-item{color:#dbe9f4}
body .elementor .section-navy .elementor-icon-list-icon,.tt-static .section-navy .elementor-icon-list-icon{background:rgba(254,211,60,.18)}
body .elementor .section-navy .elementor-icon-list-icon i,.tt-static .section-navy .elementor-icon-list-icon i{color:var(--sun)}
body .elementor .section-navy .elementor-icon-list-icon svg,.tt-static .section-navy .elementor-icon-list-icon svg{fill:var(--sun)}
/* inline trust row variant */
body .elementor .elementor-widget.list-inline .elementor-icon-list-items,.tt-static .list-inline .elementor-icon-list-items{flex-direction:row;flex-wrap:wrap;gap:10px 22px}
body .elementor .elementor-widget.list-inline .elementor-icon-list-item,.tt-static .list-inline .elementor-icon-list-item{font-size:.95rem;font-weight:600}

/* toggles (FAQ) */
body .elementor .elementor-toggle,.tt-static .elementor-toggle{display:flex;flex-direction:column;gap:12px}
body .elementor .elementor-toggle .elementor-toggle-item,.tt-static .elementor-toggle-item{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;box-shadow:var(--shadow-sm)}
body .elementor .elementor-toggle .elementor-tab-title,.tt-static .elementor-toggle .elementor-tab-title{display:flex;align-items:center;gap:14px;padding:18px 22px;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--ink);border:0}
body .elementor .elementor-toggle .elementor-tab-title .elementor-toggle-title,.tt-static .elementor-toggle .elementor-toggle-title{color:var(--ink);flex:1}
body .elementor .elementor-toggle .elementor-tab-title:hover .elementor-toggle-title{color:var(--blue-700)}
body .elementor .elementor-toggle .elementor-toggle-icon,.tt-static .elementor-toggle-icon{order:2;flex:none;width:30px;height:30px;border-radius:50%;background:var(--blue-100);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-size:.9rem}
body .elementor .elementor-toggle .elementor-toggle-icon i,.tt-static .elementor-toggle-icon i{font-style:normal;color:var(--navy)}
body .elementor .elementor-toggle .elementor-tab-content,.tt-static .elementor-toggle .elementor-tab-content{padding:0 22px 20px;border:0;color:var(--body);font-size:1rem;line-height:1.7}
body .elementor .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon{background:var(--navy);color:#fff}
body .elementor .elementor-toggle .elementor-tab-title.elementor-active .elementor-toggle-icon i{color:#fff}

/* shortcode widgets */
body .elementor .elementor-widget-shortcode:last-child,.tt-static .elementor-widget-shortcode:last-child{margin-bottom:0}
body .elementor .elementor-widget-shortcode:not(:last-child),.tt-static .elementor-widget-shortcode:not(:last-child){margin-bottom:36px}

/* =====================================================================
   COMPONENTS (inside HTML widgets, shortcodes, and PHP templates)
   ===================================================================== */
/* ---- hero ---- */
body .elementor .elementor-section.hero,.tt-static .hero{background:radial-gradient(60% 70% at 88% 10%,rgba(11,168,255,.35),transparent 60%),radial-gradient(40% 50% at 8% 95%,rgba(254,211,60,.22),transparent 60%),var(--navy);color:#d6e7f4;overflow:visible;padding-block:clamp(56px,7vw,96px) clamp(88px,10vw,140px)}
body .elementor .elementor-section.hero::before,.tt-static .hero::before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg stroke='%23ffffff' stroke-opacity='0.06' stroke-linecap='round'%3E%3Cline x1='82.1' y1='47.1' x2='111.5' y2='17.7' stroke-width='9.6'/%3E%3Cline x1='16.5' y1='98.6' x2='52.2' y2='62.9' stroke-width='10.5'/%3E%3Cline x1='19.0' y1='42.3' x2='39.9' y2='21.4' stroke-width='10.7'/%3E%3Cline x1='45.6' y1='129.0' x2='69.6' y2='104.9' stroke-width='9.5'/%3E%3Cline x1='94.7' y1='117.8' x2='127.9' y2='84.5' stroke-width='10.2'/%3E%3Cline x1='58.6' y1='90.0' x2='100.3' y2='48.3' stroke-width='12.9'/%3E%3Cline x1='116.9' y1='68.5' x2='145.5' y2='39.9' stroke-width='12.0'/%3E%3C/g%3E%3C/svg%3E");background-size:160px 160px;pointer-events:none;mask-image:linear-gradient(180deg,#000,transparent 85%)}
body .elementor .elementor-section.hero > .elementor-container,.tt-static .hero > .elementor-container{align-items:center;gap:clamp(24px,4vw,64px)}
body .elementor .hero .elementor-widget-heading .elementor-heading-title,.tt-static .hero .elementor-heading-title{color:#fff}
body .elementor .hero .elementor-widget-text-editor,.tt-static .hero .elementor-widget-text-editor{color:#cfe2f1}
body .elementor .hero .elementor-widget.eyebrow .elementor-heading-title,.tt-static .hero .eyebrow .elementor-heading-title{display:inline-flex;padding:8px 14px 8px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;letter-spacing:.12em;font-size:.72rem}
body .elementor .hero .elementor-widget.eyebrow .elementor-heading-title::before,.tt-static .hero .eyebrow .elementor-heading-title::before{width:8px;height:8px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(254,211,60,.25)}
body .elementor .hero .elementor-icon-list-item,.tt-static .hero .elementor-icon-list-item{color:#dbe9f4}
body .elementor .hero .elementor-icon-list-icon,.tt-static .hero .elementor-icon-list-icon{background:rgba(255,255,255,.1)}
body .elementor .hero .elementor-icon-list-icon i,.tt-static .hero .elementor-icon-list-icon i{color:var(--sun)}
body .elementor .hero .elementor-icon-list-icon svg,.tt-static .hero .elementor-icon-list-icon svg{fill:var(--sun)}
body .elementor .hero .elementor-widget.list-inline,.tt-static .hero .list-inline{margin-top:10px}
@media (max-width:1024px){
  body .elementor .elementor-section.hero > .elementor-container,.tt-static .hero > .elementor-container{flex-wrap:wrap}
  body .elementor .elementor-section.hero > .elementor-container > .elementor-column,.tt-static .hero > .elementor-container > .elementor-column{width:100%}
}
.hero-art{position:relative;width:100%;max-width:540px;aspect-ratio:1/1;margin-inline:auto}
.hero-tile{position:absolute;width:52%;border-radius:26px;overflow:hidden;box-shadow:var(--shadow-lg);background:radial-gradient(70% 55% at 50% 100%,#d9e5f1,transparent 72%),linear-gradient(180deg,#ffffff 0%,#edf3f9 100%);transition:transform .5s var(--ease)}
.hero-tile img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1}
.hero-tile.t1{left:2%;top:8%;transform:rotate(-7deg);z-index:2}
.hero-tile.t2{right:0;top:0;width:48%;transform:rotate(6deg);z-index:1}
.hero-tile.t3{left:24%;bottom:2%;width:50%;transform:rotate(3deg);z-index:3}
.hero-art:hover .hero-tile{transform:rotate(0)}
.hero-card{position:absolute;right:-2%;bottom:16%;z-index:5;background:#fff;color:var(--ink);border-radius:18px;padding:14px 18px 14px 16px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:2px;min-width:200px;animation:tt-float 6s ease-in-out infinite}
.hero-card .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px rgba(23,178,106,.2);margin-right:8px;vertical-align:middle}
.hero-card strong{font-family:var(--font-display);font-size:1rem}
.hero-card span{font-size:.8rem;color:var(--muted)}
.hero-badge{position:absolute;left:-4%;top:-4%;z-index:6;width:104px;height:104px;border-radius:50%;background:var(--sun);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-display);line-height:1;box-shadow:0 14px 30px rgba(254,211,60,.35);transform:rotate(-10deg);animation:tt-float 7s ease-in-out infinite reverse}
.hero-badge span{font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.hero-badge b{font-size:1.9rem;font-weight:800;letter-spacing:-.03em}
@keyframes tt-float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media (max-width:767px){body .elementor .hero .elementor-widget.eyebrow .elementor-heading-title,.tt-static .hero .eyebrow .elementor-heading-title{font-size:.64rem;letter-spacing:.08em;padding:7px 12px 7px 9px}.hero-art{max-width:360px}.hero-card{right:0;min-width:0;padding:10px 14px}.hero-card strong{font-size:.9rem}.hero-badge{width:84px;height:84px}.hero-badge b{font-size:1.5rem}}

/* ---- stats ---- */
body .elementor .elementor-section.stats,.tt-static .stats{padding-block:clamp(56px,7vw,88px) clamp(40px,5vw,64px)}
body .elementor .stats .elementor-column > .elementor-widget-wrap,.tt-static .stats .elementor-widget-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 30px 26px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;align-content:center}
body .elementor .stats .elementor-column > .elementor-widget-wrap::before,.tt-static .stats .elementor-widget-wrap::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--blue),var(--sun))}
body .elementor .stats .elementor-widget-heading .elementor-heading-title,.tt-static .stats .elementor-heading-title{font-size:clamp(2.6rem,4.5vw,3.6rem);font-weight:800;letter-spacing:-.04em;color:var(--navy);line-height:1}
body .elementor .stats .elementor-widget-heading,.tt-static .stats .elementor-widget-heading{margin-bottom:6px}
body .elementor .stats .elementor-widget-text-editor,.tt-static .stats .elementor-widget-text-editor{font-weight:600;color:var(--muted);font-size:.95rem;letter-spacing:.02em;text-transform:uppercase;margin-bottom:0}

/* ---- service cards ---- */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.svc-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px 28px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;overflow:hidden}
.svc-card::after{content:"";position:absolute;left:28px;right:28px;top:0;height:4px;border-radius:0 0 6px 6px;background:var(--blue);transform:scaleX(.25);transform-origin:left;transition:transform .4s var(--ease)}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent}
.svc-card:hover::after{transform:scaleX(1)}
.svc-icon{width:56px;height:56px;border-radius:16px;background:var(--blue-100);color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.svc-icon svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.svc-card h3{font-size:1.3rem;margin-bottom:10px}
.svc-card p{margin:0;font-size:.98rem;color:var(--body)}
.svc-card a.svc-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:700;color:var(--blue-700);font-size:.95rem}
.svc-card a.svc-link:hover{color:var(--navy)}
@media (max-width:1024px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.svc-grid{grid-template-columns:1fr;gap:14px}.svc-card{padding:24px 22px}}

/* ---- catalog tiles ---- */
.cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.cat-tile{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.cat-tile:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:var(--shadow-md);color:var(--navy)}
.cat-img{display:block;aspect-ratio:1/1;overflow:hidden;background:radial-gradient(70% 55% at 50% 100%,#dbe6f1,transparent 72%),linear-gradient(180deg,#f8fafd 0%,#eaf0f7 100%)}
.cat-img img,body .elementor .cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.cat-tile:hover .cat-img img{transform:scale(1.06)}
.cat-name{display:block;font-family:var(--font-display);font-weight:700;font-size:1.05rem;padding:14px 16px 2px}
.cat-cta{display:block;font-size:.8rem;font-weight:600;color:var(--blue-700);padding:0 16px 14px;opacity:.85}
@media (max-width:1024px){.cat-grid{grid-template-columns:repeat(4,1fr);gap:14px}}
@media (max-width:600px){.cat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.cat-name{font-size:.95rem;padding:10px 12px 0}.cat-cta{padding:0 12px 10px;font-size:.75rem}}
body .elementor .elementor-widget.catalog-widget,.tt-static .catalog-widget{margin-top:14px;margin-bottom:34px}

/* ---- proof card (custom design section art) ---- */
.proof-card{position:relative;max-width:460px;margin-inline:auto;background:#fff;border-radius:24px;box-shadow:var(--shadow-lg);overflow:hidden;transform:rotate(2deg);transition:transform .5s var(--ease)}
.proof-card:hover{transform:rotate(0)}
.proof-top{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--paper)}
.proof-dot{width:10px;height:10px;border-radius:50%;background:#dfe6ee}
.proof-dot:nth-child(1){background:#ff8a80}.proof-dot:nth-child(2){background:var(--sun)}.proof-dot:nth-child(3){background:#7bdcb5}
.proof-title{margin-left:auto;font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.proof-body{position:relative;padding:28px 28px 16px;display:flex;justify-content:center;background:radial-gradient(60% 60% at 50% 40%,var(--blue-50),#fff 70%)}
.proof-tee{width:min(100%,300px);filter:drop-shadow(0 18px 24px rgba(10,56,85,.18))}
.proof-label{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-4deg);font-family:var(--font-display);font-weight:800;font-size:1.05rem;letter-spacing:.08em;color:var(--sun);text-shadow:0 2px 0 rgba(0,0,0,.25);border:2px dashed rgba(254,211,60,.9);padding:8px 12px;border-radius:10px;white-space:nowrap}
.proof-foot{display:flex;flex-wrap:wrap;gap:8px;padding:8px 18px 20px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--paper);color:var(--body);border:1px solid var(--line)}
.chip-ok{background:#e3f8ec;color:#0f7a45;border-color:transparent}

/* ---- shop cards (brand mini-shops) ---- */
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.shop-card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:var(--radius);overflow:hidden;color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.18);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.shop-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px rgba(0,0,0,.28);color:var(--navy)}
.shop-media{position:relative;display:block;aspect-ratio:4/3;background:var(--paper);overflow:hidden}
.shop-media img,body .elementor .shop-media img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s var(--ease)}
.shop-card:hover .shop-media img{transform:scale(1.05)}
.shop-media::after{content:"";position:absolute;inset:auto 0 0 0;height:40%;background:linear-gradient(180deg,transparent,rgba(6,35,58,.25))}
.shop-status{position:absolute;top:14px;left:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#fff;color:#0f7a45;font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--shadow-sm)}
.shop-status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.shop-status.is-closed{color:var(--muted)}
.shop-status.is-closed::before{background:#c4ccd6}
.shop-body{display:flex;flex-direction:column;gap:4px;padding:20px 22px 22px;flex:1}
.shop-name{font-family:var(--font-display);font-weight:700;font-size:1.3rem;letter-spacing:-.01em}
.shop-meta{font-size:.88rem;color:var(--muted)}
.shop-tagline{font-size:.95rem;color:var(--body);margin-top:4px}
.shop-cta{margin-top:auto;padding-top:14px;font-weight:700;color:var(--blue-700);font-size:.95rem}
.shop-card:hover .shop-cta{color:var(--navy)}
.shop-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.shop-empty{padding:32px;border:2px dashed var(--line-dark);border-radius:var(--radius);text-align:center;color:inherit}
@media (max-width:1024px){.shop-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media (max-width:600px){.shop-grid{grid-template-columns:1fr}}
body .elementor .elementor-widget.shops-widget,.tt-static .shops-widget{margin-top:10px;margin-bottom:36px}

/* ---- steps ---- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:step}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px 28px 30px;box-shadow:var(--shadow-sm);overflow:hidden}
.step::before{counter-increment:step;content:"0" counter(step);position:absolute;right:18px;top:6px;font-family:var(--font-display);font-size:5rem;font-weight:800;letter-spacing:-.06em;color:var(--blue-100);line-height:1}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--sun);font-family:var(--font-display);font-weight:800;margin-bottom:20px;position:relative}
.step h3{position:relative;font-size:1.3rem;margin-bottom:10px}
.step p{position:relative;margin:0;color:var(--body);font-size:.98rem}
@media (max-width:1024px){.steps{grid-template-columns:1fr}}

/* ---- minishops panel section ---- */
body .elementor .elementor-section.minishops,.tt-static .minishops{background:var(--navy);color:#cfe3f3;border-radius:34px;width:min(100% - 2*var(--gutter),var(--container));margin-inline:auto;margin-block:clamp(40px,5vw,72px) clamp(64px,8vw,112px);padding-block:clamp(48px,6vw,80px);overflow:hidden}
body .elementor .elementor-section.minishops::before,.tt-static .minishops::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 60% at 0% 100%,rgba(254,211,60,.10),transparent 60%);pointer-events:none}
body .elementor .elementor-section.minishops::after,.tt-static .minishops::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(11,168,255,.5),transparent 65%);pointer-events:none}
body .elementor .elementor-section.minishops > .elementor-container,.tt-static .minishops > .elementor-container{padding-inline:clamp(24px,5vw,64px);align-items:center;gap:clamp(24px,4vw,56px)}
body .elementor .minishops .elementor-widget-heading .elementor-heading-title,.tt-static .minishops .elementor-heading-title{color:#fff}
body .elementor .minishops .elementor-widget-text-editor,.tt-static .minishops .elementor-widget-text-editor{color:#c8ddec}
body .elementor .minishops .elementor-widget.eyebrow .elementor-heading-title,.tt-static .minishops .eyebrow .elementor-heading-title{color:var(--blue)}
body .elementor .minishops .elementor-icon-list-item,.tt-static .minishops .elementor-icon-list-item{color:#e3eef6}
body .elementor .minishops .elementor-icon-list-icon,.tt-static .minishops .elementor-icon-list-icon{background:rgba(254,211,60,.18)}
body .elementor .minishops .elementor-icon-list-icon i,.tt-static .minishops .elementor-icon-list-icon i{color:var(--sun)}
body .elementor .minishops .elementor-icon-list-icon svg,.tt-static .minishops .elementor-icon-list-icon svg{fill:var(--sun)}
body .elementor .minishops .elementor-column.policy-col > .elementor-widget-wrap,.tt-static .minishops .policy-col > .elementor-widget-wrap{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:28px}
body .elementor .minishops .policy-col .elementor-widget-heading .elementor-heading-title,.tt-static .minishops .policy-col .elementor-heading-title{font-size:1.1rem;color:var(--sun)}
body .elementor .elementor-section.minishops-outer,.tt-static .minishops-outer{padding-block:0 clamp(64px,8vw,112px)}
@media (max-width:1024px){
  body .elementor .elementor-section.minishops > .elementor-container,.tt-static .minishops > .elementor-container{flex-wrap:wrap}
  body .elementor .elementor-section.minishops > .elementor-container > .elementor-column,.tt-static .minishops > .elementor-container > .elementor-column{width:100%}
}
@media (max-width:600px){body .elementor .elementor-section.minishops,.tt-static .minishops{border-radius:24px}}

/* ---- story / quote ---- */
body .elementor .elementor-widget.quote-big .elementor-widget-container,.tt-static .quote-big .elementor-widget-container{position:relative;font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.45;color:var(--navy);font-weight:500;padding-left:28px;border-left:4px solid var(--sun)}
body .elementor .elementor-widget.quote-big .elementor-widget-container::before,.tt-static .quote-big .elementor-widget-container::before{content:"“";position:absolute;left:-12px;top:-46px;font-size:7rem;color:var(--blue-100);font-weight:800;line-height:1;z-index:-1}
body .elementor .elementor-widget.quote-big,.tt-static .quote-big{margin-bottom:0}
.story-cite{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:.92rem;color:var(--muted)}
.story-cite img{width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--navy) inset}
.story-cite strong{display:block;color:var(--ink);font-family:var(--font-display)}

/* ---- values ---- */
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.value{background:#fff;border-radius:var(--radius);padding:30px 28px;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.value-icon{width:48px;height:48px;border-radius:14px;background:var(--sun);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.2rem;margin-bottom:18px}
.value h3{font-size:1.25rem;margin-bottom:8px}
.value p{margin:0;color:var(--body);font-size:.98rem}
@media (max-width:1024px){.values{grid-template-columns:1fr}}

/* ---- timeline strip (about) ---- */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.timeline > div{padding:28px 26px;border-right:1px solid var(--line)}
.timeline > div:last-child{border-right:0}
.timeline b{display:block;font-family:var(--font-display);font-size:2rem;color:var(--blue-700);letter-spacing:-.03em;line-height:1;margin-bottom:8px}
.timeline span{color:var(--body);font-size:.95rem}
@media (max-width:767px){.timeline{grid-template-columns:1fr}.timeline > div{border-right:0;border-bottom:1px solid var(--line)}.timeline > div:last-child{border-bottom:0}}

/* ---- contact info cards ---- */
.info-list{display:grid;gap:14px}
.info-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow-sm);color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s}
a.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--navy)}
.info-icon{flex:none;width:46px;height:46px;border-radius:14px;background:var(--blue-100);color:var(--navy);display:flex;align-items:center;justify-content:center}
.info-icon svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.info-card b{display:block;font-family:var(--font-display);font-size:1.05rem;margin-bottom:2px}
.info-card span{display:block;color:var(--body);font-size:.95rem;line-height:1.5}
.info-card span.info-icon{display:flex;align-items:center;justify-content:center;color:var(--navy)}
.info-card small{display:block;color:var(--blue-700);font-weight:700;font-size:.85rem;margin-top:6px}
.tt-map{width:100%;height:clamp(320px,38vw,480px);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--line);background:var(--paper)}
.tt-map iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:767px){.tt-map{height:300px}}

/* ---- form card & forms (WPForms + theme fallback) ---- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow-md)}
.form-card-head{margin-bottom:18px}
.form-card-head h3{font-size:1.35rem;margin-bottom:4px}
.form-card-head p{margin:0;color:var(--muted);font-size:.95rem}
.wpforms-container{--wpforms-field-border-radius:14px;--wpforms-field-border-color:#dbe3ec;--wpforms-field-border-color-spare:#dbe3ec;--wpforms-field-background-color:#f8fafc;--wpforms-field-text-color:#0b1a2a;--wpforms-field-size-input-height:52px;--wpforms-field-size-input-spacing:16px;--wpforms-field-size-font-size:16px;--wpforms-label-color:#0b1a2a;--wpforms-label-sublabel-color:#66788c;--wpforms-label-size-font-size:14px;--wpforms-label-size-sublabel-font-size:13px;--wpforms-button-background-color:#0a3855;--wpforms-button-text-color:#fff;--wpforms-button-border-radius:999px;--wpforms-button-size-font-size:16px;--wpforms-button-size-height:52px;--wpforms-button-size-padding-h:28px;--wpforms-field-border-size:2px;--wpforms-field-size-sublabel-spacing:6px}
.tt-form label,body div.wpforms-container-full .wpforms-form .wpforms-field-label,body div.wpforms-container-full .wpforms-form legend.wpforms-field-label{display:block;font-family:var(--font-body);font-weight:600;font-size:.9rem;line-height:1.4;color:var(--ink);margin:0 0 6px;padding:0;float:none}
.tt-form .req,body div.wpforms-container-full .wpforms-form .wpforms-required-label{color:var(--bad)}
.tt-form input[type=text],.tt-form input[type=email],.tt-form input[type=tel],.tt-form input[type=number],.tt-form select,.tt-form textarea,
body div.wpforms-container-full .wpforms-form input[type=text],body div.wpforms-container-full .wpforms-form input[type=email],body div.wpforms-container-full .wpforms-form input[type=tel],body div.wpforms-container-full .wpforms-form input[type=number],body div.wpforms-container-full .wpforms-form select,body div.wpforms-container-full .wpforms-form textarea{
  width:100%;max-width:100%;font:inherit;font-size:16px;color:var(--ink);background:#f8fafc;border:2px solid #dbe3ec;border-radius:14px;padding:13px 16px;min-height:52px;height:auto;box-shadow:none;transition:border-color .2s,box-shadow .2s,background .2s}
.tt-form textarea,body div.wpforms-container-full .wpforms-form textarea{min-height:140px;resize:vertical}
.tt-form input:focus,.tt-form select:focus,.tt-form textarea:focus,body div.wpforms-container-full .wpforms-form input:focus,body div.wpforms-container-full .wpforms-form select:focus,body div.wpforms-container-full .wpforms-form textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(11,168,255,.15)}
.tt-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tt-form .field{margin-bottom:16px}
.tt-form .hint,body div.wpforms-container-full .wpforms-form .wpforms-field-sublabel,body div.wpforms-container-full .wpforms-form .wpforms-field-description{display:block;font-size:.8rem;color:var(--muted);margin:6px 0 0}
.tt-form button[type=submit],body div.wpforms-container-full .wpforms-form button[type=submit].wpforms-submit{width:100%;margin-top:6px;height:auto;min-height:52px}
body div.wpforms-container-full{margin:0}
body div.wpforms-container-full .wpforms-form .wpforms-field{padding:0 0 16px;margin:0;clear:both;overflow:visible}
body div.wpforms-container-full .wpforms-form .wpforms-field-container{width:100%}
body div.wpforms-container-full .wpforms-form fieldset{border:0;padding:0;margin:0;min-width:0}
body div.wpforms-container-full .wpforms-form .wpforms-field-row{display:flex;gap:14px;margin:0;max-width:100%;width:100%}
body div.wpforms-container-full .wpforms-form .wpforms-field-row::before,body div.wpforms-container-full .wpforms-form .wpforms-field-row::after{content:none}
body div.wpforms-container-full .wpforms-form .wpforms-field-row-block{float:none;flex:1 1 0;min-width:0;width:auto;margin:0;padding:0}
body div.wpforms-container-full .wpforms-form .wpforms-field-row-block.wpforms-first,body div.wpforms-container-full .wpforms-form .wpforms-field-row-block:last-child{padding:0;margin:0}
body div.wpforms-container-full .wpforms-form .wpforms-field-row-block.wpforms-one-half,body div.wpforms-container-full .wpforms-form .wpforms-field-row-block.wpforms-one-third,body div.wpforms-container-full .wpforms-form .wpforms-field-row-block.wpforms-two-thirds{width:auto}
body div.wpforms-container-full .wpforms-form .wpforms-field-medium,body div.wpforms-container-full .wpforms-form .wpforms-field-large,body div.wpforms-container-full .wpforms-form .wpforms-field-small{max-width:100%}
body div.wpforms-container-full .wpforms-form .wpforms-submit-container{padding:0;margin:0}
body div.wpforms-container-full .wpforms-form .wpforms-submit-spinner{display:none!important}
body div.wpforms-container-full .wpforms-form .wpforms-error{font-size:.82rem;color:var(--bad);margin-top:6px}
body .wpforms-confirmation-container-full,.tt-form-success{background:#e3f8ec;border:1px solid #bfe9d0;color:#0f5a34;border-radius:14px;padding:18px 20px;font-weight:500}
.tt-form .tt-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.tt-form .consent{font-size:.82rem;color:var(--muted)}
@media (max-width:600px){.tt-form .row{grid-template-columns:1fr}body div.wpforms-container-full .wpforms-form .wpforms-field-row{flex-direction:column;align-items:stretch}body div.wpforms-container-full .wpforms-form .wpforms-field-row-block,body div.wpforms-container-full .wpforms-form .wpforms-field-row-block.wpforms-one-half{width:100%;flex:none}}
/* newsletter (footer) */
.newsletter-form{display:flex;gap:8px;max-width:520px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:6px;border-radius:999px}
.newsletter-form input[type=email]{flex:1;min-width:0;font:inherit;font-size:16px;padding:12px 18px;border:0;border-radius:999px;background:#fff;color:var(--ink)}
.newsletter-form input[type=email]:focus{outline:none;box-shadow:0 0 0 4px rgba(11,168,255,.35)}
.newsletter-form button,.tt-form.newsletter-form button[type=submit]{flex:none;width:auto;margin-top:0;padding:12px 22px}
.newsletter-note{font-size:.82rem;color:#8fb0c9;margin-top:12px}
.tt-footer-news div.wpforms-container-full{max-width:520px}
.tt-footer-news div.wpforms-container-full .wpforms-form{display:flex;gap:8px;align-items:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:6px;border-radius:999px}
.tt-footer-news div.wpforms-container-full .wpforms-form .wpforms-field-container{flex:1;min-width:0}
.tt-footer-news div.wpforms-container-full .wpforms-form .wpforms-field{padding:0}
.tt-footer-news div.wpforms-container-full .wpforms-form .wpforms-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.tt-footer-news div.wpforms-container-full .wpforms-form input[type=email]{border:0;background:#fff;border-radius:999px;min-height:48px;padding:12px 18px}
.tt-footer-news div.wpforms-container-full .wpforms-form input[type=email]:focus{box-shadow:0 0 0 4px rgba(11,168,255,.35)}
.tt-footer-news div.wpforms-container-full .wpforms-form .wpforms-submit-container{flex:none}
.tt-footer-news div.wpforms-container-full .wpforms-form button[type=submit].wpforms-submit{width:auto;margin:0;min-height:48px;padding:0 22px;background:var(--sun);border-color:var(--sun);color:var(--ink);white-space:nowrap}
.tt-footer-news div.wpforms-container-full .wpforms-form button[type=submit].wpforms-submit:hover{background:var(--sun-600);border-color:var(--sun-600)}
.tt-footer-news div.wpforms-container-full .wpforms-form .wpforms-error{position:absolute;margin-top:4px;color:#ffb4b4}
.tt-footer-news .wpforms-confirmation-container-full{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
@media (max-width:600px){
  .newsletter-form,.tt-footer-news div.wpforms-container-full .wpforms-form{flex-direction:column;align-items:stretch;border-radius:24px}
  .tt-footer-news div.wpforms-container-full .wpforms-form .wpforms-submit-container{width:100%;flex:none}
  .newsletter-form button,.tt-footer-news div.wpforms-container-full .wpforms-form button[type=submit].wpforms-submit{width:100%}
}

/* ---- prose (terms etc) ---- */
.tt-prose,body .elementor .elementor-widget.prose .elementor-widget-container{max-width:74ch}
.tt-prose h2,body .elementor .prose h2{font-size:1.5rem;margin-top:1.6em}
.tt-prose h3,body .elementor .prose h3{font-size:1.2rem;margin-top:1.4em}
.tt-prose ul,body .elementor .prose ul{padding-left:1.2em}
.tt-prose li,body .elementor .prose li{margin-bottom:.4em}
.notice{background:var(--sun-100);border:1px solid #f4dd8a;border-radius:14px;padding:16px 18px;font-size:.95rem;color:#5a4a06}

/* =====================================================================
   NON-ELEMENTOR PAGE SHELLS (Woo, blog, 404, search)
   ===================================================================== */
.tt-page-hero{position:relative;background:var(--paper);padding:clamp(40px,6vw,72px) 0 clamp(36px,5vw,56px);border-bottom:1px solid var(--line);overflow:hidden}
.tt-page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(45% 90% at 92% 50%,rgba(11,168,255,.14),transparent 70%),radial-gradient(25% 60% at 70% 100%,rgba(254,211,60,.12),transparent 70%);pointer-events:none}
.tt-page-hero .tt-container{position:relative}
.tt-page-hero h1{font-size:clamp(2.1rem,4.4vw,3.4rem);margin-bottom:.25em}
.tt-page-hero p{max-width:60ch;color:var(--body);font-size:1.08rem;margin:0}
.tt-page-hero .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blue-700);margin-bottom:14px}
.tt-page-hero .eyebrow::before{content:"";width:26px;height:3px;border-radius:99px;background:var(--sun)}
.tt-breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:14px}
.tt-breadcrumbs a{color:var(--muted)}
.tt-breadcrumbs a:hover{color:var(--navy)}
.tt-main{padding:clamp(40px,6vw,72px) 0}
.tt-404{text-align:center;padding:clamp(64px,10vw,140px) 0}
.tt-404 .big{font-family:var(--font-display);font-size:clamp(6rem,18vw,12rem);font-weight:800;line-height:.9;letter-spacing:-.06em;color:var(--blue-100);margin-bottom:-.2em}
.tt-404 h1{font-size:clamp(1.8rem,4vw,2.6rem)}
.tt-404 .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.tt-entry{max-width:74ch}
.tt-entry-wide{max-width:none}
.tt-entry img{border-radius:var(--radius-sm)}
.tt-post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tt-post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow-sm)}
.tt-post-card h2{font-size:1.3rem}
.tt-post-card time{font-size:.82rem;color:var(--muted)}
@media (max-width:1024px){.tt-post-list{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.tt-post-list{grid-template-columns:1fr}}

/* =====================================================================
   MOTION — fail open. Visible by default; hidden only once JS is live;
   never hidden inside the Elementor editor.
   ===================================================================== */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js .reveal.in{opacity:1;transform:none}
html.js .reveal.d1{transition-delay:.08s}html.js .reveal.d2{transition-delay:.16s}html.js .reveal.d3{transition-delay:.24s}
body.elementor-editor-active .reveal,body.elementor-editor-active .reveal.in{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){
  html.js .reveal{opacity:1;transform:none;transition:none}
  .tt-marquee-track,.hero-card,.hero-badge{animation:none}
  *{scroll-behavior:auto!important}
}

/* WordPress admin bar + sticky header */
body.admin-bar .tt-header{top:32px}
@media (max-width:782px){body.admin-bar .tt-header{top:46px}}
/* WordPress core alignment helpers */
.alignwide{width:min(100% - 2*var(--gutter),1400px);margin-inline:auto}
.alignfull{width:100%}
.wp-block-image img,.tt-entry .wp-block-image{border-radius:var(--radius-sm)}

/* ---- form column: the column itself becomes the card (a shortcode widget can't be wrapped) ---- */
body .elementor .elementor-column.form-col > .elementor-widget-wrap,.tt-static .form-col > .elementor-widget-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow-md)}
body .elementor .form-col .elementor-widget-heading .elementor-heading-title,.tt-static .form-col .elementor-heading-title{font-size:1.45rem}
body .elementor .form-col .elementor-widget-heading,.tt-static .form-col .elementor-widget-heading{margin-bottom:6px}
body .elementor .form-col .elementor-widget-text-editor,.tt-static .form-col .elementor-widget-text-editor{color:var(--muted);font-size:.95rem;margin-bottom:20px}
/* ---- side card (quote/faq helper) ---- */
.side-card{background:var(--navy);color:#cfe3f3;border-radius:var(--radius);padding:28px;margin-top:8px;position:relative;overflow:hidden}
.side-card::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 70% at 100% 0%,rgba(11,168,255,.28),transparent 65%);pointer-events:none}
.side-card > *{position:relative}
.side-card h3{color:#fff;font-size:1.25rem;margin-bottom:6px}
.side-card p{color:#c8ddec;font-size:.95rem;margin-bottom:14px}
.side-card a.side-link{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;padding:8px 0}
.side-card a.side-link:hover{color:var(--sun)}
.side-card a.side-link svg{width:18px;height:18px;stroke:var(--sun);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* ---- quote on navy ---- */
body .elementor .section-navy .elementor-widget.quote-big .elementor-widget-container,.tt-static .section-navy .quote-big .elementor-widget-container{color:#fff;border-left-color:var(--sun)}
body .elementor .section-navy .elementor-widget.quote-big .elementor-widget-container::before,.tt-static .section-navy .quote-big .elementor-widget-container::before{color:rgba(255,255,255,.08)}
.section-navy .story-cite{color:#a9c2d6}
.section-navy .story-cite strong{color:#fff}
/* ---- page hero (light) ---- */
body .elementor .elementor-section.page-hero,.tt-static .page-hero{padding-block:clamp(48px,6vw,80px) clamp(40px,5vw,64px);border-bottom:1px solid var(--line);overflow:hidden}
body .elementor .elementor-section.page-hero::before,.tt-static .page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(45% 90% at 92% 50%,rgba(11,168,255,.14),transparent 70%),radial-gradient(25% 60% at 70% 100%,rgba(254,211,60,.12),transparent 70%);pointer-events:none}
