@font-face{font-family:"Square721";src:url("assets/fonts/square721-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Square721";src:url("assets/fonts/square721-bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
:root{--charcoal:#1d2623;--sage:#c8dcc1;--ink:#27352e;--cream:#ffffff;--purple:#ad00c4;--muted:#67736a;--line:#dce2d8;--sans:"Square721","Square721 BT",Arial,sans-serif;--display:var(--sans)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}a:focus-visible{outline:3px solid #ad00c4;outline-offset:6px;border-radius:2px}.skip-link{position:fixed;top:12px;left:12px;background:var(--cream);color:var(--ink);padding:12px 18px;transform:translateY(-160%);z-index:100}.skip-link:not(:focus){clip-path:inset(50%)}.skip-link:focus{transform:none}.site-header{height:128px;padding:0 clamp(24px,6.3vw,108px);display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid #e0e5dd}.brand{display:block;flex-shrink:0}.logo-window{display:flex;align-items:center;justify-content:flex-start;width:180px;height:72px;max-width:100%}.brand-logo{display:block;width:100%;height:100%;max-width:180px;max-height:72px;object-fit:contain}.brand-mark{height:39px;width:39px;stroke:#ad00c4;stroke-width:1.6}.site-header nav{display:flex;gap:38px;font-size:13px;font-weight:600;height:100%;align-items:center}.site-header nav a{position:relative;padding:10px 0}.nav-home:after{content:"";position:absolute;bottom:0;left:0;width:19px;height:2px;background:#ad00c4}.site-header nav a:hover{color:#9000a4}.header-call{display:flex;align-items:center;gap:11px;border:1px solid #d4dcd0;padding:13px 20px;font-size:13px;font-weight:700;letter-spacing:.6px;transition:background .2s}.header-call:hover{background:#f2f6ef}.header-call svg{width:17px;height:17px}
.hero{position:relative;min-height:690px;min-height:calc(100svh - 128px);max-height:1000px;isolation:isolate;overflow:hidden;background:var(--charcoal);color:var(--cream);display:flex;align-items:center}.hero-art{position:absolute;inset:0;z-index:-2;background:url("assets/gaceo-background.png") center 50%/cover no-repeat;filter:grayscale(1);opacity:.86}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(17,27,23,.96) 0%,rgba(24,36,29,.84) 34%,rgba(34,50,39,.45) 65%,rgba(66,84,60,.24) 100%)}.hero-inner{width:100%;padding:84px clamp(24px,8.4vw,144px) 122px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;font-weight:600;letter-spacing:2.7px;color:#dce6d5;margin-bottom:29px}.eyebrow span{width:27px;height:1px;background:var(--sage)}h1{font:400 clamp(60px,7vw,104px)/1.04 var(--display);letter-spacing:-1.5px;margin:0 0 29px;max-width:820px}h1 em{font-weight:400;font-style:normal;color:#d5e5cb}.intro{font-size:15px;line-height:1.9;color:#e8ede5;margin:0 0 36px;max-width:450px}.hero-actions{display:flex;align-items:center;gap:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:33px;min-height:55px;padding:0 24px;font-size:12px;font-weight:700;letter-spacing:.3px;transition:background .2s,transform .2s}.button-primary{background:var(--sage);color:#1d2b22}.button-primary:hover{background:#dce9d5;transform:translateY(-2px)}.button svg{width:21px;height:21px}.directions-link{display:inline-flex;align-items:center;gap:14px;padding:12px 0;font-size:12px;font-weight:600;border-bottom:1px solid #a9b6a1}.directions-link svg{width:17px;height:17px}.directions-link:hover{color:#d5e5cb;border-color:#d5e5cb}.hero-caption{position:absolute;right:6.3vw;bottom:67px;display:flex;align-items:center;gap:17px;color:#eff3eb;font-size:9px;font-weight:500;line-height:1.8;letter-spacing:2px;text-shadow:0 1px 8px #18271e}.caption-line{width:42px;height:1px;background:#ceddc3}.scroll-cue{position:absolute;bottom:35px;left:clamp(24px,8.4vw,144px);display:flex;align-items:center;gap:20px;font-size:8px;letter-spacing:2px;color:#cbd7c3}.scroll-cue svg{height:18px;width:18px}.scroll-cue:hover{color:#e2eed9}
.contact{background:#f6f8f3;padding:66px clamp(24px,8.4vw,144px) 68px;display:grid;grid-template-columns:.9fr 1.05fr 1.25fr;gap:45px;align-items:start;scroll-margin-top:20px}.section-label{display:flex;align-items:center;gap:9px;font-size:9px;font-weight:700;letter-spacing:2px;color:#697762;min-height:20px}.section-label svg{width:16px;height:16px;stroke-width:1.4}.contact h2{font:400 40px/1.15 var(--display);letter-spacing:-1px;margin:12px 0 0}.contact-detail{display:flex;flex-direction:column;align-items:flex-start;padding-left:37px;border-left:1px solid var(--line);min-height:127px}.phone-number{font-family:var(--display);font-size:clamp(26px,2.55vw,36px);letter-spacing:.2px;line-height:1.1;margin:13px 0 11px;white-space:nowrap}.phone-number:hover{color:#9300a8}.detail-note{font-size:11px;color:var(--muted)}address{font-size:16px;line-height:1.65;font-style:normal;margin:12px 0 13px;font-weight:500}.map-link{display:inline-flex;align-items:center;gap:11px;font-size:11px;font-weight:700;border-bottom:1px solid #96aa8b;padding-bottom:4px}.map-link svg{width:14px;height:14px}.map-link:hover{color:#9300a8}footer{border-top:1px solid var(--line);margin:0 clamp(24px,6.3vw,108px);padding:26px 0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:9px;color:#6a7664;letter-spacing:.2px}footer p{margin:0}.footer-brand .logo-window{width:128px;height:50px}.footer-brand .brand-logo{max-width:128px;max-height:50px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero{min-height:800px}.hero-inner{max-width:1760px;margin:auto}}@media(max-width:1000px){.site-header{height:112px;padding:0 32px}.brand .logo-window{width:160px;height:64px}.brand .brand-logo{max-width:160px;max-height:64px}.brand-mark{width:32px;height:32px}.site-header nav{gap:25px}.header-call{padding:12px 16px;font-size:12px}.hero{min-height:660px;min-height:calc(100svh - 112px);}.hero-art{background-position:60% center}.hero-inner{padding:85px 7vw 130px}h1{font-size:76px}.scroll-cue{left:7vw}.contact{background:#f6f8f3;padding:52px 7vw;grid-template-columns:1fr 1fr;gap:35px}.contact-heading{grid-column:1/-1}.contact h2{font-size:38px}.contact-detail{padding-left:25px}.phone-detail{border-left:0;padding-left:0}footer{margin:0 7vw}.hero-caption{right:7vw}}
@media(max-width:600px){.site-header{height:96px;padding:0 23px;gap:15px}.brand .logo-window{width:136px;height:54px}.brand .brand-logo{max-width:136px;max-height:54px}.brand-mark{width:29px;height:29px}.site-header nav{margin-left:auto;gap:0}.site-header nav a{font-size:12px}.nav-home{display:none}.header-call{border:0;padding:10px 0 10px 6px}.header-call span{display:none}.header-call svg{width:20px;height:20px}.hero{min-height:650px;min-height:calc(100svh - 96px);}.hero-art{background-position:65% center}.hero-shade{background:linear-gradient(90deg,rgba(17,27,23,.94),rgba(24,36,29,.82) 70%,rgba(34,50,39,.55))}.hero-inner{padding:74px 28px 140px}.eyebrow{font-size:8px;letter-spacing:2.2px;gap:10px;margin-bottom:30px}.eyebrow span{width:22px}h1{font-size:clamp(40px,12vw,68px);letter-spacing:-1px;margin-bottom:27px}.intro{font-size:13px;line-height:1.9;margin-bottom:31px}.hero-actions{gap:20px 24px;flex-wrap:wrap}.button{gap:22px;padding:0 21px;font-size:11px;min-height:53px}.directions-link{font-size:11px;gap:8px}.hero-caption{display:none}.scroll-cue{bottom:34px;left:28px}.contact{display:flex;flex-direction:column;gap:29px;padding:43px 28px 46px}.contact-heading{padding-bottom:3px}.contact h2{font-size:36px;margin-top:9px}.contact-detail{border-left:0;padding:0 0 28px;min-height:0;width:100%;border-bottom:1px solid var(--line)}.phone-number{font-size:clamp(29px,8vw,36px)}.address-detail{border-bottom:0;padding-bottom:0}address{font-size:16px}.section-label{font-size:8px}footer{margin:0 28px;padding:24px 0;display:grid;grid-template-columns:1fr auto;gap:15px;font-size:8px}footer p{grid-column:1/-1;grid-row:2}footer>span{text-align:right}.footer-brand{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
