/* Gerard Thomas, Inc. site styles. Most layout lives inline in each page; this file adds shared rules and phone/tablet layouts. */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#FFFFFF}
[hidden]{display:none !important}
img{max-width:100%}
.anchor{display:block;position:relative;top:-24px;visibility:hidden}
[id]{scroll-margin-top:16px}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;padding:12px 18px;border-radius:999px;background:#FFC629;color:#111418;font:700 15px 'Hanken Grotesk',system-ui,sans-serif;text-decoration:none}
.skip-link:focus{top:12px}
.menu-btn{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:1.5px solid #111418;border-radius:12px;background:#FFFFFF;color:#111418;cursor:pointer;padding:0}
.qc-dot{width:44px;height:44px;border:0;background:transparent;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.qc-dot-mark{display:block;width:12px;height:12px;border-radius:999px;background:#C9D2DE;box-sizing:border-box;transition:width .3s}
.qc-dot[aria-current="true"] .qc-dot-mark{width:30px;background:#FFC629;border:1.5px solid #111418}
.qc-pause{height:44px;margin-left:8px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:#3B424C;font:inherit;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px}
.tab-btn{min-height:48px;border:0;border-radius:999px;background:transparent;color:#3B424C;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.tab-btn[aria-pressed="true"]{background:#FFC629;color:#111418;font-weight:700}
.form-error{margin:0;padding:12px 14px;border-radius:10px;background:#FDECEA;color:#8A1F11;font-size:14px;line-height:1.5}
.form-error a{color:#8A1F11;font-weight:700}
button[disabled]{opacity:.7;cursor:progress}

@media (max-width: 1180px){
  .site-header{position:relative}
  .site-header nav[aria-label="Main"]{display:none !important}
  .menu-btn{display:inline-flex}
  .site-header.open nav[aria-label="Main"]{display:flex !important;position:absolute;top:100%;left:0;right:0;z-index:60;flex-direction:column;align-items:stretch !important;gap:0 !important;background:#FFFFFF;padding:4px 20px 16px;border-bottom:1px solid #DDE3EC;box-shadow:0 18px 30px -20px rgba(17,20,24,.35)}
  .site-header.open nav[aria-label="Main"] a{padding:14px 0 !important;box-shadow:none !important;border-bottom:1px solid #E8ECF2}
}
@media (max-width: 1024px){
  .px{padding-left:32px !important;padding-right:32px !important}
  .g3,.g4,.g5{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .g6{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .gx{grid-template-columns:minmax(0,1fr) !important}
  section[id].gx > :has(h2){order:-1}
  [style*="gap: 88px"],[style*="gap: 80px"],[style*="gap: 72px"],[style*="gap: 64px"],[style*="gap: 60px"],[style*="gap: 48px 64px"]{gap:40px !important}
  .fx-wrap{flex-wrap:wrap !important}
  [style*="font-size: 72px"],[style*="font-size: 68px"],[style*="font-size: 66px"],[style*="font-size: 64px"],[style*="font-size: 60px"]{font-size:48px !important}
  [style*="font-size: 56px"],[style*="font-size: 52px"],[style*="font-size: 50px"]{font-size:40px !important}
}
@media (max-width: 720px){
  .px{padding-left:20px !important;padding-right:20px !important}
  section.px:not([style*="padding: 0 "]){padding-top:56px !important;padding-bottom:56px !important}
  .g2,.g3,.g4,.g5{grid-template-columns:minmax(0,1fr) !important}
  .g6{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  [style*="gap: 88px"],[style*="gap: 80px"],[style*="gap: 72px"],[style*="gap: 64px"],[style*="gap: 60px"],[style*="gap: 56px"],[style*="gap: 48px 64px"],[style*="gap: 48px"]{gap:28px !important}
  [style*="font-size: 72px"],[style*="font-size: 68px"],[style*="font-size: 66px"],[style*="font-size: 64px"],[style*="font-size: 60px"]{font-size:36px !important;letter-spacing:-0.5px !important}
  [style*="font-size: 56px"],[style*="font-size: 52px"],[style*="font-size: 50px"]{font-size:32px !important;letter-spacing:-0.4px !important}
  [style*="font-size: 44px"],[style*="font-size: 42px"],[style*="font-size: 40px"]{font-size:28px !important}
  [style*="font-size: 38px"],[style*="font-size: 36px"]{font-size:26px !important}
  [style*="font-size: 30px"]{font-size:24px !important}
  .qc-text.qc-lg{font-size:34px !important;letter-spacing:-0.5px !important}
  .qc-text.qc-md{font-size:26px !important}
  .qc-row{flex-wrap:wrap;justify-content:center}
  .qc-stage{order:-1;flex-basis:100% !important;min-height:0 !important}
  .topbar{height:auto !important;padding:8px 20px !important;flex-wrap:wrap;gap:4px 16px}
  .topbar > div:first-child{flex-wrap:wrap;gap:4px 16px !important}
  .topbar a[href*="maps"],.topbar > div:last-child{display:none !important}
  .site-header{height:76px !important;padding:0 20px !important}
  .site-header img{height:42px !important}
  .header-cta{display:none !important}
  .contact-card{padding:22px !important}
  article[style*="padding: 48px"]{padding:24px !important}
  aside[style*="padding: 28px"]{padding:20px !important}
  figure[style*="padding: 44px"]{padding:28px !important}
  section h1[style*="grid-column: 1 / -1"] span{display:none}
  section h1[style*="grid-column: 1 / -1"]{font-size:14px !important;letter-spacing:1.5px !important}
  [style*="padding: 64px; display: flex; justify-content: space-between"]{padding:32px !important}
  [style*="width: 300px; height: 360px"]{width:100% !important;max-width:300px;height:auto !important;aspect-ratio:5 / 6}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

/* Shared rules from the design */
a{color:#235080}a:hover{color:#111418}
.nav-link:hover{color:#235080 !important}
.btn-dark:hover,.btn-brass:hover{background:#FFD65C !important}
.btn-line:hover{background:#FFC629 !important;border-color:#111418 !important;color:#111418 !important}
.btn-ghost:hover{background:#FFC629 !important;border-color:#FFC629 !important;color:#111418 !important}
.lift{transition:border-color .2s,transform .2s}
.lift:hover{border-color:#235080 !important;transform:translateY(-2px)}
.foot-link:hover{color:#FFC629 !important}
.contact-link{transition:border-color .2s,background .2s}
.contact-link:hover{border-color:#111418 !important;background:#FFF6D6 !important}
.pill:hover{border-color:#111418 !important}
.row-item{transition:background .3s}
input:focus,select:focus,textarea:focus{outline:none;border-color:#111418 !important;box-shadow:0 0 0 4px #FFC629}
button:focus-visible,a:focus-visible{outline:3px solid #FFC629;outline-offset:2px;box-shadow:0 0 0 7px #111418}
@keyframes gtpulse{0%{box-shadow:0 0 0 0 rgba(255,198,41,.7)}70%{box-shadow:0 0 0 10px rgba(255,198,41,0)}100%{box-shadow:0 0 0 0 rgba(255,198,41,0)}}
.live-dot{animation:gtpulse 2s infinite}
@keyframes gtin{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.row-new{animation:gtin .5s ease-out}
.qc-item{transition:opacity .7s ease,visibility .7s}
@media (prefers-reduced-motion: reduce){.qc-item{transition:none}.live-dot{animation:none}}
.gt-acc summary{list-style:none}
.gt-acc summary::-webkit-details-marker{display:none}
.gt-acc .chev{transition:transform .25s,background .2s}
.gt-acc[open] .chev{transform:rotate(180deg)}
.gt-acc summary:hover .chev{background:#FFD65C}
.gt-acc summary:focus-visible{outline:3px solid #FFC629;outline-offset:3px;border-radius:8px}
.practice{transition:border-color .2s}
.practice:hover{border-color:#235080 !important}
.gt-faq summary{list-style:none}
.gt-faq summary::-webkit-details-marker{display:none}
.gt-faq .chev{transition:transform .25s,background .2s}
.gt-faq[open] .chev{transform:rotate(180deg)}
.gt-faq summary:hover .chev{background:#FFD65C}
.gt-faq summary:focus-visible{outline:3px solid #FFC629;outline-offset:3px;border-radius:8px}
.tab-btn{transition:background .2s}
.tab-btn:hover{background:#FFE08A !important}
.job-card{transition:border-color .2s,box-shadow .2s}
.job-card:hover{border-color:#235080 !important;box-shadow:0 18px 40px -28px rgba(17,20,24,.35)}
.job-title-link:hover{color:#235080 !important}
.toc-link:hover{background:#FFFFFF !important}
.practice-tile{transition:border-color .2s,transform .2s,box-shadow .2s}
.practice-tile:hover{border-color:#235080 !important;transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(17,20,24,.4)}
