/* Georgia Advantage: site styles (generated from the design prototype) */
html{scroll-behavior:smooth}
body{margin:0;background:#0A1611}
*{box-sizing:border-box}
img{display:block;max-width:100%}
a{color:inherit}
a:hover{color:#DDB872}
section[id]{scroll-margin-top:76px}
.tartan{background-image:url(../assets/images/tartan-ga.jpg);background-size:96px 96px;background-repeat:repeat}
.tartan-text{background-image:url(../assets/images/tartan-ga.jpg);background-size:64px 64px;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.nav-menu{display:none}
.hero-img-mob{display:none}
.marquee-scroll{overflow:hidden;scrollbar-width:none;cursor:grab;touch-action:pan-y;overscroll-behavior-x:contain}
.marquee-scroll::-webkit-scrollbar{display:none}
.marquee-scroll.dragging{cursor:grabbing}
.marquee-scroll a,.marquee-scroll img{-webkit-user-drag:none;user-select:none}
.logo-tile{transition:transform .25s ease, box-shadow .25s ease}
.logo-tile:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,0.35)}
.person-card{transition:border-color .3s ease, background .3s ease}
.person-card:hover{border-color:rgba(196,154,74,0.6) !important;background:rgba(244,238,226,0.05) !important;color:#F4EEE2}
.person-card img{transition:transform .6s ease}
.person-card:hover img{transform:scale(1.04)}
@supports (animation-timeline: scroll()){
.site-nav{animation:navSolid linear both;animation-timeline:scroll(root);animation-range:0px 260px}
}
@supports not (animation-timeline: scroll()){
.site-nav{background:rgba(10,22,17,0.94);box-shadow:0 1px 0 rgba(196,154,74,0.25)}
}
@keyframes navSolid{from{background:rgba(10,22,17,0);box-shadow:0 1px 0 rgba(196,154,74,0);backdrop-filter:blur(0px)}to{background:rgba(10,22,17,0.94);box-shadow:0 1px 0 rgba(196,154,74,0.28);backdrop-filter:blur(12px)}}
.reveal{transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1)}
.seam{transform-origin:left center;transition:transform 1.4s cubic-bezier(.77,0,.18,1)}
.rv-on .reveal:not(.in){opacity:0;transform:translateY(40px)}
.rv-on .seam:not(.in){transform:scaleX(0)}
@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}
}
@media (max-width: 1180px){
.nav-links{display:none !important}
.nav-menu{display:inline-flex !important}
}
@media (max-width: 720px){
.nav-cta{display:none !important}
.nav-logo{height:44px !important;animation:none !important}
.nav-inner{height:72px !important;animation:none !important}
.hero{min-height:900px !important}
.hero-shade{background:linear-gradient(180deg, rgba(11,26,19,0.45) 0%, rgba(11,26,19,0) 14%, rgba(11,26,19,0) 24%, rgba(11,26,19,0.8) 40%, #0B1A13 52%) !important}
.hero-img{display:none !important}
.hero-img-mob{display:block !important}
.eyebrow-line{display:none !important}
.person-photo{flex-basis:100% !important}
}
.brand-intro{position:fixed;inset:0;z-index:45;pointer-events:none;visibility:hidden;opacity:0}
.brand-intro::before{content:'';position:absolute;inset:0;background:#0A1611;opacity:0}
.brand-intro.is-leaving,.brand-intro.is-revealing{visibility:visible;background:rgba(10,22,17,0.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.brand-intro.is-leaving{pointer-events:auto;animation:gaIn .45s cubic-bezier(.33,1,.68,1) both}
.brand-intro.is-leaving::before{animation:gaSolid 1.1s cubic-bezier(.45,0,.55,1) both}
.brand-intro.is-revealing{opacity:1;animation:gaReveal .5s cubic-bezier(.33,1,.68,1) both}
.brand-intro.is-revealing::before{opacity:1}
.brand-intro-logo{position:absolute;left:0;right:0;display:flex;justify-content:center;padding:0 24px;transform:translateY(-50%)}
.brand-intro-logo img{display:block;width:auto;height:min(300px,38vh);opacity:0;filter:drop-shadow(0 10px 30px rgba(0,0,0,.35))}
.brand-intro.is-leaving .brand-intro-logo img{animation:gaLogo 1.1s cubic-bezier(.45,0,.55,1) both}
@keyframes gaIn{from{opacity:0}to{opacity:1}}
@keyframes gaSolid{0%,60%{opacity:0}90%,100%{opacity:1}}
@keyframes gaLogo{0%{opacity:0;transform:scale(.97)}38%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1)}92%,100%{opacity:0;transform:scale(1.01)}}
@keyframes gaReveal{from{opacity:1}to{opacity:0}}
@media (prefers-reduced-motion: reduce){.brand-intro{display:none}}
.chip{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid rgba(244,238,226,0.22);font-size:13px;letter-spacing:0.02em;color:#E3DED2}
@media (max-width: 720px){
.nav-cta{display:none !important}
.nav-logo{height:44px !important;animation:none !important}
.nav-inner{height:72px !important;animation:none !important}
}
.partner{flex:0 1 calc((100% - 70px) / 6);min-width:0}
.partner-tile{transition:transform .25s ease, box-shadow .25s ease}
.partner:hover .partner-tile{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,0.35)}
.partner:hover{color:#F4EEE2}
.search-box:focus-within{border-color:#C49A4A !important}
.search-input:focus{outline:none}
@media (max-width: 960px){
.partner{flex-basis:calc((100% - 28px) / 3) !important}
}
@media (max-width: 560px){
.partner{flex-basis:calc((100% - 14px) / 2) !important}
}
.field{display:flex;flex-direction:column;gap:10px;min-width:0}
.field label{font-size:11px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:#B4AF9F}
.field label .opt{letter-spacing:0.08em;text-transform:none;font-weight:500;color:#8E8A7D}
.field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(244,238,226,0.3);border-radius:0;padding:10px 0 12px;font-family:'Public Sans','Helvetica Neue',sans-serif;font-size:17px;line-height:1.5;color:#F4EEE2;outline:none;transition:border-color .2s ease;-webkit-appearance:none;appearance:none}
.field textarea{min-height:150px;resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:rgba(244,238,226,0.36)}
.field input:focus,.field textarea:focus{border-bottom-color:#C49A4A;box-shadow:0 1px 0 0 #C49A4A}
.field input:focus-visible,.field textarea:focus-visible{outline:none}
.field.has-error input,.field.has-error textarea{border-bottom-color:#E48A7B;box-shadow:0 1px 0 0 #E48A7B}
.field-error{font-size:13px;line-height:1.4;color:#F2A598}
.field input:-webkit-autofill{-webkit-text-fill-color:#F4EEE2;transition:background-color 99999s ease 0s}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 28px}
.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:58px;padding:0 32px;border:0;cursor:pointer;font-family:'Public Sans','Helvetica Neue',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;transition:filter .2s ease}
.submit-btn:hover{filter:brightness(1.08)}
.submit-btn:focus-visible,.ghost-btn:focus-visible{outline:2px solid #F4EEE2;outline-offset:3px}
.ghost-btn{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;background:transparent;border:1px solid rgba(244,238,226,0.35);color:#F4EEE2;cursor:pointer;font-family:'Public Sans','Helvetica Neue',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase}
@media (max-width: 720px){
.field-row{grid-template-columns:minmax(0,1fr)}
.contact-photo{min-height:340px !important}
.contact-main{padding-top:56px !important}
.contact-split{min-height:0 !important}
}

/* ---- static-site additions ---- */
/* Team page: full bios open under the intro ("Read full bio" / "Show less"). */
.bio-more{interpolate-size:allow-keywords}
@media (min-width: 900px){#jay > div > .reveal:first-child,#charlotte > div > .reveal:first-child{position:sticky !important;top:120px}}
.bio-more summary{list-style:none;display:inline-flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:#F4EEE2;border-bottom:1px solid rgba(196,154,74,0.6)}
.bio-more summary::-webkit-details-marker{display:none}
.bio-more summary:hover{border-bottom-color:#C49A4A}
.bio-more summary:focus-visible{outline:2px solid #F4EEE2;outline-offset:4px}
.bio-more summary svg{transition:transform .3s ease}
.bio-more[open] summary svg{transform:rotate(180deg)}
.bio-more .bio-more-close,.bio-more[open] .bio-more-open{display:none}
.bio-more[open] .bio-more-close{display:inline}
.bio-more::details-content{block-size:0;overflow:hidden;transition:block-size .45s ease,content-visibility .45s allow-discrete}
.bio-more[open]::details-content{block-size:auto}
@media (prefers-reduced-motion: reduce){.bio-more::details-content{transition:none}}
/* Contact page: photo beside the form on wide screens. The footer's tartan line then runs along the bottom of both,
   so the photo's own strip is hidden there (it stays as the divider when the photo sits above the form). */
@media (min-width: 1100px){
.contact-split{flex-wrap:nowrap !important}
.contact-photo > .tartan{display:none}
}
html{background:#0A1611}
[hidden]{display:none !important}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}
/* arriving from another page: start fully covered, then the cover fades away */
html.ga-arriving body{visibility:hidden}
html.ga-arriving .brand-intro{visibility:visible;opacity:1;background:#0A1611}
html.ga-arriving .brand-intro::before{opacity:1}
.mobile-menu-open{overflow:hidden}
