:root { --navy:#101d35; --ink:#14213a; --orange:#fa6b2b; --blue:#1665c1; --cream:#f7f1e8; --yellow:#ffd15d; --white:#fffdf8; --line:rgba(255,255,255,.26); --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
.hero { min-height:100vh; overflow:hidden; padding:25px clamp(20px,4vw,68px) 24px; position:relative; background:var(--navy); color:var(--white); }
.hero:before { background:repeating-linear-gradient(90deg,transparent 0 94px,rgba(255,255,255,.07) 95px 96px),repeating-linear-gradient(0deg,transparent 0 94px,rgba(255,255,255,.055) 95px 96px); content:""; inset:0; opacity:.52; pointer-events:none; position:absolute; }
.site-nav,.hero-content,.hero-footer { margin:0 auto; max-width:1320px; position:relative; z-index:2; }
.site-nav { align-items:center; display:flex; justify-content:space-between; }
.wordmark { display:flex; flex-direction:column; font-weight:900; line-height:.8; letter-spacing:0; }
.wordmark span { color:var(--orange); font-size:.7rem; letter-spacing:.17em; margin-bottom:6px; }
.wordmark strong { font-size:1.2rem; }
.nav-links { align-items:center; display:flex; font-size:.8rem; font-weight:700; gap:clamp(18px,3vw,44px); }
.nav-cta { border:1px solid var(--orange); padding:12px 15px; }
.hero-content { align-items:center; display:grid; gap:25px; grid-template-columns:.93fr 1.07fr; min-height:calc(100vh - 142px); padding:48px 0; }
.kicker,.section-label { font-size:.69rem; font-weight:800; letter-spacing:.16em; margin:0; text-transform:uppercase; }
.kicker { color:var(--yellow); display:flex; align-items:center; gap:9px; }
.kicker span { background:var(--orange); display:inline-block; height:8px; width:8px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(4.1rem,8.6vw,9.35rem); letter-spacing:0; line-height:.79; margin:22px 0 28px; max-width:7ch; }
h1 em { color:var(--orange); font-style:normal; }
.lead { color:#d2d9e4; font-size:clamp(1rem,1.4vw,1.22rem); line-height:1.55; max-width:430px; }
.hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:26px; margin-top:34px; }
.button { align-items:center; display:inline-flex; font-size:.86rem; font-weight:800; gap:18px; padding:16px 18px; }
.button-orange { background:var(--orange); color:white; }
.button b,.text-link b,.contact a b { font-size:1.3em; }
.text-link { border-bottom:1px solid rgba(255,255,255,.6); font-size:.83rem; font-weight:700; padding-bottom:5px; }
.hero-logo-stage { align-self:stretch; min-height:560px; overflow:hidden; position:relative; }
.hero-logo-stage:before { background:#c9ddf2; border:1px solid rgba(255,255,255,.42); clip-path:polygon(10% 0,100% 8%,88% 96%,0 86%); content:""; height:70%; left:14%; position:absolute; top:11%; transform:rotate(-12deg); width:78%; z-index:0; }
.hero-logo-stage img { bottom:-2%; filter:drop-shadow(18px 22px 0 rgba(0,0,0,.22)); height:auto; max-width:650px; position:absolute; right:-3%; width:108%; z-index:2; }
.orbit { border:2px solid var(--orange); border-radius:50%; position:absolute; }
.orbit-one { height:330px; right:9%; top:8%; width:330px; }
.orbit-two { border-color:var(--blue); height:430px; right:-13%; top:22%; width:430px; }
.flight-line { background:var(--yellow); height:5px; position:absolute; transform:rotate(-24deg); width:42%; z-index:1; }
.line-one { left:0; top:27%; }.line-two { bottom:18%; right:0; width:36%; }
.location-dot { background:var(--orange); border-radius:50%; height:19px; left:17%; position:absolute; top:20%; width:19px; }
.altitude-tag { border:1px solid var(--line); font-size:.62rem; font-weight:700; letter-spacing:.1em; padding:11px; position:absolute; right:0; text-transform:uppercase; top:8%; }
.stage-caption { bottom:5%; font-size:.68rem; font-weight:700; letter-spacing:.09em; line-height:1.55; position:absolute; right:4%; text-align:right; text-transform:uppercase; z-index:3; }
.hero-footer { border-top:1px solid var(--line); display:flex; font-size:.67rem; font-weight:700; justify-content:space-between; letter-spacing:.08em; padding-top:16px; text-transform:uppercase; }.hero-footer p { margin:0; }
.marquee { background:var(--orange); color:var(--navy); font-size:clamp(1.5rem,3.3vw,3.2rem); font-weight:900; line-height:1; overflow:hidden; padding:20px 0 18px; white-space:nowrap; }.marquee div { animation:slide 24s linear infinite; width:max-content; }.marquee span { color:var(--yellow); padding:0 15px; } @keyframes slide { to { transform:translateX(-35%); } }
.intro,.why,.process { padding:clamp(76px,11vw,155px) clamp(20px,7vw,112px); }.intro { display:grid; gap:55px; grid-template-columns:.7fr 1.3fr; }.section-label { color:var(--orange); }.intro h2,.why h2,.process h2,.contact h2 { font-size:clamp(2.8rem,5.2vw,6.3rem); letter-spacing:0; line-height:.86; }.intro-copy { max-width:830px; }.intro-copy p { font-size:1.15rem; line-height:1.6; margin:31px 0 0; max-width:570px; }
.gallery { background:var(--white); padding:clamp(36px,6vw,74px) clamp(20px,7vw,112px) clamp(70px,9vw,128px); }.gallery-head { align-items:end; display:flex; justify-content:space-between; margin-bottom:29px; }.gallery-head > p:last-child { font-size:.92rem; font-weight:700; margin:0; }.gallery-grid { display:grid; gap:12px; grid-template-columns:repeat(12,1fr); grid-template-rows:260px 190px 280px; }.gallery-item { margin:0; min-height:0; overflow:hidden; position:relative; }.gallery-item:after { background:linear-gradient(0deg,rgba(8,18,35,.72),transparent 48%); content:""; inset:0; position:absolute; }.gallery-item img { display:block; height:100%; object-fit:cover; transition:transform .45s ease; width:100%; }.gallery-item:hover img { transform:scale(1.04); }.gallery-item figcaption { bottom:17px; color:white; display:flex; flex-direction:column; gap:4px; left:17px; position:absolute; z-index:1; }.gallery-item figcaption span { font-size:.62rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.gallery-item figcaption b { font-size:1.05rem; }.gallery-atlanta { grid-column:span 7; grid-row:span 2; }.gallery-roof { grid-column:span 5; }.gallery-property { grid-column:span 5; }.gallery-pool { grid-column:span 4; }.gallery-event { grid-column:span 4; }.gallery-mountain { grid-column:span 4; }
.services { display:grid; grid-template-columns:repeat(3,1fr); }.service { min-height:470px; padding:30px; position:relative; }.service-orange { background:var(--orange); color:var(--navy); }.service-blue { background:var(--blue); color:var(--white); }.service-cream { background:var(--yellow); color:var(--navy); }.service-number { border-bottom:1px solid currentColor; font-size:.72rem; font-weight:800; padding-bottom:12px; }.service-main { bottom:32px; left:30px; position:absolute; right:30px; }.service h3 { font-size:clamp(2.4rem,4vw,4.5rem); line-height:.82; margin-bottom:24px; }.service-main p { font-size:.95rem; line-height:1.5; max-width:310px; }.service-note { font-size:.68rem; font-weight:800; letter-spacing:.08em; position:absolute; right:30px; text-align:right; text-transform:uppercase; top:90px; }
.why { background:var(--navy); color:var(--white); display:grid; gap:clamp(55px,9vw,145px); grid-template-columns:.75fr 1.25fr; overflow:hidden; }.why-copy .section-label { color:var(--yellow); }.why h2 { margin:22px 0 45px; }.why-graphic { align-self:center; border:1px solid rgba(255,255,255,.4); color:var(--orange); display:grid; font-size:clamp(7rem,17vw,17rem); font-weight:900; height:min(34vw,430px); overflow:hidden; place-items:center; position:relative; transform:rotate(-6deg); width:min(34vw,430px); }.why-graphic i { background:var(--yellow); height:8px; position:absolute; transform:rotate(-44deg); width:70%; }.why-graphic i:nth-of-type(1){top:12%;left:-12%}.why-graphic i:nth-of-type(2){bottom:20%;right:-20%}.why-graphic i:nth-of-type(3){bottom:3%;left:-5%;background:var(--blue)}.reasons { border-top:1px solid var(--line); max-width:650px; }.reasons p { border-bottom:1px solid var(--line); display:grid; gap:25px; grid-template-columns:.8fr 1.2fr; margin:0; padding:19px 0; }.reasons b { font-size:.88rem; }.reasons span { color:#c7d1df; font-size:.86rem; line-height:1.45; }
.process { background:var(--cream); }.process-head { align-items:end; display:flex; gap:40px; justify-content:space-between; margin:22px 0 76px; }.process-head h2 { max-width:720px; }.process-head p { font-size:1rem; line-height:1.5; max-width:260px; }.process ol { border-top:2px solid var(--navy); list-style:none; margin:0; padding:0; }.process li { align-items:center; border-bottom:1px solid rgba(20,33,58,.28); display:grid; gap:25px; grid-template-columns:.25fr 1fr; padding:23px 0; }.process li b { color:var(--orange); font-size:.75rem; }.process li span { font-size:clamp(1.35rem,2vw,2.15rem); font-weight:800; }
.contact { background:var(--orange); color:var(--navy); min-height:580px; padding:clamp(72px,10vw,132px) clamp(20px,7vw,112px); position:relative; }.contact .section-label { color:var(--navy); }.contact h2 { margin:26px 0 44px; }.contact a { border-bottom:3px solid var(--navy); display:inline-flex; font-size:clamp(1.3rem,2.9vw,3.1rem); font-weight:900; gap:17px; padding-bottom:9px; }.contact-note { bottom:38px; font-size:.72rem; font-weight:800; letter-spacing:.1em; margin:0; position:absolute; right:clamp(20px,7vw,112px); text-transform:uppercase; }.contact:after { border:2px solid rgba(16,29,53,.42); border-radius:50%; content:""; height:500px; position:absolute; right:-100px; top:-185px; width:500px; }
footer { align-items:center; background:var(--navy); color:var(--white); display:flex; font-size:.68rem; font-weight:700; justify-content:space-between; letter-spacing:.08em; padding:21px clamp(20px,7vw,112px); text-transform:uppercase; }
@media (max-width:760px) { .hero { min-height:0; }.nav-links a:not(.nav-cta) { display:none; }.hero-content { display:block; padding:75px 0 45px; }.hero-logo-stage { min-height:415px; margin-top:30px; }.hero-logo-stage img { right:-10%; width:112%; }.orbit-one { height:255px; width:255px; }.orbit-two { height:330px; width:330px; }.hero-footer p { max-width:190px; line-height:1.45; }.marquee { font-size:1.5rem; }.intro,.why { display:block; }.intro-copy { margin-top:40px; }.gallery-head { align-items:start; flex-direction:column; gap:12px; }.gallery-grid { grid-template-columns:repeat(2,1fr); grid-template-rows:260px 180px 180px 180px; }.gallery-atlanta { grid-column:span 2; grid-row:auto; }.gallery-roof,.gallery-property,.gallery-pool,.gallery-event,.gallery-mountain { grid-column:span 1; grid-row:auto; }.services { display:block; }.service { min-height:390px; }.why-graphic { height:235px; margin-bottom:55px; width:235px; }.why h2 { font-size:3.25rem; }.process-head { display:block; margin-bottom:48px; }.process-head p { margin-top:28px; }.contact { min-height:480px; }.contact-note { bottom:24px; left:20px; right:auto; }.contact:after { height:330px; right:-170px; top:-95px; width:330px; } }
