@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');:root{--dark:#111d17;--deep:#17271e;--forest:#21392a;--cream:#f3f0e6;--gold:#d5aa64;--text:#27372c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{height:86px;background:#122018;color:#f7f2e8;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1320px)/2));position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff18}.brand{display:flex;align-items:center;gap:12px}.brand-mark{border:1px solid var(--gold);color:var(--gold);width:48px;height:48px;display:grid;place-items:center;font-family:'Barlow Condensed';font-weight:900;font-size:24px;position:relative}.brand-mark span{position:absolute;font-size:9px;top:3px;right:5px}.brand-name{font:800 26px/0.92 'Barlow Condensed',sans-serif;letter-spacing:1.6px}.brand-name small{display:block;font:600 10px/1.8 'DM Sans';letter-spacing:2.1px;color:#d6cdb9}.navigation{display:flex;gap:33px;align-items:center;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px}.navigation a:hover{color:var(--gold)}.nav-call{border:1px solid var(--gold);padding:13px 21px;color:var(--gold)}.menu-toggle{display:none}.hero{min-height:650px;background:#17271e;color:#fff;display:grid;grid-template-columns:56% 44%;overflow:hidden}.hero-text{padding:110px 6% 55px max(9%,calc((100vw - 1220px)/2));position:relative;z-index:2}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:2.6px;color:var(--gold)}.dot{display:inline-block;width:7px;height:7px;background:var(--gold);border-radius:50%;margin-right:8px}.hero h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase}.hero h1{font-size:clamp(65px,7vw,115px);letter-spacing:-1px;line-height:.91;margin:32px 0}.hero em,h2 em{font-style:normal;color:var(--gold)}.hero-copy{max-width:470px;font-size:16px;line-height:1.8;color:#d3d8cf}.actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button{padding:17px 23px;font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;display:inline-block;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--gold);color:#1b271e}.outline{border:1px solid #c4cbb8;color:#fff}.hero-foot{display:flex;gap:25px;flex-wrap:wrap;margin-top:75px;font-size:9px;letter-spacing:1.7px;color:#b3bdad}.hero-art{position:relative;min-height:650px;background:linear-gradient(180deg,#b29b74 0%,#9b9a79 29%,#4c6655 62%,#1b3024 100%);overflow:hidden}.sun{position:absolute;width:250px;height:250px;border-radius:50%;background:#e8c38b;filter:blur(7px);top:18%;left:30%;opacity:.75}.ridge{position:absolute;width:130%;height:55%;bottom:-22%;left:-10%;border-radius:50% 50% 0 0}.ridge-back{background:#506953;bottom:-12%;opacity:.7}.ridge-front{background:#1b3327}.trees{position:absolute;inset:0;background-repeat:repeat-x;background-position:bottom;background-size:180px 100%;opacity:.8}.trees-back{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='550' viewBox='0 0 180 550'%3E%3Cg fill='%23364f3c'%3E%3Cpath d='M18 550V130h7v420M4 350l18-190 20 190zM78 550V60h9v490M54 310 82 90l29 220zM144 550V150h7v400M123 390l25-230 24 230z'/%3E%3C/g%3E%3C/svg%3E")}.trees-front{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='600' viewBox='0 0 180 600'%3E%3Cg fill='%2314261d'%3E%3Cpath d='M28 600V120h10v480M0 360 33 130l34 230zM116 600V40h11v560M85 310 121 65l37 245zM174 600V160h8v440M155 400l23-230 25 230z'/%3E%3C/g%3E%3C/svg%3E");opacity:.8}.art-caption{position:absolute;bottom:32px;right:30px;font-size:10px;letter-spacing:2px;color:#eee6cf}.section{padding:100px max(8%,calc((100vw - 1200px)/2))}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.section h2{font-size:clamp(54px,6vw,85px);line-height:.95;margin:18px 0 24px}.intro p:not(.kicker),.about>p:last-child{font-size:17px;line-height:1.9}.text-link{display:inline-block;color:#8d6736;font-weight:800;margin-top:20px}.services{background:#e9e7dc}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:38px}.section-head>p{max-width:280px;line-height:1.7;color:#657265}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service-card{padding:34px;background:#fffdf5;min-height:390px;display:flex;flex-direction:column;border-top:4px solid #bda06b}.service-number{font-size:10px;letter-spacing:2px;font-weight:800;color:#927b53}.service-icon{font-size:54px;color:#b79b6c;margin:28px 0 8px}.service-card h3{font-size:33px;line-height:1;margin:12px 0}.service-card p{font-size:14px;line-height:1.8;color:#617065}.service-card a{margin-top:auto;padding-top:20px;font-size:12px;font-weight:800;color:#826337}.legal-note{font-size:11px;color:#7b8074;margin-top:22px}.process{background:#1a2c21;color:#f3efe4;display:grid;grid-template-columns:1fr 1.1fr;gap:90px}.muted{color:#c4cec1}.steps>div{display:flex;gap:30px;padding:25px 0;border-bottom:1px solid #ffffff26}.steps b{font:700 38px 'Barlow Condensed';color:var(--gold)}.steps strong{display:block;font-size:13px;letter-spacing:1.2px}.steps small{display:block;font-size:13px;line-height:1.8;color:#b7c2b5;margin-top:10px}.coverage{display:grid;grid-template-columns:1fr 1fr;min-height:480px;padding-top:0;padding-bottom:0;background:#dedfd0}.coverage-panel{padding:85px 12% 85px 0}.coverage-panel p:not(.kicker){line-height:1.9;max-width:470px}.coverage-graphic{background:#aab49c;display:grid;place-items:center;overflow:hidden}.rings{width:320px;height:320px;border:1px solid #e5eadb;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;outline:1px solid #e5eadb;outline-offset:35px;box-shadow:0 0 0 75px #ffffff19,0 0 0 120px #ffffff16;letter-spacing:3px;color:#233d2d}.rings span{font:800 38px 'Barlow Condensed'}.rings b{font-size:12px;margin-top:10px}.about{text-align:center;max-width:1000px;margin:auto}.about>p:last-child{max-width:730px;margin:0 auto}.contact{background:#a47c43;color:white;text-align:center}.contact .kicker{color:#f3dbad}.contact h2{font-size:clamp(70px,8vw,110px)}.contact-actions{justify-content:center}.light{background:#f5f0e5;color:#253a2c}.light-outline{border:1px solid #fff;color:white}.contact-small{margin-top:35px;font-size:13px}.contact-small span{opacity:.7}footer{background:#111e16;color:#d2d9cd;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;padding:40px 7%;font-size:11px}.footer-brand{font:800 23px 'Barlow Condensed'}.footer-brand span{display:block;font:600 9px 'DM Sans';letter-spacing:1.5px}@media(max-width:850px){.site-header{height:75px;padding:0 5%}.menu-toggle{display:block;background:none;border:0;color:white;font-size:25px;cursor:pointer}.navigation{display:none;position:absolute;top:75px;left:0;right:0;background:#14251b;padding:25px;flex-direction:column;align-items:stretch}.navigation.open{display:flex}.hero{grid-template-columns:1fr}.hero-text{padding:75px 7% 40px}.hero-art{min-height:320px}.hero-foot{margin-top:50px}.intro,.process,.coverage{grid-template-columns:1fr;gap:25px}.coverage-panel{padding:70px 0}.coverage-graphic{min-height:320px}.section{padding:75px 7%}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.section-head{align-items:start;flex-direction:column}.process{gap:20px}.contact h2{font-size:70px}.brand-name{font-size:22px}}@media(max-width:420px){.hero h1{font-size:62px}.brand-name small{font-size:8px}.brand-mark{width:40px;height:40px}.button{width:100%;text-align:center}.hero-foot{font-size:8px}.section h2{font-size:58px}}

/* Last Light authentic South Georgia photography and original branding */
.brand-mark{border:0;width:55px;height:55px;display:flex;align-items:center;justify-content:center;background:transparent}
.brand-mark img{width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
.hero-art{background:linear-gradient(180deg,rgba(9,22,13,.08),rgba(7,19,12,.55)),url("assets/south-georgia-pines.jpg") center center/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;padding:35px 24px}
.hero-art .sun,.hero-art .ridge,.hero-art .trees,.hero-art .art-caption{display:none}
.hero-logo-panel{background:rgba(0,0,0,.86);border:1px solid rgba(215,183,115,.35);box-shadow:0 18px 55px rgba(0,0,0,.3);width:min(100%,430px);padding:20px 20px 18px;text-align:center}
.hero-logo-panel img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain}
.hero-logo-panel p{color:#e9dcc0;letter-spacing:1.6px;font-size:9px;font-weight:700;margin:5px 0 0}
@media(max-width:850px){.hero-art{min-height:440px}.hero-logo-panel{max-width:380px}.brand-mark{width:46px;height:46px}}

/* Logo-free Southern Outdoors design */
.hero-art{align-items:flex-end;justify-content:center}
.hero-tagline{background:rgba(8,18,12,.72);border:1px solid rgba(215,183,115,.35);color:#f1e6cf;text-align:center;padding:19px 24px;font-size:12px;line-height:1.7;font-weight:800;letter-spacing:2px;max-width:480px}
.brand-name{font-size:29px}
@media(max-width:850px){.hero-tagline{font-size:10px;letter-spacing:1.3px}}

/* Compact deer-DNA brand icon in header only */
.brand-mark{border:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1)}
@media(max-width:420px){.brand-mark{width:40px;height:40px}}

/* Brand typography refresh: classic engraved serif to complement original logo */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800;900&display=swap');
.brand-name, .footer-brand, .hero h1, .section h2, .service-card h3, .contact h2, .rings span {font-family:'Cinzel', Georgia, serif; letter-spacing:-.025em;}
.brand-name {font-size:22px; line-height:1.08; letter-spacing:.045em;}
.brand-name small {font-family:'DM Sans',Arial,sans-serif; font-size:9px; letter-spacing:.13em; line-height:2;}
.hero h1 {font-size:clamp(48px,5.4vw,83px);line-height:1.08;letter-spacing:-.035em;}
.section h2 {font-size:clamp(40px,4.7vw,66px);line-height:1.12;}
.service-card h3 {font-size:25px;line-height:1.18;}
.contact h2 {font-size:clamp(48px,6.3vw,82px);line-height:1.12;}
.footer-brand {font-size:18px;}
.rings span {font-size:27px;}
@media(max-width:850px){.hero h1{font-size:clamp(43px,8.8vw,72px)}.brand-name{font-size:19px}}
@media(max-width:420px){.hero h1{font-size:43px}.brand-name{font-size:17px}.section h2{font-size:40px}}

/* Geographic service area: real OpenStreetMap basemap, centered on Lee County */
.coverage-map{position:relative;min-height:480px;isolation:isolate;background:#c4cbb5;overflow:hidden}
.coverage-map-frame{position:absolute;inset:-3%;width:106%;height:106%;border:0;filter:grayscale(.78) sepia(.28) saturate(.6) contrast(.94);opacity:.9;z-index:0}
.coverage-map-shade{position:absolute;inset:0;background:linear-gradient(135deg,rgba(28,57,39,.15),rgba(227,216,183,.14));pointer-events:none;z-index:1}
.coverage-map-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(68%,340px);aspect-ratio:1;border:2px solid rgba(32,65,45,.75);border-radius:50%;box-shadow:0 0 0 20px rgba(250,244,222,.12),0 0 0 44px rgba(255,255,255,.09),0 0 0 70px rgba(255,255,255,.07);z-index:2;pointer-events:none}
.map-center-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:12px;width:12px;background:#b38a48;border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 5px rgba(179,138,72,.25)}
.map-center-label{position:absolute;top:calc(50% + 18px);left:50%;transform:translateX(-50%);background:rgba(19,42,29,.9);padding:7px 13px;color:#fff;white-space:nowrap;font:700 16px/1.15 'Cinzel',Georgia,serif;text-align:center;letter-spacing:1px;box-shadow:0 3px 12px #0003}
.map-center-label small{font:700 9px/1.5 'DM Sans',sans-serif;letter-spacing:2px;color:#e2c58e}
.coverage-map-caption{position:absolute;bottom:14px;left:14px;background:rgba(20,39,28,.9);color:#fff;padding:9px 12px;font-size:9px;font-weight:700;letter-spacing:1.2px;z-index:2}
@media(max-width:850px){.coverage-map{min-height:370px}.coverage-map-circle{width:min(64%,280px)}}

/* Service inquiry contact chooser */
.contact-dialog-backdrop[hidden]{display:none!important}
.contact-dialog-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(8,19,12,.76);display:grid;place-items:center;padding:20px}
.contact-dialog{position:relative;width:min(100%,530px);max-height:calc(100vh - 40px);overflow:auto;background:#f3f0e6;color:#233a2a;border:1px solid #d5aa64;box-shadow:0 25px 90px #0008;padding:38px 32px 28px}
.contact-dialog-close{position:absolute;right:13px;top:10px;border:0;background:transparent;color:#24392b;font-size:34px;cursor:pointer;line-height:1;padding:6px 10px}
.contact-dialog h2{font-size:clamp(30px,4vw,46px);line-height:1.08;margin:14px 30px 10px 0}
.contact-dialog-service{color:#83612e;font-size:13px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin:0 0 25px}
.contact-dialog-options{display:grid;gap:12px}
.contact-dialog-option{display:flex;flex-direction:column;gap:5px;padding:18px 20px;background:#1b3024;color:#fff;border:1px solid #344d3c;transition:background .2s}
.contact-dialog-option:hover,.contact-dialog-option:focus-visible{background:#304f3a;outline:2px solid #d5aa64;outline-offset:1px}
.contact-dialog-option span{color:#d5aa64;font-size:10px;font-weight:800;letter-spacing:2px}
.contact-dialog-option strong{font-size:20px;overflow-wrap:anywhere}
.contact-dialog-option.email strong{font-size:15px}
.contact-dialog-hint{font-size:12px;line-height:1.6;color:#657265;margin:19px 0 0}
body.contact-dialog-open{overflow:hidden}
@media(max-width:480px){.contact-dialog{padding:34px 20px 22px}.contact-dialog-option{padding:15px}.contact-dialog-option strong{font-size:18px}}

/* Native anchor-based popup: works even when JavaScript is disabled. */
.contact-dialog-backdrop{display:none}
.contact-dialog-backdrop:target{display:grid}
.coverage-map-frame{pointer-events:none!important}
.coverage-map{pointer-events:none}
.contact-dialog-close{display:block;text-decoration:none}
