/* TAEGEUM premium visual system v91 — additive frontend-only layer */
:root{--tg-primary:#0046ff;--tg-primary-dark:#0036c9;--tg-accent:#4879ff;--tg-background:#fff;--tg-surface:#f6f8fc;--tg-surface-alt:#eef3ff;--tg-text:#0d1b35;--tg-muted:#60718c;--tg-border:#e0e7f1;--tg-container:1100px;--tg-radius-sm:8px;--tg-radius:14px;--tg-radius-lg:22px;--tg-shadow:0 14px 38px rgba(8,34,90,.055);--tg-space-1:8px;--tg-space-2:16px;--tg-space-3:24px;--tg-space-4:32px;--tg-space-5:40px;--tg-space-6:48px;--tg-space-8:64px;--tg-space-10:80px}
html{scroll-behavior:smooth}body{color:var(--tg-text);text-rendering:optimizeLegibility}body:not(.admin-page){overflow-x:clip}body .shell{width:calc(100% - 48px)!important;max-width:1100px!important;margin-left:auto!important;margin-right:auto!important;min-width:0}main section{scroll-margin-top:95px}main .section{padding-top:clamp(64px,7vw,104px);padding-bottom:clamp(64px,7vw,104px)}
/* Accessible, restrained typography and shared editorial rhythm. */
main :is(h1,h2,h3){text-wrap:balance;letter-spacing:-.045em}main :is(.eyebrow,.tg73-head small,.tg73-intro small,.tg58-heading small,.tsr56-section-head small){letter-spacing:.135em}main :is(.lead,.tg73-head p,.tg73-intro>p,.tg58-heading>p){max-width:650px;line-height:1.85;color:var(--tg-muted)}
main .breadcrumb{min-height:60px;height:auto;padding-block:16px;border-color:var(--tg-border)}main .breadcrumb strong{color:var(--tg-primary)}
/* Reusable premium interactions. Interactive elements retain original navigation/JS. */
main :is(.btn,.tg73-btn,.tg58-button,.tg54-cta a,.tg68-detail-footer a){transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease;border-radius:var(--tg-radius-sm)}main :is(.btn,.tg73-btn,.tg58-button,.tg54-cta a,.tg68-detail-footer a):hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,70,255,.15)}:is(button,a,input,select,textarea):focus-visible{outline:3px solid #81a5ff;outline-offset:3px}
/* Cards: one coherent border/radius/shadow system rather than unrelated outlines. */
main :is(.tg73-cards article,.tg73-process article,.tg54-point-card,.tg54-step-card,.tg54-overview-card,.tg54-side-card,.tsr56-info-card,.tg58-profit-grid article,.tg58-solution-grid article){border-radius:var(--tg-radius)!important;border:1px solid var(--tg-border)!important;box-shadow:var(--tg-shadow);min-width:0}main :is(.tg73-cards article,.tg73-process article,.tg54-point-card,.tg58-solution-grid article){transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}main :is(.tg73-cards article,.tg73-process article,.tg54-point-card,.tg58-solution-grid article):hover{transform:translateY(-4px);border-color:#afc5ff!important;box-shadow:0 16px 34px rgba(8,34,90,.10)}
/* More editorial, less cramped: alternation of whitespace, split composition and ruled steps. */
main :is(.tg73-intro,.tg58-heading,.tg54-section-head){column-gap:clamp(24px,5vw,68px)}main :is(.tg73-intro,.tg58-heading){align-items:center}main :is(.tg73-checks article,.tg58-process article){border-color:var(--tg-border)}main :is(.tg73-checks h3,.tg58-process h3){letter-spacing:-.04em}main .tg73-checks article:hover{transform:none;box-shadow:inset 4px 0 var(--tg-primary);background:#f8faff}
/* Compact, coordinated section headings on existing custom landing pages */
body.page-solution-report main .tsr56-section-head h2{font-size:clamp(32px,4.3vw,48px)!important;line-height:1.3}body.page-solution-report main .tsr56-section-head p{font-size:clamp(16px,1.65vw,19px)!important;line-height:1.8}body.page-solution-report main .tsr56-info-card h3,body.page-solution-report main .tsr56-dark-card h3{font-size:clamp(19px,2.2vw,25px)!important}body.page-solution-report main .tsr56-info-card p,body.page-solution-report main .tsr56-dark-card p{font-size:16px!important}body.page-solution-report main .tsr56-tag-grid .tag{font-size:18px!important}body.page-solution-report main .tsr56-tag-grid .tag span{font-size:14px!important}body.page-solution-report main .tsr56-section{padding-top:clamp(64px,7vw,100px);padding-bottom:clamp(64px,7vw,100px)}
/* Wide photographs stay full bleed; inner text always aligns with the 1100px grid. */
main :is(.tg73-hero,.tg54-solution-hero,.tg58-hero,.tsr56-hero,.tg64-hero){width:100%}main :is(.tg73-hero,.tg54-solution-hero,.tg58-hero,.tsr56-hero,.tg64-hero) .shell{max-width:var(--tg-container)!important}main img{max-width:100%}main :is(.editorial-photo,.feature-image){border-radius:var(--tg-radius);overflow:hidden}
/* Boards and content: shared reading measure, quieter borders. */
main :is(.cms-article,.tg-article-list,.tg68-detail-content){min-width:0}main .cms-article-body{line-height:1.9;overflow-wrap:anywhere}main .cms-article-body img{height:auto;max-width:100%;border-radius:var(--tg-radius-sm)}main :is(.tg-board,.cms-public){max-width:var(--tg-container)}
/* Design system shapes and restrained interactive surfaces */
main :is(.tg54-cta-box,.tg58-bottom .shell,.tsr56-promise){border-radius:var(--tg-radius-lg)}main :is(.tg58-profit-grid,.tg58-solution-grid,.tg73-cards,.tg73-process,.tsr56-card-grid){column-gap:clamp(14px,2vw,24px)}
@media(min-width:1101px){main .tg73-cards article{padding:30px 27px;min-height:240px}main .tg73-process article{padding:25px 20px}body.page-solution-report main .tsr56-card-grid.three{gap:20px}body.page-solution-report main .tsr56-info-card{padding:29px 25px;min-height:190px}body.page-solution-report main .tsr56-report-preview{gap:55px}}
@media(max-width:900px){body .shell{width:calc(100% - 40px)!important}main :is(.tg73-intro,.tg58-heading,.tg54-overview-grid){grid-template-columns:1fr;gap:24px}main :is(.tg73-cards,.tg58-solution-grid){grid-template-columns:repeat(2,minmax(0,1fr))}main .tsr56-report-preview{grid-template-columns:1fr}main .tsr56-tag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body .shell{width:calc(100% - 32px)!important}main .section{padding-top:56px;padding-bottom:56px}main :is(.tg73-cards,.tg58-solution-grid,.tg58-profit-grid,.tg73-process,.tsr56-card-grid.three,.tsr56-tag-grid){grid-template-columns:1fr!important}main :is(.tg73-hero,.tg58-hero){min-height:440px;height:auto}main :is(.tg73-hero-content h1,.tg54-solution-hero h1){font-size:clamp(30px,8vw,42px)}main .cms-article-body{font-size:15px}main .tg73-cards article{min-height:unset;padding:27px 24px}main .tg58-process{grid-template-columns:1fr 1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
