/*!
 * Signum Group theme — main stylesheet.
 * Design tokens and components ported 1:1 from the approved Signum Group design system.
 * All component classes are prefixed "sg-" to avoid collisions with plugins.
 */

/* ==========================================================================
   1. Fonts — Open Sans (SIL Open Font License 1.1), self-hosted
   ========================================================================== */
@font-face{font-family:"Open Sans";src:url("../fonts/OpenSans-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("../fonts/OpenSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("../fonts/OpenSans-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Open Sans";src:url("../fonts/OpenSans-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("../fonts/OpenSans-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Open Sans";src:url("../fonts/OpenSans-BoldItalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"Open Sans";src:url("../fonts/OpenSans-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

/* ==========================================================================
   2. Design tokens
   ========================================================================== */
:root{
  /* Signum Blue */
  --blue-50:#EBF5FB;--blue-100:#D3E8F5;--blue-200:#A8D0EB;--blue-300:#6FB2DD;--blue-400:#2F92CE;
  --blue-500:#0076BD;--blue-600:#0063A0;--blue-700:#004F81;--blue-800:#003C62;--blue-900:#002A46;--blue-950:#001A2D;
  --signum-blue:var(--blue-500);
  /* Neutrals */
  --gray-0:#FFFFFF;--gray-25:#F8F9FA;--gray-50:#F2F4F5;--gray-100:#E5E8EA;--gray-200:#CFD4D7;--gray-300:#AEB3B5;
  --gray-400:#8C9091;--gray-500:#707272;--gray-600:#5C5E5F;--gray-700:#4D4D4D;--gray-800:#333536;--gray-900:#1D1F20;
  --signum-gray:var(--gray-500);--rgbsi-charcoal:var(--gray-700);
  /* RGBSI accents */
  --rgbsi-orange:#FF6600;--rgbsi-cyan:#109BC5;--rgbsi-green:#97B934;--rgbsi-magenta:#CC3399;
  --rgbsi-orange-ink:#B84A00;--rgbsi-cyan-ink:#0A6C8A;--rgbsi-green-ink:#55701A;--rgbsi-magenta-ink:#A0287A;
  --rgbsi-orange-tint:#FFF0E5;--rgbsi-cyan-tint:#E7F5FA;--rgbsi-green-tint:#F3F7E8;--rgbsi-magenta-tint:#FAEAF4;
  /* Semantic */
  --text-strong:var(--gray-900);--text-body:var(--gray-700);--text-muted:var(--gray-500);--text-subtle:var(--gray-400);
  --text-brand:var(--blue-500);--text-link:var(--blue-500);--text-link-hover:var(--blue-700);
  --text-on-brand:#FFFFFF;--text-on-dark:#FFFFFF;--text-on-dark-muted:#B5CBDA;
  --surface-page:#FFFFFF;--surface-subtle:var(--gray-25);--surface-sunken:var(--gray-50);--surface-card:#FFFFFF;
  --surface-brand:var(--blue-500);--surface-brand-tint:var(--blue-50);
  --surface-dark:var(--blue-950);--surface-dark-raised:var(--blue-900);--surface-charcoal:var(--gray-800);
  --border-subtle:var(--gray-100);--border-default:var(--gray-200);--border-strong:var(--gray-300);
  --border-brand:var(--blue-500);--border-on-dark:rgba(255,255,255,.14);
  --action-primary:var(--blue-500);--action-primary-hover:var(--blue-600);--action-primary-press:var(--blue-700);
  --focus-ring:0 0 0 3px rgba(0,118,189,.35);
  /* Type */
  --font-sans:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fs-display-l:clamp(40px,4.8vw,64px);
  --fs-h1:clamp(34px,3.6vw,48px);
  --fs-h2:clamp(28px,2.8vw,38px);
  --fs-lead:20px;--fs-body:16px;--fs-eyebrow:12px;
  --lh-body:1.6;
  --ls-display:-0.025em;--ls-heading:-0.015em;--ls-eyebrow:0.14em;--ls-button:0.01em;
  /* Layout */
  --section-pad-x:clamp(20px,5vw,64px);
  --container-max:1240px;--container-text:680px;
  --header-h:76px;
  --radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-button:var(--radius-sm);
  --shadow-sm:0 1px 2px rgba(0,42,70,.06),0 2px 6px rgba(0,42,70,.06);
  --shadow-md:0 2px 4px rgba(0,42,70,.05),0 8px 24px rgba(0,42,70,.08);
  --shadow-lg:0 4px 8px rgba(0,42,70,.05),0 20px 48px rgba(0,42,70,.12);
  --shadow-header:0 1px 0 rgba(0,42,70,.08),0 6px 20px rgba(0,42,70,.06);
  --z-header:100;
  /* Motion */
  --ease-out:cubic-bezier(.2,.7,.2,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-instant:80ms;--dur-fast:150ms;--dur-base:220ms;--dur-slow:360ms;--dur-reveal:640ms;
  --reveal-distance:24px;
  /* WordPress admin bar offset (0 for visitors) */
  --sg-adminbar:0px;
}
@media (prefers-reduced-motion:reduce){
  :root{--dur-fast:0ms;--dur-base:0ms;--dur-slow:0ms;--dur-reveal:0ms;--reveal-distance:0px}
}
body.admin-bar{--sg-adminbar:32px}
@media screen and (max-width:782px){body.admin-bar{--sg-adminbar:46px}}
@media screen and (max-width:600px){body.admin-bar{--sg-adminbar:0px}}

/* ==========================================================================
   3. Base
   ========================================================================== */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--sg-adminbar))}
body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4,h5{color:var(--text-strong);margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
:where(a){color:var(--text-link);text-decoration:none}
:where(a):hover{color:var(--text-link-hover)}
::selection{background:var(--blue-100);color:var(--blue-900)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.sg-icon{flex-shrink:0;display:block}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}

/* Reveal-on-scroll (hidden only while the theme script is running) */
.sg-reveal{opacity:0;transform:translate3d(0,var(--reveal-distance),0);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.sg-reveal[data-dir="right"]{transform:translate3d(var(--reveal-distance),0,0)}
.sg-reveal[data-dir="scale"]{transform:scale(.97)}
.sg-reveal.is-in{opacity:1;transform:none}
html:not(.sg-js) .sg-reveal{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sg-reveal{opacity:1;transform:none}}

@keyframes sgDraw{from{stroke-dashoffset:640}to{stroke-dashoffset:0}}
@keyframes sgFlow{to{stroke-dashoffset:-28}}
@keyframes sgTravel{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}
@media (prefers-reduced-motion:reduce){.sg-site *,.sg-site *::before,.sg-site *::after{animation:none!important;transition-duration:0ms!important}}

/* Page shell */
.sg-site{position:relative;overflow-x:clip;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans)}
.sg-container{max-width:var(--container-max);margin:0 auto;padding-left:var(--section-pad-x);padding-right:var(--section-pad-x);box-sizing:border-box}
.sg-section{scroll-margin-top:calc(var(--header-h) + var(--sg-adminbar))}

/* ==========================================================================
   4. Design-system primitives
   ========================================================================== */
/* Eyebrow */
.sg-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;line-height:1;color:var(--text-brand)}
.sg-eyebrow::before{content:"";width:8px;height:8px;background:var(--sg-accent,var(--rgbsi-orange));flex-shrink:0}
.sg-eyebrow--inverse{color:#fff}
.sg-accent-orange{--sg-accent:var(--rgbsi-orange)}
.sg-accent-cyan{--sg-accent:var(--rgbsi-cyan)}
.sg-accent-green{--sg-accent:var(--rgbsi-green)}
.sg-accent-magenta{--sg-accent:var(--rgbsi-magenta)}
.sg-accent-blue{--sg-accent:var(--signum-blue)}

/* Buttons */
.sg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;box-sizing:border-box;border-radius:var(--radius-button);border:1.5px solid transparent;background:var(--action-primary);color:#fff;font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:var(--ls-button);line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-instant) var(--ease-out)}
.sg-btn:hover{background:var(--action-primary-hover);color:#fff}
.sg-btn:active{background:var(--action-primary-press);transform:translateY(1px)}
.sg-btn--sm{height:36px;padding:0 14px;font-size:14px;gap:6px}
.sg-btn--lg{height:54px;padding:0 26px;font-size:16px;gap:10px}
.sg-btn--secondary{background:transparent;color:var(--blue-600);border-color:var(--blue-500)}
.sg-btn--secondary:hover,.sg-btn--secondary:active{background:var(--blue-50);color:var(--blue-600)}
.sg-btn--block{display:flex;width:100%}
.sg-btn .sg-icon{transition:transform var(--dur-base) var(--ease-out)}
.sg-btn:hover .sg-btn__arrow{transform:translateX(3px)}

/* Icon buttons */
.sg-iconbtn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-button);border:1px solid transparent;background:transparent;color:var(--text-body);cursor:pointer;padding:0;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.sg-iconbtn--secondary{background:#fff;color:var(--blue-600);border-color:var(--border-default)}
.sg-iconbtn--secondary:hover{background:var(--blue-50);color:var(--blue-600)}
.sg-iconbtn--inverse{width:32px;height:32px;background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.sg-iconbtn--inverse:hover{background:rgba(255,255,255,.14);color:#fff}

/* Signal squares (design-system mark). In the approved design the square
   variant renders as an empty spacer; the brand bar variant is visible. */
.sg-signal{display:flex;gap:3px}
.sg-signal i{display:block;width:0;height:0}
.sg-signalbar{display:flex;height:4px;width:100%}
.sg-signalbar i{display:block;flex:1;background:var(--sg-c)}
.sg-signalbar i:nth-child(1){flex:6;--sg-c:var(--signum-blue)}
.sg-signalbar i:nth-child(2){--sg-c:var(--rgbsi-cyan)}
.sg-signalbar i:nth-child(3){--sg-c:var(--rgbsi-green)}
.sg-signalbar i:nth-child(4){--sg-c:var(--rgbsi-magenta)}
.sg-signalbar i:nth-child(5){--sg-c:var(--rgbsi-orange)}

/* Scroll progress */
.sg-progress{position:fixed;left:0;right:0;top:var(--sg-adminbar);height:3px;z-index:101;pointer-events:none}
.sg-progress__bar{height:100%;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--signum-blue) 0 70%,var(--rgbsi-cyan) 80%,var(--rgbsi-green) 88%,var(--rgbsi-magenta) 94%,var(--rgbsi-orange))}

/* Skip link */
.sg-skip{position:absolute;left:12px;top:-60px;z-index:400;background:#fff;padding:10px 14px;border-radius:4px;font-weight:600;font-size:14px}
.sg-skip:focus{top:12px}

/* ==========================================================================
   5. Header + navigation
   ========================================================================== */
.sg-header{position:sticky;top:var(--sg-adminbar);z-index:100;height:var(--header-h);background:#fff;border-bottom:1px solid transparent;box-shadow:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background var(--dur-slow) var(--ease-out),box-shadow var(--dur-slow) var(--ease-out),border-color var(--dur-slow) var(--ease-out)}
.sg-header.is-scrolled{background:rgba(255,255,255,.96);border-bottom-color:var(--border-subtle);box-shadow:var(--shadow-header)}
.sg-header.is-menu-open{background:rgba(255,255,255,.96)}
.sg-header__inner{max-width:var(--container-max);margin:0 auto;height:100%;padding:0 var(--section-pad-x);display:flex;align-items:center;gap:24px;box-sizing:border-box}
.sg-header__logo{display:flex;flex-shrink:0;border-radius:4px}
.sg-header__logo img{display:block;height:46px;width:auto}
.sg-nav{display:flex;gap:2px;margin-left:auto}
.sg-nav__link{position:relative;padding:10px 12px;font-size:14px;font-weight:600;color:var(--text-body);text-decoration:none;border-radius:4px;transition:color var(--dur-fast) var(--ease-out)}
.sg-nav__link:hover{color:var(--blue-600)}
.sg-nav__link.is-active{color:var(--blue-600)}
.sg-nav__line{position:absolute;left:12px;right:12px;bottom:3px;height:2px;background:var(--blue-500);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-out)}
.sg-nav__link.is-active .sg-nav__line{transform:scaleX(1)}
.sg-header__burger{margin-left:auto}
.sg-header__burger .sg-icon--close{display:none}
.sg-header__burger[aria-expanded="true"] .sg-icon--menu{display:none}
.sg-header__burger[aria-expanded="true"] .sg-icon--close{display:block}
@media (min-width:980px){.sg-header__burger,.sg-menu{display:none!important}}
@media (max-width:979.98px){.sg-nav,.sg-header__cta{display:none!important}}

/* Mobile menu panel */
.sg-menu{position:absolute;top:100%;left:0;right:0;height:calc(100vh - var(--header-h) - var(--sg-adminbar));background:#fff;border-top:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);padding:8px var(--section-pad-x) 32px;display:flex;flex-direction:column;box-sizing:border-box;overflow-y:auto}
.sg-menu[hidden]{display:none}
.sg-menu__nav{display:flex;flex-direction:column}
.sg-menu__link{display:flex;align-items:center;justify-content:space-between;min-height:56px;border-bottom:1px solid var(--border-subtle);font-size:18px;font-weight:600;color:var(--text-strong);text-decoration:none}
.sg-menu__link:hover{color:var(--text-strong)}
.sg-menu__dot{width:8px;height:8px;background:transparent}
.sg-menu__link.is-active,.sg-menu__link.is-active:hover{color:var(--blue-600)}
.sg-menu__link.is-active .sg-menu__dot{background:var(--blue-500)}
.sg-menu__cta{margin-top:24px;display:flex}
.sg-menu__tel{margin-top:20px;font-size:15px;font-weight:600}

/* ==========================================================================
   6. Section heading block (shared)
   ========================================================================== */
.sg-h2{margin:0;font-size:var(--fs-h1);font-weight:800;line-height:1.08;letter-spacing:var(--ls-display);color:var(--text-strong)}
.sg-intro{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:flex-end;margin-bottom:clamp(28px,4vw,48px)}
.sg-intro__head{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:20px}
.sg-intro__text{flex:1 1 340px;min-width:0;margin:0;font-size:17px;line-height:1.65;color:var(--text-body)}
.sg-d80{transition-delay:80ms}.sg-d120{transition-delay:120ms}.sg-d160{transition-delay:160ms}.sg-d200{transition-delay:200ms}.sg-d220{transition-delay:220ms}
.sg-d240{transition-delay:240ms}.sg-d280{transition-delay:280ms}.sg-d320{transition-delay:320ms}.sg-d340{transition-delay:340ms}.sg-d440{transition-delay:440ms}

/* ==========================================================================
   7. Hero
   ========================================================================== */
.sg-hero{position:relative;overflow:hidden;background:#fff}
.sg-hero__shade{position:absolute;top:0;bottom:0;right:0;width:46%;background:var(--surface-sunken);clip-path:polygon(22% 0,100% 0,100% 100%,0 100%)}
.sg-hero__rule{position:absolute;top:0;bottom:0;right:46%;width:1px;background:var(--border-subtle);transform:skewX(-12deg);transform-origin:top}
.sg-hero__inner{position:relative;max-width:var(--container-max);margin:0 auto;padding:clamp(48px,7vw,96px) var(--section-pad-x) clamp(56px,8vw,112px);display:flex;flex-wrap:wrap;align-items:center;gap:clamp(40px,5vw,72px);box-sizing:border-box}
.sg-hero__copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:28px}
.sg-hero__title{margin:0;font-size:var(--fs-display-l);font-weight:800;line-height:1.04;letter-spacing:var(--ls-display);color:var(--text-strong)}
.sg-hero__line{display:block;overflow:hidden;padding-bottom:.06em}
.sg-hero__line>span{display:block}
.sg-hero__line--accent>span{color:var(--blue-500)}
.sg-hero__lead{margin:0;max-width:560px;font-size:var(--fs-lead);font-weight:300;line-height:1.6;color:var(--text-body)}
.sg-hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.sg-hero__art{flex:1 1 380px;min-width:0;display:flex;justify-content:center}
.sg-hero__diagram{position:relative;width:100%;max-width:600px;aspect-ratio:600/552}
.sg-layer{position:absolute;inset:0}
.sg-hero__plate{position:absolute;left:7%;top:6%;right:0;bottom:0;background:var(--blue-50);clip-path:polygon(0 0,calc(100% - 56px) 0,100% 56px,100% 100%,0 100%)}
.sg-hero__frame{position:absolute;left:3%;top:2%;right:4%;bottom:4%;border:1px solid var(--blue-200);clip-path:polygon(0 0,calc(100% - 48px) 0,100% 48px,100% 100%,0 100%)}
.sg-hero__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sg-hero__wires{fill:none;stroke:var(--blue-300);stroke-width:1.5}
.sg-hero__wires path{stroke-dasharray:640;animation:sgDraw 900ms cubic-bezier(.2,.7,.2,1) both}
.sg-hero__wires path:nth-child(1){animation-delay:500ms}
.sg-hero__wires path:nth-child(2){animation-delay:580ms}
.sg-hero__wires path:nth-child(3){animation-delay:660ms}
.sg-hero__wires path:nth-child(4){animation-delay:740ms}
.sg-flow{display:none}
html[data-sg-motion="full"] .sg-flow{display:inline}
@media (prefers-reduced-motion:reduce){html[data-sg-motion] .sg-flow{display:none}}
.sg-hero__flow{fill:none;stroke:var(--blue-500);stroke-width:2;stroke-dasharray:4 10}
.sg-hero__flow path{animation:sgFlow 1.8s linear infinite}
.sg-hero__nodes{fill:var(--blue-500)}
.sg-hero__hub{position:absolute;left:42%;top:41.3%;width:16%;aspect-ratio:1;background:var(--blue-950);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-lg);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.sg-hero__hub-label{font-size:clamp(8px,1vw,11px);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.sg-mod{position:absolute;width:35%}
.sg-mod--scm{left:2%;top:9%}
.sg-mod--erp{left:63%;top:2%}
.sg-mod--cloud{left:6%;top:73.2%}
.sg-mod--bi{left:62%;top:66.3%}
.sg-mod__shadow{position:absolute;left:10px;top:10px;right:-10px;bottom:-10px;border:1px solid var(--blue-200);background:#fff;border-radius:8px}
.sg-mod__card{position:relative;background:#fff;border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-md);padding:clamp(10px,1.4vw,16px);display:flex;flex-direction:column;gap:4px}
.sg-mod__top{display:flex;align-items:center;justify-content:space-between;color:var(--blue-500)}
.sg-dot{width:8px;height:8px;background:var(--sg-accent)}
.sg-mod__name{font-size:clamp(14px,1.6vw,19px);font-weight:800;letter-spacing:-.01em;color:var(--text-strong)}
.sg-mod__sub{font-size:clamp(11px,1.05vw,13px);line-height:1.35;color:var(--text-muted)}

/* ==========================================================================
   8. About
   ========================================================================== */
.sg-about{background:#fff;border-top:1px solid var(--border-subtle)}
.sg-about__inner{max-width:var(--container-max);margin:0 auto;padding:clamp(64px,8vw,112px) var(--section-pad-x);box-sizing:border-box;display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,88px);align-items:flex-start}
.sg-about__copy{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:24px}
.sg-about__lead{margin:0;font-size:var(--fs-lead);font-weight:300;line-height:1.6;color:var(--text-body)}
.sg-about__body{margin:0;font-size:16px;line-height:1.7;color:var(--text-body)}
.sg-badges{list-style:none;margin:8px 0 0;padding:20px 0 0;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:10px 28px;font-size:13px;font-weight:600;color:var(--text-strong)}
.sg-badges li{display:flex;align-items:center;gap:8px}
.sg-badges li::before{content:"";width:6px;height:6px;background:var(--blue-500)}
.sg-about__side{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:28px}
.sg-about__figure{position:relative;margin:0}
.sg-about__photo{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:5/4;background:var(--gray-100);clip-path:polygon(0 0,calc(100% - 44px) 0,100% 44px,100% 100%,0 100%)}
.sg-about__photo picture,.sg-about__photo img{display:block;width:100%;height:100%}
.sg-about__photo img{object-fit:cover;filter:saturate(.85)}
.sg-about__tag{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:4px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--text-strong)}
.sg-pillars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sg-pillars li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 12px;padding:16px 0;border-top:1px solid var(--border-subtle)}
.sg-pillars li:last-child{border-bottom:1px solid var(--border-subtle)}
.sg-pillars__mark{width:10px;height:10px;margin-top:7px;background:var(--sg-accent)}
.sg-pillars h3{margin:0;font-size:17px;font-weight:700;color:var(--text-strong)}
.sg-pillars p{grid-column:2;margin:0;font-size:15px;line-height:1.55;color:var(--text-body)}

/* ==========================================================================
   9. Technology (sticky scrollytelling ≥1024px, cards below)
   ========================================================================== */
.sg-tech{background:var(--surface-subtle);border-top:1px solid var(--border-subtle)}
.sg-tech__inner{max-width:var(--container-max);margin:0 auto;padding:clamp(64px,8vw,112px) var(--section-pad-x) clamp(40px,5vw,72px);box-sizing:border-box}
.sg-tech .sg-intro{margin-bottom:clamp(32px,5vw,64px)}
.sg-tech__chapters{display:flex;flex-direction:column;gap:16px}
.sg-tech__stage{display:none}
.sg-ch{background:#fff;border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-sm);padding:24px;display:flex;flex-direction:column;gap:16px}
.sg-ch__mini{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;background:var(--blue-950);border-radius:8px}
.sg-ch__mini-line{position:absolute;left:24px;right:24px;top:50%;height:1px;background:rgba(255,255,255,.22)}
.sg-ch__mini-mod{position:relative;display:flex;align-items:center;justify-content:center;height:40px;border-radius:4px;font-size:11px;font-weight:700;background:var(--blue-900);color:var(--text-on-dark-muted);border:1px solid rgba(255,255,255,.14);text-align:center;line-height:1.1}
.sg-ch__mini-mod.is-on{background:#fff;color:var(--blue-700);border-color:#fff}
.sg-ch__head{display:none}
.sg-ch__label{font-size:12px;font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--blue-600)}
.sg-ch__title{margin:0;font-size:22px;font-weight:700;line-height:1.2;color:var(--text-strong)}
.sg-ch__body{margin:0;font-size:16px;line-height:1.6;color:var(--text-body)}
.sg-ch__platforms{display:flex;flex-wrap:wrap;gap:8px}
.sg-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:4px;border:1px solid var(--border-default);font-size:13px;font-weight:600;color:var(--text-strong);text-decoration:none}
.sg-chip:hover{color:var(--text-strong)}

@media (min-width:1024px){
  .sg-tech__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
  .sg-tech__stage{position:sticky;top:calc(var(--header-h) + 40px + var(--sg-adminbar));display:flex;flex-direction:column;gap:16px}
  .sg-tech__chapters{gap:0}
  .sg-ch.sg-reveal{opacity:1;transform:none;transition:none}
  .sg-ch{min-height:56vh;justify-content:center;gap:18px;padding:40px 0;border:0;border-top:1px solid var(--border-default);border-radius:0;box-shadow:none;background:transparent}
  .sg-ch__mini,.sg-ch__label{display:none}
  .sg-ch__head{display:flex;align-items:center;gap:14px}
  .sg-ch__mark{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:transparent;color:var(--text-muted);border:1.5px solid var(--border-strong);font-size:13px;font-weight:700;transition:background var(--dur-slow) var(--ease-out),color var(--dur-slow) var(--ease-out)}
  .sg-ch__tag{font-size:12px;font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-muted)}
  .sg-ch__title{font-size:var(--fs-h2);font-weight:700;line-height:1.15;letter-spacing:var(--ls-heading);color:var(--gray-600);transition:color var(--dur-slow) var(--ease-out)}
  .sg-ch__body{max-width:520px;font-size:17px;line-height:1.65}
  .sg-chip{height:32px;min-height:0;background:#fff;transition:border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
  .sg-chip:hover{border-color:var(--blue-500);color:var(--blue-600)}
  .sg-ch.is-active .sg-ch__mark{background:var(--blue-500);color:#fff;border-color:var(--blue-500)}
  .sg-ch.is-active .sg-ch__tag{color:var(--blue-600)}
  .sg-ch.is-active .sg-ch__title{color:var(--text-strong)}
}
.sg-panel{position:relative;width:100%;max-width:min(100%,calc(100vh - 240px));aspect-ratio:1;background:var(--blue-950);border-radius:14px;overflow:hidden;clip-path:polygon(0 0,calc(100% - 52px) 0,100% 52px,100% 100%,0 100%)}
.sg-panel__svg{position:absolute;inset:0;width:100%;height:100%}
.sg-panel__lines{fill:none;stroke-width:2}
.sg-panel__lines path{stroke:rgba(255,255,255,.16);transition:stroke var(--dur-slow) var(--ease-out)}
.sg-panel__lines path.is-on{stroke:var(--blue-300)}
.sg-panel__flow{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:4 10}
.sg-panel__flow path{animation:sgFlow 1.4s linear infinite}
.sg-panel__hub{position:absolute;left:39.2%;top:39.2%;width:21.6%;aspect-ratio:1;background:var(--blue-500);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.sg-panel__hub-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.sg-pmod{position:absolute;width:35%;height:23.3%;box-sizing:border-box;padding:14px 16px;border-radius:8px;background:var(--blue-900);border:1px solid rgba(255,255,255,.14);box-shadow:none;transform:none;display:flex;flex-direction:column;justify-content:space-between;transition:background var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out),box-shadow var(--dur-slow) var(--ease-out)}
.sg-pmod__top{display:flex;align-items:center;justify-content:space-between;color:var(--text-on-dark-muted)}
.sg-pmod__txt{display:flex;flex-direction:column;gap:2px}
.sg-pmod__name{font-size:18px;font-weight:800;color:#fff}
.sg-pmod__num{font-size:12px;color:var(--text-on-dark-muted)}
.sg-pmod.is-on{background:#fff;border-color:#fff;box-shadow:0 20px 48px rgba(0,0,0,.35);transform:translateY(-4px)}
.sg-pmod.is-on .sg-pmod__top{color:var(--blue-500)}
.sg-pmod.is-on .sg-pmod__name{color:var(--blue-800)}
.sg-pmod.is-on .sg-pmod__num{color:var(--gray-600)}
.sg-pmod--scm{left:5%;top:5%}.sg-pmod--erp{left:60%;top:5%}.sg-pmod--cloud{left:5%;top:71.7%}.sg-pmod--bi{left:60%;top:71.7%}
.sg-panel__caption{margin:0;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-muted)}
.sg-panel__caption strong{font-weight:700;color:var(--blue-600)}

/* ==========================================================================
   10. Services accordion
   ========================================================================== */
.sg-services{background:#fff;border-top:1px solid var(--border-subtle)}
.sg-services__inner{max-width:var(--container-max);margin:0 auto;padding:clamp(64px,8vw,112px) var(--section-pad-x);box-sizing:border-box}
.sg-acc{border-top:2px solid var(--text-strong)}
.sg-acc__item{border-bottom:1px solid var(--border-default)}
.sg-acc__h{margin:0}
.sg-acc__btn{--sg-cols:56px minmax(0,1fr) 40px;width:100%;display:grid;grid-template-columns:var(--sg-cols);gap:8px 24px;align-items:start;padding:28px 0;background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit;border-radius:4px;color:inherit;transition:background var(--dur-fast) var(--ease-out)}
.sg-acc__btn:hover{background:var(--surface-subtle)}
.sg-acc__num{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted);padding-top:6px;padding-left:4px}
.sg-acc__text{display:flex;flex-direction:column;gap:8px;min-width:0}
.sg-acc__title{font-size:clamp(20px,2vw,26px);font-weight:700;letter-spacing:var(--ls-heading);line-height:1.2;color:var(--text-strong);transition:color var(--dur-fast) var(--ease-out)}
.sg-acc__desc{font-size:16px;font-weight:400;line-height:1.6;color:var(--text-body);max-width:640px}
.sg-acc__toggle{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:var(--surface-sunken);color:var(--text-body);transition:background var(--dur-base) var(--ease-out)}
.sg-acc__plus{display:inline-flex;transform:none;transition:transform var(--dur-base) var(--ease-in-out)}
.sg-acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow) var(--ease-in-out)}
.sg-acc__clip{overflow:hidden;min-height:0}
.sg-acc__body{--sg-cols:56px minmax(0,1fr) 40px;display:grid;grid-template-columns:var(--sg-cols);gap:0 24px;padding:0 0 32px}
.sg-acc__content{display:flex;flex-direction:column;gap:18px;min-width:0}
.sg-acc__detail{margin:0;font-size:15px;line-height:1.65;color:var(--text-body);max-width:640px}
.sg-acc__points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 24px}
.sg-acc__points li{display:flex;gap:10px;align-items:baseline;font-size:15px;font-weight:600;color:var(--text-strong)}
.sg-acc__points li::before{content:"";width:6px;height:6px;flex-shrink:0;background:var(--blue-500);transform:translateY(-2px)}
.sg-acc__item.is-open .sg-acc__num{color:var(--blue-500)}
.sg-acc__item.is-open .sg-acc__title{color:var(--blue-600)}
.sg-acc__item.is-open .sg-acc__toggle{background:var(--blue-500);color:#fff}
.sg-acc__item.is-open .sg-acc__plus{transform:rotate(45deg)}
.sg-acc__item.is-open .sg-acc__panel{grid-template-rows:1fr}
html:not(.sg-js) .sg-acc__panel{grid-template-rows:1fr}
@media (max-width:639.98px){.sg-acc__btn,.sg-acc__body{--sg-cols:32px minmax(0,1fr) 40px}}

/* ==========================================================================
   11. Industries
   ========================================================================== */
.sg-industries{background:var(--surface-subtle);border-top:1px solid var(--border-subtle)}
.sg-industries__inner{max-width:var(--container-max);margin:0 auto;padding:clamp(64px,8vw,112px) var(--section-pad-x);box-sizing:border-box}
.sg-ind-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.sg-ind{position:relative;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--blue-950);text-decoration:none;color:#fff;transform:none;box-shadow:var(--shadow-sm);transition:transform var(--dur-slow) var(--ease-out),box-shadow var(--dur-slow) var(--ease-out)}
@media (min-width:1024px){.sg-ind{aspect-ratio:3/4}}
.sg-ind:hover{color:#fff}
.sg-ind picture{position:absolute;inset:0;display:block}
.sg-ind img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.85);transform:scale(1);transition:transform 900ms var(--ease-out)}
.sg-ind__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,26,45,.94) 0%,rgba(0,26,45,.72) 38%,rgba(0,26,45,.08) 72%)}
.sg-ind__bar{position:absolute;top:0;left:0;height:4px;width:18%;background:var(--sg-accent);transition:width var(--dur-slow) var(--ease-out)}
.sg-ind__body{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px}
.sg-ind__num{font-size:12px;font-weight:700;letter-spacing:var(--ls-eyebrow);color:#fff}
.sg-ind__name{font-size:24px;font-weight:800;letter-spacing:var(--ls-heading);line-height:1.15;color:#fff}
.sg-ind__desc{font-size:15px;line-height:1.5;color:#fff}
.sg-ind__more{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#fff;margin-top:4px}
.sg-ind__arrow{display:inline-flex;transform:none;transition:transform var(--dur-base) var(--ease-out)}
.sg-ind:hover,.sg-ind:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.sg-ind:hover img,.sg-ind:focus-visible img{transform:scale(1.04)}
.sg-ind:hover .sg-ind__bar,.sg-ind:focus-visible .sg-ind__bar{width:100%}
.sg-ind:hover .sg-ind__arrow,.sg-ind:focus-visible .sg-ind__arrow{transform:translateX(4px)}
.sg-ind:focus-visible{box-shadow:var(--focus-ring),var(--shadow-lg)}

/* ==========================================================================
   12. SignumWay™
   ========================================================================== */
.sg-way{background:var(--blue-50);border-top:1px solid var(--blue-100)}
.sg-way__inner{max-width:var(--container-max);margin:0 auto;padding:clamp(64px,8vw,112px) var(--section-pad-x);box-sizing:border-box}
.sg-way__text{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:12px;font-size:16px;line-height:1.65;color:var(--text-body)}
.sg-way__text p{margin:0}
.sg-wayd{background:#fff;border:1px solid var(--blue-100);border-radius:14px;box-shadow:var(--shadow-md);overflow:hidden}
.sg-wayd__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:18px clamp(20px,3vw,32px);border-bottom:1px solid var(--border-subtle)}
.sg-wayd__title{font-size:15px;font-weight:800;color:var(--text-strong)}
.sg-wayd__meta{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text-muted)}
.sg-wayd__grid{display:grid;grid-template-columns:minmax(0,1fr)}
.sg-wayd__lanes{display:flex;flex-direction:column;min-width:0}
.sg-lane{display:grid;grid-template-columns:minmax(0,1fr);gap:12px 28px;align-items:center;padding:18px clamp(20px,3vw,32px);border-bottom:1px solid var(--border-subtle)}
.sg-lane__label{display:flex;gap:12px;align-items:flex-start;min-width:0}
.sg-lane__dot{width:10px;height:10px;flex-shrink:0;margin-top:6px;background:var(--sg-accent)}
.sg-lane__copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.sg-lane h3{margin:0;font-size:17px;font-weight:700;color:var(--text-strong)}
.sg-lane p{margin:0;font-size:14px;line-height:1.5;color:var(--text-body)}
.sg-track{position:relative;height:24px}
.sg-track__base{position:absolute;left:0;right:0;top:11px;height:2px;background:var(--gray-100)}
.sg-track__fill{position:absolute;left:0;right:0;top:11px;height:2px;background:var(--sg-accent);transform:scaleX(0);transform-origin:left;transition:transform 1100ms var(--ease-in-out) 200ms}
.sg-track__node{position:absolute;top:7px;width:10px;height:10px;margin-left:-5px;background:#fff;border:2px solid var(--sg-accent);box-sizing:border-box;opacity:0;transition:opacity 400ms var(--ease-out)}
.sg-track__node--1{left:25%;transition-delay:700ms}
.sg-track__node--2{left:50%;transition-delay:900ms}
.sg-track__node--3{left:75%;transition-delay:1100ms}
.sg-track__end{position:absolute;right:0;top:6px;width:12px;height:12px;background:var(--sg-accent);opacity:0;transition:opacity 400ms var(--ease-out) 1300ms}
.sg-track__travel{display:none;position:absolute;top:8px;width:8px;height:8px;background:var(--blue-950);animation:sgTravel 4.2s var(--ease-in-out) 1.6s infinite both}
.sg-wayd.is-in .sg-track__fill,html:not(.sg-js) .sg-track__fill{transform:scaleX(1)}
.sg-wayd.is-in .sg-track__node,.sg-wayd.is-in .sg-track__end,html:not(.sg-js) .sg-track__node,html:not(.sg-js) .sg-track__end{opacity:1}
html[data-sg-motion="full"] .sg-wayd.is-in .sg-track__travel{display:block}
@media (prefers-reduced-motion:reduce){.sg-track__fill{transform:scaleX(1)}.sg-track__node,.sg-track__end{opacity:1}html[data-sg-motion] .sg-wayd .sg-track__travel{display:none}}
.sg-wayd__rail{background:var(--blue-500);color:#fff;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center}
.sg-wayd__rail span{font-size:14px;font-weight:700;line-height:1.3}
@media (min-width:860px){
  .sg-wayd__grid{grid-template-columns:minmax(0,1fr) 140px}
  .sg-wayd__rail{flex-direction:column}
  .sg-lane{grid-template-columns:minmax(220px,280px) minmax(0,1fr)}
}

/* ==========================================================================
   13. Contact
   ========================================================================== */
.sg-contact{background:var(--surface-dark);color:var(--text-on-dark-muted)}
.sg-contact__inner{max-width:var(--container-max);margin:0 auto;padding:clamp(56px,6vw,88px) var(--section-pad-x);box-sizing:border-box;display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)}
.sg-contact__top{display:flex;flex-wrap:wrap;gap:32px clamp(40px,6vw,80px);align-items:flex-end}
.sg-contact__copy{flex:3 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px}
.sg-contact .sg-h2{color:#fff}
.sg-contact__lead{margin:0;max-width:620px;font-size:18px;font-weight:300;line-height:1.6;color:#fff}
.sg-hq{flex:2 1 320px;min-width:0;background:var(--surface-dark-raised);border:1px solid var(--border-on-dark);border-radius:8px;overflow:hidden}
.sg-hq__body{padding:clamp(20px,2.5vw,28px);display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px}
.sg-hq__col{display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.55}
.sg-label{margin:0;font-size:12px;font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:#fff}
.sg-hq .sg-label{margin:0 0 4px}
.sg-hq address{font-style:normal;color:var(--text-on-dark-muted)}
.sg-hq__reach{display:inline-block;margin-top:8px}
.sg-regions{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid var(--border-on-dark)}
.sg-regions ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:8px 28px;font-size:15px;line-height:1.55;color:var(--text-on-dark-muted)}
.sg-regions li{display:flex;align-items:center;gap:8px}
.sg-regions li::before{content:"";width:6px;height:6px;flex-shrink:0;background:var(--blue-400)}

/* ==========================================================================
   14. Footer
   ========================================================================== */
.sg-footer{background:var(--surface-dark);color:var(--text-on-dark-muted);font-family:var(--font-sans)}
.sg-footer__inner{max-width:var(--container-max);margin:0 auto;padding:0 var(--section-pad-x);box-sizing:border-box}
.sg-footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 48px;padding:clamp(28px,3.5vw,40px) 0}
.sg-footer__brand{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;min-width:0}
.sg-footer__logo{display:flex;flex-shrink:0;border-radius:4px}
.sg-footer__logo img{display:block;height:48px;width:auto}
.sg-footer address{font-style:normal;font-size:14px;line-height:1.6;color:var(--text-on-dark-muted)}
.sg-footer__nav{display:flex;flex-direction:column;gap:8px;min-width:0}
.sg-footer__nav h2{margin:0;font-size:13px;font-weight:700;letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:#fff}
.sg-footer__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 24px}
.sg-footer__nav a{display:inline-block;padding:4px 0;font-size:14px;color:var(--text-on-dark-muted);text-decoration:none;border-radius:4px;transition:color var(--dur-fast) var(--ease-out)}
.sg-footer__nav a:hover{color:#fff}
.sg-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 0 20px;border-top:1px solid var(--border-on-dark);font-size:13px}
.sg-footer__member{display:flex;align-items:center;gap:10px;opacity:.9}
.sg-footer__member img{display:block;height:18px;width:auto}
.sg-footer__social{margin-left:auto;display:flex;gap:8px}

/* ==========================================================================
   15. Inner pages (blog, posts, pages, archives, search, 404)
   ========================================================================== */
.sg-page-hero{background:var(--surface-subtle);border-bottom:1px solid var(--border-subtle)}
.sg-page-hero__inner{max-width:var(--container-max);margin:0 auto;padding:clamp(48px,6vw,88px) var(--section-pad-x) clamp(36px,4vw,56px);box-sizing:border-box;display:flex;flex-direction:column;gap:20px}
.sg-page-hero h1{margin:0;font-size:var(--fs-h1);font-weight:800;line-height:1.08;letter-spacing:var(--ls-display);color:var(--text-strong);max-width:900px}
.sg-page-hero__meta{font-size:14px;color:var(--text-muted)}
.sg-page-hero__desc{max-width:var(--container-text);font-size:17px;line-height:1.65}
.sg-page-body{max-width:var(--container-max);margin:0 auto;padding:clamp(40px,5vw,72px) var(--section-pad-x) clamp(64px,8vw,112px);box-sizing:border-box}
.sg-entry{max-width:var(--container-text)}
.sg-entry--wide{max-width:none}
.sg-prose{font-size:17px;line-height:1.7;color:var(--text-body)}
.sg-prose>*+*{margin-top:1.1em}
.sg-prose h2,.sg-prose h3,.sg-prose h4{margin-top:1.8em;line-height:1.2;letter-spacing:var(--ls-heading)}
.sg-prose h2{font-size:var(--fs-h2);font-weight:700}
.sg-prose h3{font-size:22px;font-weight:700}
.sg-prose h4{font-size:18px;font-weight:700}
.sg-prose a{text-decoration:underline;text-underline-offset:2px}
.sg-prose ul,.sg-prose ol{padding-left:1.4em}
.sg-prose li+li{margin-top:.4em}
.sg-prose img,.sg-prose figure,.sg-prose video,.sg-prose iframe{max-width:100%}
.sg-prose img{height:auto}
.sg-prose figure{margin-left:0;margin-right:0}
.sg-prose figcaption,.wp-caption-text{font-size:14px;color:var(--text-muted);margin-top:8px}
.sg-prose blockquote{margin-left:0;padding:4px 0 4px 20px;border-left:3px solid var(--blue-500);color:var(--text-strong);font-size:19px}
.sg-prose table{width:100%;border-collapse:collapse;font-size:15px}
.sg-prose th,.sg-prose td{padding:10px 12px;border-bottom:1px solid var(--border-default);text-align:left}
.sg-prose pre{overflow-x:auto;background:var(--surface-sunken);padding:16px;border-radius:8px;font-size:14px}
.sg-prose hr{border:0;border-top:1px solid var(--border-default)}
.alignleft{float:left;margin:0 24px 16px 0}.alignright{float:right;margin:0 0 16px 24px}.aligncenter{display:block;margin-left:auto;margin-right:auto}
.sg-entry__thumb{margin:0 0 32px;border-radius:14px;overflow:hidden}
.sg-entry__thumb img{display:block;width:100%;height:auto}
.sg-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:24px}
.sg-card{display:flex;flex-direction:column;gap:12px;height:100%;background:#fff;border:1px solid var(--border-subtle);border-radius:8px;box-shadow:var(--shadow-sm);padding:24px;box-sizing:border-box}
.sg-card__thumb{margin:-24px -24px 8px;border-radius:8px 8px 0 0;overflow:hidden;aspect-ratio:16/9;background:var(--gray-100)}
.sg-card__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.sg-card__meta{font-size:13px;color:var(--text-muted)}
.sg-card__title{margin:0;font-size:21px;font-weight:700;line-height:1.25}
.sg-card__title a{color:var(--text-strong)}
.sg-card__title a:hover{color:var(--blue-600)}
.sg-card__excerpt{font-size:15px;line-height:1.6}
.sg-card__excerpt p{margin:0}
.sg-more{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;margin-top:auto}
.sg-pagination{margin-top:48px}
.sg-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.sg-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--border-default);border-radius:4px;font-size:14px;font-weight:600;color:var(--text-strong);box-sizing:border-box}
.sg-pagination .page-numbers.current{background:var(--blue-500);border-color:var(--blue-500);color:#fff}
.sg-postnav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:24px;border-top:1px solid var(--border-subtle);font-size:15px;font-weight:600}
.sg-search{display:flex;gap:8px;max-width:520px}
.sg-search input[type="search"]{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--border-default);border-radius:4px;font:inherit;font-size:15px;color:var(--text-strong);background:#fff;box-sizing:border-box}
.sg-search input[type="search"]:focus{outline:none;border-color:var(--blue-500);box-shadow:var(--focus-ring)}
.sg-comments{margin-top:64px;padding-top:32px;border-top:1px solid var(--border-subtle);max-width:var(--container-text)}
.sg-comments .comment-list{list-style:none;padding:0}
.sg-comments .children{list-style:none;padding-left:24px}
.sg-comments .comment-body{padding:16px 0;border-bottom:1px solid var(--border-subtle);font-size:15px}
.sg-comments textarea,.sg-comments input[type="text"],.sg-comments input[type="email"],.sg-comments input[type="url"]{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:4px;font:inherit;font-size:15px;box-sizing:border-box}
.sg-comments .submit{height:44px;padding:0 20px;border:0;border-radius:4px;background:var(--blue-500);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.sg-empty{display:flex;flex-direction:column;gap:20px;align-items:flex-start;max-width:var(--container-text)}
.sg-empty p{font-size:17px;line-height:1.65}
.sg-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.sg-comments .comment-reply-title{font-size:21px;font-weight:700;margin:0 0 8px}
.sg-comments .comment-form>p{margin:0 0 16px}
.sg-comments .comment-form label{display:block;margin-bottom:6px;font-size:14px;font-weight:600;color:var(--text-strong)}
.sg-comments .comment-form-cookies-consent{display:flex;gap:8px;align-items:flex-start}
.sg-comments .comment-form-cookies-consent label{display:inline;font-weight:400;color:var(--text-body)}
