/*
Theme Name: GT Starter
Theme URI: https://lrcnet.com/
Author: Greg Trumpfheller
Description: Lightweight full-width WordPress starter theme with one unified GT Theme Settings control center, configurable header and footer, responsive navigation, and Gutenberg support.
Version: 5.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: gt-starter
License: GPL-2.0-or-later
*/

:root {
    --gt-navy: #172b3a;
    --gt-copper: #b66a3c;
    --gt-ivory: #f7f4ee;
    --gt-blue-gray: #e8eef1;
    --gt-text: #29343b;
    --gt-white: #ffffff;
    --gt-content-width: 1280px;
    --gt-wide-width: 1440px;
    --gt-page-padding: clamp(20px, 4vw, 64px);
    --gt-frame-size: clamp(6px, 1vw, 18px);
    --gt-frame-color: var(--gt-blue-gray);
    --gt-radius: 16px;
    --gt-shadow: 0 14px 40px rgba(23,43,58,.10);
    --gt-header-height: 94px;
    --gt-header-padding-x: 48px;
    --gt-logo-max-width: 220px;
    --gt-menu-font-size: 22px;
    --gt-menu-gap: 52px;
    --gt-footer-bg: var(--gt-navy);
    --gt-footer-color: var(--gt-white);
    --gt-body-size: 18px;
}
html { box-sizing: border-box; scroll-behavior: smooth; background: var(--gt-frame-color); }
*,*::before,*::after { box-sizing: inherit; }
body { margin: var(--gt-frame-size); min-height: calc(100svh - (var(--gt-frame-size)*2)); overflow-x: clip; background: var(--gt-white); color: var(--gt-text); font-size:var(--gt-body-size); font-family: Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height: 1.65; border-radius: var(--gt-radius); box-shadow: var(--gt-shadow); }
a { color: var(--gt-copper); } a:hover { color: var(--gt-navy); } img { max-width:100%; height:auto; }
.gt-site-shell { min-height:100%; overflow:clip; border-radius:inherit; }
.gt-topbar { background:var(--gt-navy); color:var(--gt-white); font-size:.9rem; }
.gt-topbar__inner { width:100%; padding:8px var(--gt-page-padding); text-align:center; }
.gt-site-header { position:relative; z-index:100; width:100%; background:var(--gt-white); border-bottom:1px solid rgba(23,43,58,.08); transition:box-shadow .2s ease; }
.gt-site-header.is-sticky { position:sticky; top:0; }
.admin-bar .gt-site-header.is-sticky { top:32px; }
.gt-site-header.is-scrolled { box-shadow:0 10px 28px rgba(23,43,58,.10); }
.gt-header-inner { width:100%; min-height:var(--gt-header-height); padding:14px var(--gt-header-padding-x); display:grid; grid-template-columns:minmax(150px,auto) 1fr auto; align-items:center; gap:clamp(20px,3vw,48px); }
.gt-brand { display:flex; align-items:center; min-width:0; }
.gt-brand a { display:flex; align-items:center; text-decoration:none; }
.gt-brand img { display:block; width:auto; max-width:var(--gt-logo-max-width); max-height:72px; }
.gt-site-title { color:var(--gt-navy); font-size:1.5rem; font-weight:800; }
.gt-nav { justify-self:center; min-width:0; }
.gt-menu { display:flex; align-items:center; justify-content:center; gap:var(--gt-menu-gap); list-style:none; padding:0; margin:0; }
.gt-menu a { color:var(--gt-navy); font-size:var(--gt-menu-font-size); font-weight:700; line-height:1.2; letter-spacing:.02em; text-decoration:none; white-space:nowrap; }
.gt-menu a:hover,.gt-menu .current-menu-item>a,.gt-menu .current-menu-ancestor>a { color:var(--gt-copper); }
.gt-menu li { position:relative; }
.gt-menu .sub-menu { position:absolute; left:0; top:calc(100% + 14px); min-width:220px; list-style:none; padding:10px; margin:0; background:var(--gt-white); border-radius:12px; box-shadow:var(--gt-shadow); opacity:0; visibility:hidden; transform:translateY(-6px); transition:.18s ease; }
.gt-menu li:hover>.sub-menu,.gt-menu li:focus-within>.sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.gt-menu .sub-menu a { display:block; padding:10px 12px; font-size:16px; }
.gt-header-actions { display:flex; align-items:center; }
.gt-contact-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 26px; border-radius:999px; background:var(--gt-copper); color:var(--gt-white); font-size:17px; font-weight:750; text-decoration:none; white-space:nowrap; box-shadow:0 8px 20px rgba(182,106,60,.22); }
.gt-contact-button:hover { background:var(--gt-navy); color:var(--gt-white); transform:translateY(-1px); }
.gt-menu-toggle { display:none; border:0; background:transparent; color:var(--gt-navy); padding:10px; cursor:pointer; }
.gt-menu-toggle>span:not(.screen-reader-text) { display:block; width:26px; height:2px; margin:5px 0; background:currentColor; }
.gt-main { width:100%; }
.gt-content { width:calc(100% - (var(--gt-page-padding)*2)); max-width:none; margin-inline:auto; padding-block:clamp(40px,6vw,84px); }
.gt-content--wide { width:min(calc(100% - (var(--gt-page-padding)*2)),var(--gt-wide-width)); }
.gt-content--full { width:100%; padding-block:0; }
.entry-header { margin-bottom:32px; }
.entry-title { margin:0; color:var(--gt-navy); font-size:clamp(2.2rem,5vw,4.5rem); line-height:1.05; text-wrap:balance; }
.entry-content>* { max-width:100%; margin-left:0; margin-right:0; }
.entry-content>.gt-reading-width { width:min(100%,780px); margin-left:auto; margin-right:auto; }
.entry-content>.alignwide { max-width:var(--gt-wide-width); }
.entry-content>.alignfull { max-width:none; width:calc(100vw - (var(--gt-frame-size)*2)); margin-left:calc(50% - 50vw + var(--gt-frame-size)); margin-right:calc(50% - 50vw + var(--gt-frame-size)); }
.gt-site-footer { background:var(--gt-footer-bg); color:var(--gt-footer-color); }
.gt-site-footer a { color:color-mix(in srgb,var(--gt-footer-color) 86%,transparent); }
.gt-site-footer a:hover { color:var(--gt-footer-color); }
.gt-footer-inner { width:min(calc(100% - (var(--gt-page-padding)*2)),var(--gt-wide-width)); margin-inline:auto; padding:58px 0 28px; }
.gt-footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1.15fr; gap:clamp(28px,4vw,60px); }
.gt-footer-grid.has-social { grid-template-columns:1.4fr 1fr 1.15fr .8fr; }
.gt-footer-title { margin:0 0 16px; color:var(--gt-footer-color); font-size:1.25rem; }
.gt-footer-menu { list-style:none; padding:0; margin:0; }
.gt-footer-menu li+li { margin-top:8px; }
.gt-footer-contact,.gt-footer-social { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.gt-footer-contact address { font-style:normal; margin-top:4px; }
.gt-footer-cta { display:inline-flex; margin-top:10px; padding:9px 16px; border:1px solid currentColor; border-radius:999px; text-decoration:none; }
.gt-footer-bottom { margin-top:40px; padding-top:20px; border-top:1px solid color-mix(in srgb,var(--gt-footer-color) 18%,transparent); font-size:.9rem; opacity:.78; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { position:fixed; left:12px; top:12px; z-index:99999; width:auto; height:auto; padding:12px 16px; margin:0; clip:auto; background:#fff; color:#000; }
@media(max-width:1100px){ .gt-menu { gap:min(var(--gt-menu-gap),28px); } .gt-menu a { font-size:min(var(--gt-menu-font-size),19px); } }
@media(max-width:900px){ .gt-header-inner{grid-template-columns:1fr auto;min-height:78px;padding-inline:20px}.gt-menu-toggle{display:block}.gt-nav{display:none;grid-column:1/-1;justify-self:stretch;width:100%;border-top:1px solid rgba(23,43,58,.08);padding-top:12px}.gt-nav.is-open{display:block}.gt-menu{flex-direction:column;align-items:stretch;gap:0}.gt-menu a{display:block;padding:12px 0;font-size:18px}.gt-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 0 18px}.gt-header-actions .gt-contact-button{display:none}.gt-mobile-contact{display:block;margin-top:12px}.gt-mobile-contact .gt-contact-button{width:100%}.gt-footer-grid,.gt-footer-grid.has-social{grid-template-columns:1fr 1fr}.gt-brand img{max-width:min(var(--gt-logo-max-width),180px);max-height:58px}}
@media(min-width:901px){.gt-mobile-contact{display:none}}
@media(max-width:782px){.admin-bar .gt-site-header.is-sticky{top:46px}}
@media(max-width:620px){.gt-footer-grid,.gt-footer-grid.has-social{grid-template-columns:1fr}}
@media(max-width:480px){:root{--gt-frame-size:4px;--gt-page-padding:18px;--gt-radius:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* =========================================
   Permanent Development Environment Warning
========================================= */
.gt-dev-banner {
    position: relative;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px 18px;
    width: 100%;
    padding: 12px var(--gt-page-padding);
    border-bottom: 3px solid #7f1d1d;
    background: #b91c1c;
    color: #ffffff;
    font-size: clamp(14px, 1.1vw, 17px);
    line-height: 1.35;
    text-align: center;
    box-shadow: 0 8px 22px rgba(127, 29, 29, .24);
}
.gt-dev-banner--bottom {
    border-top: 3px solid #7f1d1d;
    border-bottom: 0;
}
.gt-dev-banner strong {
    flex: 0 0 auto;
    padding: 4px 9px;
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 999px;
    font-size: .82em;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.gt-dev-watermark {
    position: fixed;
    z-index: 8;
    top: 50%;
    left: 50%;
    width: 120vw;
    pointer-events: none;
    user-select: none;
    transform: translate(-50%, -50%) rotate(-18deg);
    color: rgba(127, 29, 29, .055);
    font-size: clamp(48px, 10vw, 150px);
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
}
.gt-dev-badge {
    position: fixed;
    z-index: 9999;
    right: max(12px, calc(var(--gt-frame-size) + 8px));
    bottom: max(12px, calc(var(--gt-frame-size) + 8px));
    padding: 9px 14px;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: #b91c1c;
    color: #ffffff;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 8px 24px rgba(127, 29, 29, .30);
    pointer-events: none;
}
@media (max-width: 700px) {
    .gt-dev-banner {
        flex-direction: column;
        gap: 6px;
        padding-block: 10px;
    }
    .gt-dev-watermark {
        font-size: clamp(38px, 13vw, 80px);
    }
}
@media print {
    .gt-dev-banner,
    .gt-dev-badge {
        display: flex !important;
    }
    .gt-dev-watermark {
        color: rgba(127, 29, 29, .10);
    }
}
