:root{--gt-navy:#23308c;--gt-navy-d:#1a2470;--gt-gold:#f1c232;--gt-plum:#6b2447;--gt-ink:#16151a;--gt-paper:#f6f4ef;--gt-card:#fbfaf7;--gt-line:#ddd8cc;--gt-line-2:#ebe7de;--gt-muted:#4a463f;--gt-soft:#8a857b;--gt-dark:#16151a;--gt-cta:var(--gt-gold);--gt-cta-fg:#16151a;--gt-head:'Archivo',system-ui,sans-serif;--gt-body:'Source Sans 3',system-ui,sans-serif;--gt-mono:'IBM Plex Mono',ui-monospace,monospace}
.accent-plum{--gt-cta:var(--gt-plum);--gt-cta-fg:#fff}
.accent-navy{--gt-cta:var(--gt-navy);--gt-cta-fg:#fff}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--gt-paper);color:var(--gt-ink);font-family:var(--gt-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto}
a{color:var(--gt-navy);text-decoration:none}a:hover{color:var(--gt-plum);text-decoration:underline}
h1,h2,h3,h4{font-family:var(--gt-head);line-height:1.15;text-wrap:balance;margin:0 0 .5em}
h1{font-weight:800;font-size:clamp(34px,5vw,52px);letter-spacing:-.02em}
h2{font-weight:800;font-size:clamp(26px,3.4vw,32px)}
h3{font-weight:700;font-size:20px}
p{text-wrap:pretty}
.gt-wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.gt-eyebrow{font:500 12px var(--gt-mono);letter-spacing:.1em;color:var(--gt-plum);text-transform:uppercase;margin-bottom:12px}
.gt-mono{font-family:var(--gt-mono)}
/* buttons */
.gt-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font:700 15px var(--gt-head);padding:12px 22px;border:1px solid transparent;cursor:pointer;text-decoration:none;text-align:center}
.gt-btn:hover{text-decoration:none;filter:brightness(.93)}
.gt-btn--cta{background:var(--gt-cta);color:var(--gt-cta-fg)}.gt-btn--cta:hover{color:var(--gt-cta-fg)}
.gt-btn--navy{background:var(--gt-navy);color:#fff}.gt-btn--navy:hover{color:#fff}
.gt-btn--outline{background:transparent;color:var(--gt-navy);border-color:var(--gt-navy)}
.gt-btn--ghost{background:transparent;color:#f6f4ef;border-color:#5a5650}.gt-btn--ghost:hover{color:#fff;border-color:#f6f4ef}
.gt-actions{display:flex;flex-wrap:wrap;gap:12px}
/* topbar */
.gt-topbar{background:var(--gt-navy);color:#e9e7f5;font-size:13px}
.gt-topbar a{color:#e9e7f5;text-decoration:none}.gt-topbar a:hover{color:var(--gt-gold,#d9a520)}
.gt-topbar__bar{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 20px;padding-top:6px;padding-bottom:6px}
.gt-topbar__contact{display:flex;gap:20px;margin-left:auto;text-align:right}
@media (max-width:600px){.gt-topbar__note{display:none}.gt-topbar__contact{margin:0 auto}}
/* header */
.gt-header{background:var(--gt-navy);border-bottom:1px solid var(--gt-navy-d);z-index:20}
.sticky-header .gt-header{position:sticky;top:0}
.gt-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.gt-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.gt-brand:hover{text-decoration:none}
.gt-brand img{height:44px;width:auto;display:block}
.gt-brand__tag{font:500 11px var(--gt-mono);letter-spacing:.08em;color:#c9cdf0;border-left:1px solid #4a56a8;padding-left:12px;line-height:1.4}
.gt-nav{display:flex;align-items:center;gap:8px}
.gt-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.gt-nav li{position:relative}
.gt-nav ul a,.gt-nav ul .mod-menu__heading,.gt-nav ul .nav-header{display:block;font:600 15px var(--gt-body);color:#e9e7f5;padding:8px 10px;border-bottom:2px solid transparent;white-space:nowrap;text-decoration:none}
.gt-nav ul a:hover{color:var(--gt-gold)}
.gt-nav li.current>a,.gt-nav li.active>a{color:#fff;border-bottom-color:var(--gt-gold)}
.gt-nav ul ul{display:none;position:absolute;left:0;top:100%;flex-direction:column;background:var(--gt-navy);min-width:220px;padding:6px 0;box-shadow:0 12px 24px -12px rgba(0,0,0,.4)}
.gt-nav li:hover>ul,.gt-nav li:focus-within>ul{display:flex}
.gt-nav__buy{margin-left:8px;font-size:14px;padding:10px 16px}
.gt-menu-toggle{display:none;font:600 14px var(--gt-mono);background:var(--gt-dark);color:#f6f4ef;border:none;padding:12px 14px;min-height:44px;cursor:pointer}
@media (max-width:899px){
 .gt-menu-toggle{display:block}
 .gt-nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #4a56a8;padding:8px 0 16px}
 .gt-nav.is-open{display:flex}
 .gt-nav ul{flex-direction:column}
 .gt-nav ul a{font-size:17px;padding:12px 4px;min-height:44px;border-bottom:1px solid #3a459c}
 .gt-nav li.current>a{border-bottom-color:#3a459c;color:var(--gt-gold)}
 .gt-nav ul ul{display:flex;position:static;box-shadow:none;padding:0 0 0 16px;min-width:0}
 .gt-nav__buy{margin:12px 0 0;font-size:16px;padding:14px}
}
/* brand position: login dropdown right of Buy */
.gt-login{position:relative}
.gt-login__toggle{list-style:none;display:flex;align-items:center;min-height:44px;font:700 14px var(--gt-head);color:#f6f4ef;border:1px solid #6a74c0;padding:10px 16px;cursor:pointer;white-space:nowrap}
.gt-login__toggle::-webkit-details-marker{display:none}
.gt-login__toggle:hover,.gt-login[open] .gt-login__toggle{border-color:var(--gt-gold);color:var(--gt-gold)}
.gt-login__panel{position:absolute;right:0;top:calc(100% + 8px);width:300px;background:var(--gt-card);color:var(--gt-ink);border:1px solid var(--gt-line);box-shadow:0 20px 40px -20px rgba(22,21,26,.5);padding:20px;z-index:30}
.gt-login__panel form{display:flex;flex-direction:column;gap:12px;margin:0}
.gt-login__panel label{display:block;font:500 11px var(--gt-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gt-muted);margin-bottom:4px}
.gt-login__panel input[type=text],.gt-login__panel input[type=password],.gt-login__panel input[type=email]{width:100%;font:400 16px var(--gt-body);padding:10px 12px;border:1px solid var(--gt-line);background:#fff;color:var(--gt-ink);min-height:44px}
.gt-login__panel input:focus{outline:2px solid var(--gt-navy);outline-offset:-1px}
.gt-login__panel .input-group{display:flex}.gt-login__panel .input-group>input{flex:1;min-width:0}
.gt-login__panel .input-group .btn,.gt-login__panel .input-password-toggle{border:1px solid var(--gt-line);border-left:none;background:#fff;color:var(--gt-muted);padding:0 12px;cursor:pointer;font:500 12px var(--gt-mono)}
.gt-login__panel .form-check,.gt-login__panel .mod-login__remember{display:flex;align-items:center;gap:8px;font-size:15px}
.gt-login__panel .form-check label{margin:0;text-transform:none;letter-spacing:0;font:400 15px var(--gt-body);color:var(--gt-ink)}
.gt-login__panel button[type=submit],.gt-login__panel .btn-primary,.gt-login__panel input[type=submit]{width:100%;min-height:44px;font:700 15px var(--gt-head);background:var(--gt-navy);color:#fff;border:none;padding:12px;cursor:pointer}
.gt-login__panel button[type=submit]:hover,.gt-login__panel .btn-primary:hover{background:var(--gt-navy-d)}
.gt-login__panel ul{list-style:none;margin:4px 0 0;padding:12px 0 0;border-top:1px solid var(--gt-line-2);display:flex;flex-direction:column;gap:6px;font-size:14px}
.gt-login__panel .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gt-login__panel .mod-login-logout__login-greeting{margin-bottom:12px}
.gt-login__panel .control-group,.gt-login__panel .mod-login__userdata{display:flex;flex-direction:column;gap:12px}
@media (max-width:899px){
 .gt-login{margin-top:8px}
 .gt-login__toggle{justify-content:center;font-size:16px;padding:14px}
 .gt-login__panel{position:static;width:auto;margin-top:8px;box-shadow:none}
}
/* brand position: login dropdown right of Buy */
.gt-login{position:relative}
.gt-login__toggle{list-style:none;display:flex;align-items:center;min-height:44px;font:700 14px var(--gt-head);color:#f6f4ef;border:1px solid #6a74c0;padding:10px 16px;cursor:pointer;white-space:nowrap}
.gt-login__toggle::-webkit-details-marker{display:none}
.gt-login__toggle:hover,.gt-login[open] .gt-login__toggle{border-color:var(--gt-gold);color:var(--gt-gold)}
.gt-login__panel{position:absolute;right:0;top:calc(100% + 8px);width:300px;background:var(--gt-card);color:var(--gt-ink);border:1px solid var(--gt-line);box-shadow:0 20px 40px -20px rgba(22,21,26,.5);padding:20px;z-index:30}
.gt-login__panel form{display:flex;flex-direction:column;gap:12px;margin:0}
.gt-login__panel label{display:block;font:500 11px var(--gt-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--gt-muted);margin-bottom:4px}
.gt-login__panel input[type=text],.gt-login__panel input[type=password],.gt-login__panel input[type=email]{width:100%;font:400 16px var(--gt-body);padding:10px 12px;border:1px solid var(--gt-line);background:#fff;color:var(--gt-ink);min-height:44px}
.gt-login__panel input:focus{outline:2px solid var(--gt-navy);outline-offset:-1px}
.gt-login__panel .input-group{display:flex}.gt-login__panel .input-group>input{flex:1;min-width:0}
.gt-login__panel .input-group .btn,.gt-login__panel .input-password-toggle{border:1px solid var(--gt-line);border-left:none;background:#fff;color:var(--gt-muted);padding:0 12px;cursor:pointer;font:500 12px var(--gt-mono)}
.gt-login__panel .form-check,.gt-login__panel .mod-login__remember{display:flex;align-items:center;gap:8px;font-size:15px}
.gt-login__panel .form-check label{margin:0;text-transform:none;letter-spacing:0;font:400 15px var(--gt-body);color:var(--gt-ink)}
.gt-login__panel button[type=submit],.gt-login__panel .btn-primary,.gt-login__panel input[type=submit]{width:100%;min-height:44px;font:700 15px var(--gt-head);background:var(--gt-navy);color:#fff;border:none;padding:12px;cursor:pointer}
.gt-login__panel button[type=submit]:hover,.gt-login__panel .btn-primary:hover{background:var(--gt-navy-d)}
.gt-login__panel ul{list-style:none;margin:4px 0 0;padding:12px 0 0;border-top:1px solid var(--gt-line-2);display:flex;flex-direction:column;gap:6px;font-size:14px}
.gt-login__panel ul li{padding:0;border:0}
.gt-login__panel ul a,.gt-login__panel a{color:var(--gt-navy)}.gt-login__panel a:hover{color:var(--gt-plum)}
.gt-login__panel .visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gt-login__panel .mod-login-logout__login-greeting{margin-bottom:12px}
.gt-login__panel .control-group,.gt-login__panel .mod-login__userdata{display:flex;flex-direction:column;gap:12px}
@media (max-width:899px){
 .gt-login{margin-top:8px}
 .gt-login__toggle{justify-content:center;font-size:16px;padding:14px}
 .gt-login__panel{position:static;width:auto;margin-top:8px;box-shadow:none}
}
/* layout */
.gt-main{flex:1}
.gt-content-wrap{padding-top:32px;padding-bottom:72px}
.gt-home-component:empty{display:none}
.gt-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:start}
.has-sidebar .gt-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}
@media (max-width:899px){.has-sidebar .gt-layout{grid-template-columns:minmax(0,1fr)}}
.gt-sidebar{display:flex;flex-direction:column;gap:16px}
@media (min-width:900px){.gt-sidebar{position:sticky;top:96px}}
.gt-breadcrumbs{font:400 13px var(--gt-mono);color:var(--gt-soft);margin-bottom:24px}
.gt-breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.gt-breadcrumbs li+li::before{content:"/";margin-right:6px;color:var(--gt-soft)}
.gt-breadcrumbs .divider,.gt-breadcrumbs .icon-location{display:none}
.gt-component .page-header h1,.gt-component .page-header h2{margin-bottom:24px}
.article-readable .gt-component .item-page p,.article-readable .gt-component .item-page ul,.article-readable .gt-component .item-page ol{max-width:72ch}
.article-full .gt-component .item-page,.article-full .gt-component .item-page>*{max-width:none;width:100%}
.gt-component .gt-product p{max-width:none}
.hide-article-info .article-info,.hide-article-info dl.article-info{display:none}
.article-info{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 24px;font:400 13px var(--gt-mono);color:var(--gt-soft)}
.article-info dt{display:none}.article-info dd{margin:0}
.gt-card{border:1px solid var(--gt-line);background:var(--gt-card);padding:20px}
.gt-card ul{list-style:none;margin:0;padding:0}.gt-card li{padding:6px 0;border-bottom:1px solid var(--gt-line-2);font-size:15px}
.gt-card--dark{background:var(--gt-dark);color:#f6f4ef;border-color:var(--gt-dark)}
.gt-card--dark .gt-eyebrow{color:var(--gt-gold)}
.gt-price-row,.gt-product__buy>div:not([class]){display:flex;justify-content:space-between;gap:12px;padding:4px 0}
.gt-price-row>*+*,.gt-product__buy span+span{margin-left:12px;font-family:var(--gt-mono)}.gt-price-row span:last-child{font-family:var(--gt-mono)}
.gt-card--dark .gt-btn{width:100%;margin-top:12px}
/* home A */
.gt-hero-a,.gt-hero-b{display:none}
.home-a .gt-hero-a,.home-b .gt-hero-b{display:block}
.gt-hero-a{background:var(--gt-dark);color:#f6f4ef}
.gt-hero-a__top{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:40px;align-items:end;padding-top:72px;padding-bottom:40px}
.gt-hero-a .gt-eyebrow{color:var(--gt-gold);margin-bottom:20px}
.gt-hero-a h1{font-size:clamp(44px,7vw,84px);line-height:.98;margin:0}
.gt-hero-a p{font-size:19px;line-height:1.5;color:#cfcac0;margin:0 0 20px;max-width:44ch}
.gt-hero-a figure{margin:0 auto;padding-bottom:64px}
.gt-hero-a figcaption{display:flex;justify-content:space-between;gap:12px;font:400 12px var(--gt-mono);color:var(--gt-soft);padding-top:10px}
.gt-hero-a img{display:block;width:100%}
/* home B */
.gt-hero-b__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:48px;align-items:center;padding-top:56px;padding-bottom:56px}
@media (max-width:420px){.gt-hero-b__grid,.gt-hero-a__top{grid-template-columns:minmax(0,1fr)}}
.gt-hero-b__label{display:flex;align-items:center;gap:14px;margin-bottom:24px}.gt-hero-b__label img{width:64px;height:64px}.gt-hero-b__label .gt-eyebrow{margin:0}
.gt-hero-b h1{font-size:clamp(40px,6vw,72px);line-height:1.02;margin:0 0 24px}
.gt-hero-b p{font-size:19px;line-height:1.55;color:var(--gt-muted);margin:0 0 24px;max-width:46ch}
.gt-hero-b__frame{background:#e7e3da;padding:20px;transform:rotate(1.2deg);box-shadow:0 20px 40px -20px rgba(22,21,26,.45)}
.gt-hero-b__frame img{display:block;width:100%}
/* releases carousel */
.gt-releases{padding-top:72px;padding-bottom:72px}
.gt-releases__head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;margin-bottom:32px}
.gt-releases__head h2{margin:0}
.gt-releases__tools{display:flex;align-items:center;gap:16px;font:500 14px var(--gt-mono)}
.gt-releases__arrows{display:flex;gap:4px}
.gt-releases__arrows button{width:44px;height:44px;border:1px solid var(--gt-ink);background:transparent;color:var(--gt-ink);font:500 16px var(--gt-mono);cursor:pointer}
.gt-releases__arrows button:hover{background:var(--gt-ink);color:var(--gt-paper)}
.gt-releases__viewport{overflow:hidden;border:1px solid var(--gt-line);background:var(--gt-line)}
.gt-releases__track{position:relative;display:flex;gap:1px;transition:transform .7s cubic-bezier(.4,0,.2,1)}
.gt-release{flex:0 0 calc((100% - 3px)/4);background:var(--gt-card);padding:24px;display:flex;flex-direction:column;gap:16px;min-height:220px;color:var(--gt-ink);text-decoration:none;cursor:pointer}
.gt-release:hover{background:#fff;text-decoration:none;color:var(--gt-ink)}
@media (max-width:1023px){.gt-release{flex-basis:calc((100% - 1px)/2)}}
@media (max-width:599px){.gt-release{flex-basis:100%}}
.gt-release__top{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:12px;align-items:start}
.gt-release__name{font:700 20px/1.2 var(--gt-head);color:var(--gt-navy)}
.gt-release__sub,.gt-release__name span{display:block;font-weight:600;font-size:17px;margin-top:4px}
.gt-release__top img{width:56px;height:56px;display:block;object-fit:contain}
.gt-release__meta{margin-top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:end}
.gt-release__date{font:600 18px var(--gt-body);grid-column:1/-1}
.gt-release__ver{font:500 14px var(--gt-mono);color:var(--gt-muted)}
.gt-release__demo{font:700 14px var(--gt-head);color:var(--gt-ink);letter-spacing:.04em}
.gt-releases__dots{display:flex;gap:6px;justify-content:center;padding-top:16px}
.gt-releases__dots button{width:6px;height:6px;padding:0;border:none;background:#c8c2b4;cursor:pointer;transition:width .3s}
.gt-releases__dots button[aria-current="true"]{width:24px;background:var(--gt-ink)}
/* consulting band */
.gt-band{background:var(--gt-plum);color:#f6f4ef}
.gt-band__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;align-items:center;padding-top:56px;padding-bottom:56px}
.gt-band h2{font-size:30px;margin:0}.gt-band p{color:#f1e3ea;margin:0 0 16px}
.gt-band a{font:500 14px var(--gt-mono);color:var(--gt-gold)}
/* product content helpers */
.gt-product-list{display:flex;flex-direction:column;gap:1px;background:var(--gt-line);border:1px solid var(--gt-line)}
.gt-product{background:var(--gt-card);padding:24px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:20px;align-items:start}
@media (max-width:699px){.gt-product{grid-template-columns:48px minmax(0,1fr)}.gt-product__buy{grid-column:1/-1}}
.gt-product img{width:64px;height:64px;object-fit:contain}
.gt-product h3{margin:0 0 4px;color:var(--gt-navy)}
.gt-product__buy{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.gt-product__links{display:flex;gap:20px;font:500 14px var(--gt-mono)}
.gt-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:24px 0}
.gt-gallery img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#e7e3da;display:block}
.gt-section{border-top:1px solid var(--gt-line);padding-top:20px;margin-top:28px}
/* product detail */
.gt-detail{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:48px;align-items:start;width:100%}
@media (max-width:899px){.gt-detail{grid-template-columns:minmax(0,1fr)}}
.gt-detail__lead{display:flex;gap:16px;align-items:center}
.gt-detail__lead img{width:72px;height:72px;object-fit:contain;flex:none}
.gt-detail__lead p{font:600 21px/1.4 var(--gt-body);margin:0}
.gt-detail__intro{font-size:18px;line-height:1.6;max-width:68ch}
.gt-detail .gt-section h3{font-size:20px;margin:0 0 10px}
.gt-detail .gt-section p,.gt-detail .gt-section li{font-size:16px;line-height:1.65;color:#3d3a34;max-width:68ch}
.gt-detail .gt-section ul{padding-left:20px}
.gt-detail__aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px;min-width:0}
@media (max-width:899px){.gt-detail__aside{position:static}}
.gt-detail__aside .gt-eyebrow{text-transform:uppercase}
.gt-detail__demo{display:block;margin-top:12px;color:#cfcac0;font:400 13px var(--gt-mono)}.gt-detail__demo:hover{color:var(--gt-gold)}
.gt-detail__foot{font-size:13px;color:var(--gt-muted);margin:10px 0 0}
.gt-detail__note{font-size:14px;line-height:1.55;color:var(--gt-muted);margin:0;padding:0 4px}
/* downloads */
.gt-dl-list{display:flex;flex-direction:column;gap:16px;width:100%}
.gt-dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;align-items:center;border:1px solid var(--gt-line);background:var(--gt-card);padding:20px 24px}
@media (max-width:599px){.gt-dl{grid-template-columns:minmax(0,1fr)}}
.gt-dl__name{font:700 19px var(--gt-head);color:var(--gt-ink)}
.gt-dl__note{font-size:15px;color:#6a655b;margin-top:4px}
.gt-dl__file{display:inline-flex;align-items:center;min-height:44px;font:500 14px var(--gt-mono);background:var(--gt-navy);color:#fff;padding:12px 16px;word-break:break-all}
.gt-dl__file:hover{color:#fff;background:var(--gt-navy-d);text-decoration:none}
.gt-note{border-left:3px solid var(--gt-gold);padding:4px 16px;font-size:15px;color:var(--gt-muted);line-height:1.6}
.gt-note p{margin:0}
/* support */
.gt-faq-list{border-top:1px solid var(--gt-line)}
details.gt-faq{border-bottom:1px solid var(--gt-line)}
details.gt-faq>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:20px 0;font:700 18px var(--gt-head);color:var(--gt-ink);cursor:pointer}
details.gt-faq>summary::-webkit-details-marker{display:none}
details.gt-faq>summary::after{content:"+";font:500 18px var(--gt-mono);color:var(--gt-plum)}
details.gt-faq[open]>summary::after{content:"−"}
details.gt-faq>div,details.gt-faq>p{margin:0 0 20px;font-size:16px;line-height:1.65;color:#3d3a34;max-width:68ch}
.gt-card--plum{background:var(--gt-plum);color:#fff;border-color:var(--gt-plum);padding:28px}
.gt-card--plum .gt-eyebrow{color:var(--gt-gold)}
.gt-card--plum h3{color:#fff;font-size:22px;margin:0 0 10px}
.gt-card--plum a{color:#fff;font-family:var(--gt-mono)}.gt-card--plum a:hover{color:var(--gt-gold)}
/* contact */
.gt-contact{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);gap:48px;align-items:start}
@media (max-width:799px){.gt-contact{grid-template-columns:minmax(0,1fr)}}
.gt-contact__list{display:flex;flex-direction:column;gap:24px}
.gt-contact__item{border-top:1px solid var(--gt-ink);padding-top:12px}
.gt-contact__item .gt-eyebrow{font-size:11px;margin-bottom:6px}
.gt-contact__value{font:600 19px/1.4 var(--gt-body)}
.gt-contact__value a{color:var(--gt-ink)}.gt-contact__value a:hover{color:var(--gt-plum)}
.gt-contact__intro{margin:0 0 6px;font-size:16px;line-height:1.6;color:#3d3a34}
/* com_contact form + any Joomla form */
.com-contact__form,.contact-form,.gt-form{display:flex;flex-direction:column;gap:14px;background:var(--gt-card);border:1px solid var(--gt-line);padding:28px}
.com-contact__form fieldset,.contact-form fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.com-contact__form legend,.contact-form legend{font:700 20px var(--gt-head);margin-bottom:4px;padding:0}
.control-group{display:flex;flex-direction:column;gap:6px}
.control-label label,.gt-form label{font:500 12px var(--gt-mono);letter-spacing:.04em;text-transform:uppercase}
.control-label .star{color:var(--gt-plum)}
.controls input[type=text],.controls input[type=email],.controls textarea,.controls select,.gt-form input,.gt-form textarea,.gt-form select{width:100%;font:16px var(--gt-body);padding:12px;border:1px solid #cfc9bb;background:#fff;color:var(--gt-ink);border-radius:0}
.controls .form-check{display:flex;gap:8px;align-items:center}
.com-contact__form .controls>.btn,.com-contact__form button[type=submit],.contact-form button[type=submit]{align-self:flex-start;font:700 15px var(--gt-head);background:var(--gt-navy);color:#fff;border:none;padding:14px 24px;min-height:44px;width:auto}
.com-contact .page-header+*{margin-top:0}
.com-contact__container>h3,.com-contact .contact-miscinfo h3{display:none}
.com-contact__address,.com-contact__position,.com-contact .contact-address,.com-contact__thumbnail,.com-contact__links{display:none}
.has-gt-contact .com-contact__miscinfo{margin-bottom:32px}
/* footer */
.gt-footer{background:var(--gt-dark);color:#cfcac0;font-size:15px}
.gt-footer a{color:#cfcac0}.gt-footer a:hover{color:var(--gt-gold)}
.gt-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;padding-top:48px;padding-bottom:24px}
.gt-footer__col{display:flex;flex-direction:column;gap:8px}
.gt-footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.gt-footer__col p{margin:0}
.gt-footer h3,.gt-footer .gt-eyebrow{font:500 11px var(--gt-mono);letter-spacing:.1em;color:var(--gt-soft);margin:0 0 4px}
.gt-footer__logo{height:48px;width:auto;display:block;margin-bottom:4px}
.gt-footer__legal{padding-top:16px;padding-bottom:32px;border-top:1px solid #34323a;font:400 12px var(--gt-mono);color:var(--gt-soft)}
.gt-footer__legal p{margin:0}
/* lightbox */
[data-lightbox="1"] .gt-component img:not(.gt-noenlarge),[data-lightbox="1"] .gt-gallery img,.gt-zoom{cursor:zoom-in}
.gt-lightbox{position:fixed;inset:0;z-index:100;background:rgba(10,10,12,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}
.gt-lightbox[hidden]{display:none}
.gt-lightbox img{max-width:100%;max-height:82vh;object-fit:contain;display:block;cursor:default}
.gt-lightbox__bar{display:flex;gap:16px;align-items:center;font:500 13px var(--gt-mono);color:#cfcac0}
.gt-lightbox__bar button{font:inherit;background:none;border:1px solid #555;color:#fff;padding:10px 14px;cursor:pointer;min-width:44px;min-height:44px}
/* Joomla core markup (no Bootstrap in this template) */
.visually-hidden,.sr-only,.element-invisible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.form-control,.inputbox,.js-finder-search-query{font:400 15px var(--gt-body);padding:10px;border:1px solid #c8c2b4;background:#fff;color:var(--gt-ink);border-radius:0;width:100%}
.btn,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font:700 15px var(--gt-head);padding:10px 18px;border:1px solid var(--gt-navy);background:var(--gt-navy);color:#fff;border-radius:0;cursor:pointer}
.btn-secondary,.input-password-toggle{background:#ebe7de;color:var(--gt-ink);border-color:#c8c2b4;font:500 12px var(--gt-mono);min-height:0;padding:6px 10px}
.mod-login .form-group,.mod-login__username,.mod-login__password,.mod-login__remember,.mod-login__submit{margin:0 0 10px}
.mod-login .input-group{display:flex;flex-direction:column;gap:6px}
.mod-login .input-group .form-control{order:0}
.mod-login .input-group-text{display:none}
.mod-login .form-check{display:flex;align-items:center;gap:8px;font-size:14px}
.mod-login .btn-primary,.mod-login button[type=submit]{width:100%}
.mod-login__options{list-style:none;margin:0;padding:0;font:400 13px var(--gt-mono)}
.mod-login__options li{padding:6px 0;border-bottom:none}
.gt-search form{margin:0}.gt-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.gt-search .form-control,.gt-search input[type=search],.gt-search input[type=text]{width:200px;padding:8px 10px;border:1px solid #4a56a8;background:#1a2470;color:#fff}
.gt-search input::placeholder{color:#c9cdf0}
.gt-search .awesomplete{display:block}
@media (max-width:899px){.gt-search{margin-top:12px}.gt-search .form-control,.gt-search input{width:100%}}
.is-home .gt-home-component .page-header,.is-home .gt-home-component:not(:has(.blog-item,.item-page,article)){display:none}
/* misc */
.gt-error,.gt-offline{padding-top:72px}
.gt-offline__logo{height:56px;background:var(--gt-navy);padding:8px}
.gt-offline__form{display:flex;flex-direction:column;gap:8px;max-width:320px}
.gt-offline__form input{font:inherit;padding:10px;border:1px solid var(--gt-line)}
.alert{border:1px solid var(--gt-line);background:var(--gt-card);padding:12px 16px;margin-bottom:16px}

.gt-login__profile{display:flex;align-items:center;justify-content:center;min-height:44px;margin-bottom:12px;border:1px solid var(--gt-navy);color:var(--gt-navy);font:700 15px var(--gt-head);text-decoration:none}
.gt-login__profile:hover{background:var(--gt-navy);color:#fff}
