:root{--contact-gap:.75rem;--contact-pad:1rem;--contact-dock-space:6.5rem}
body{height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;padding-bottom:0}
.site-scroll{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-top:105px;scroll-behavior:smooth}
.direct-contact{display:flex;flex-wrap:wrap;gap:var(--contact-gap);align-items:center}
.hero .direct-contact{margin-bottom:var(--contact-pad)}
.hero .direct-contact .button{min-width:148px;justify-content:center;gap:var(--contact-gap)}
.button.contact-outline{background:transparent;color:var(--cream);border:1px solid var(--gold)}
.button.contact-outline:hover{background:var(--green-light)}
.hero .contact-prompt{font-size:var(--text-sm);color:var(--cream);margin-bottom:var(--contact-pad);max-width:35ch}
.hero .hero-review{display:inline-flex;color:var(--cream);font-size:var(--text-xs);min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:5px}
.contact .direct-contact{justify-content:center;margin:var(--contact-pad) 0}
.contact .contact-outline{border-color:var(--cream);color:var(--cream)}
.contact .contact-outline:hover{background:var(--green-light)}
.contact-dock{position:relative;z-index:8;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,200px));justify-content:center;gap:4px;padding:8px var(--contact-pad);background:var(--green);color:var(--cream);border-top:1px solid var(--gold)}
.contact-dock a{display:flex;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:var(--text-sm);padding:8px;text-align:center}
.contact-dock a:first-child{background:var(--gold);color:var(--green)}
.contact-dock a:hover{background:var(--green-light);color:var(--cream)}
.contact-dock svg{width:18px;height:18px;flex-shrink:0}
body:has(dialog[open]) .contact-dock{visibility:hidden}
.review-invitation{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;border-top:1px solid var(--line)}
.review-invitation .eyebrow{color:var(--muted);margin-bottom:var(--contact-pad)}
.review-invitation h2{font-size:clamp(2rem,4vw,3rem)}
.review-invitation p{color:var(--muted);margin-bottom:var(--contact-pad);max-width:48ch}
.review-invitation .button{width:max-content}
.header-contact-links{display:flex;gap:var(--contact-pad);justify-self:end}
.header-contact-links a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-xs);color:var(--cream);border-bottom:1px solid #667466;white-space:nowrap}
.header nav a[href$="journal.html"]{background:var(--gold);color:var(--green);padding-inline:var(--contact-pad);font-weight:600;border:1px solid var(--gold)}
.header nav a[href$="journal.html"]:hover,.header nav a[href$="journal.html"]:focus-visible{background:var(--cream);color:var(--green);border-color:var(--cream)}
@media(max-width:980px){
 .header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;height:auto;min-height:126px;padding:var(--contact-gap) var(--contact-pad);gap:8px var(--contact-gap)}
 .header .brand{grid-column:1;grid-row:1}
 .header-contact-links{grid-column:2;grid-row:1}
 .header nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px;width:100%;font-size:var(--text-xs)}
 .header nav a{min-height:44px;padding-inline:var(--contact-gap);white-space:nowrap}
 .header nav a[href$="journal.html"]{padding-inline:var(--contact-pad)}
 .site-scroll{scroll-padding-top:150px}
}
@media(max-width:760px){
 :root{--contact-dock-space:calc(6rem + env(safe-area-inset-bottom,0px))}
 .contact-dock{grid-template-columns:repeat(3,minmax(0,1fr));padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}
 .contact-dock a{font-size:var(--text-xs);gap:6px;white-space:nowrap}
 .contact-dock a:last-child svg{display:none}
 .header-contact-links{gap:var(--contact-gap)}
 .header-contact-links a{font-size:var(--text-xs)}
 .review-invitation{grid-template-columns:1fr;gap:1.5rem}
 .hero .direct-contact .button{min-width:0;flex:1;padding:12px;gap:8px}
}
@media(prefers-reduced-motion:reduce){.site-scroll{scroll-behavior:auto}}
@media(max-width:370px){
 .hero-object,.sourcing-object{overflow:hidden}
 .header-contact-links{gap:8px}
 .header-contact-links a{font-size:var(--text-xs)}
 .header .brand span{font-size:19px}
 .header .brand{gap:6px}
 .contact-dock svg{display:none}
}
