/*
Theme Name: Gorilla Hills Land Management
Version: 1.0.0
Text Domain: gorilla-hills
Requires at least: 6.2
Requires PHP: 7.4
Description: Gorilla Hills source design with approved classic theme options.
*/

:root{
--bk:#0A0F09;--bk2:#101710;--pn:#161F14;--pn2:#1E2A1A;
--ln:#27341F;--ln2:#3A4C2E;
--tx:#ECEFE6;--mu:#93A188;--bone:#E3E7D8;
--ol:#8FAB4A;--ol2:#6E8239;--olz:#B8D178;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{overflow-x:clip;scroll-behavior:smooth}
body{margin:0;background:var(--bk);color:var(--tx);font:16.5px/1.7 Asap,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;overflow-x:clip}
img{max-width:100%;display:block}
h1,h2,h3{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;line-height:1;letter-spacing:.012em;margin:0}
a{color:inherit}
.w{max-width:1200px;margin:0 auto;padding:0 20px}
.sec{padding:78px 0}
section[id],header[id]{scroll-margin-top:122px}
h2{font-size:clamp(34px,6.2vw,62px)}
@media(max-width:480px){h2{font-size:33px}}
.lead{color:var(--mu);max-width:58ch;margin:12px 0 0}
.kick{display:inline-flex;align-items:center;gap:9px;font:700 11px/1 Asap,sans-serif;letter-spacing:.22em;
text-transform:uppercase;color:var(--olz);margin:0 0 13px}
.kick:before{content:"";width:24px;height:2px;background:var(--ol)}
/* contour lines */
.topo{background-image:repeating-radial-gradient(ellipse 140% 100% at 18% 108%,rgba(143,171,74,.085) 0 2px,transparent 2px 42px)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:0 26px;border-radius:5px;
background:var(--ol);color:#121A06;font:700 15px Asap,sans-serif;text-decoration:none;border:0;cursor:pointer;transition:.15s}
.btn:hover{background:var(--olz)}
.btn.o{background:transparent;color:var(--tx);border:2px solid var(--ln2)}
.btn.o:hover{border-color:var(--ol);color:var(--olz);background:rgba(143,171,74,.1)}
.btn svg{width:17px;height:17px;flex:none}
.cta2{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}

.tb{background:#060A05;color:var(--mu);font:600 12px Asap,sans-serif;letter-spacing:.04em}
.tb .w{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:38px;flex-wrap:wrap}
.tb b{color:var(--olz)}
.tb a{color:var(--tx);text-decoration:none;display:inline-flex;align-items:center;min-height:38px}
nav{position:sticky;top:0;z-index:60;background:rgba(10,15,9,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--ln)}
nav .w{display:flex;align-items:center;justify-content:space-between;min-height:110px;gap:12px}
.lg{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.lg img{height:84px;width:auto;flex:none}
.lg b{display:block;font:400 20px/1 "Bebas Neue",sans-serif;letter-spacing:.03em}
.lg span{display:block;font:600 9px/1 Asap,sans-serif;letter-spacing:.2em;color:var(--mu);text-transform:uppercase;margin-top:4px}
@media(min-width:981px){.lg b,.lg span{display:none}}
.nl{display:flex;gap:22px;align-items:center}
.nl a{font:600 13.5px Asap,sans-serif;color:var(--mu);text-decoration:none;letter-spacing:.03em}
.nl a:hover{color:var(--olz)}
@media(max-width:980px){.nl{display:none}}
@media(max-width:560px){nav .w{min-height:84px}.lg img{height:58px}.lg b{font-size:17px}.lg span{display:none}
nav .btn{padding:0 15px;font-size:0;gap:0;min-height:46px}nav .btn svg{width:19px;height:19px}}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:4px solid var(--ol)}
.hero .ph{position:absolute;inset:0}
.hero .ph img{width:100%;height:100%;object-fit:cover;object-position:56% 62%}
.hero .ph:after{content:"";position:absolute;inset:0;background:
linear-gradient(98deg,rgba(6,11,6,.96) 0%,rgba(6,11,6,.86) 46%,rgba(6,11,6,.26) 100%),
linear-gradient(0deg,rgba(6,11,6,.95),rgba(6,11,6,0) 52%)}
.hero .w{position:relative;z-index:2;padding:74px 20px 64px}
.hero h1{font-size:clamp(40px,8.4vw,92px);max-width:13ch}
@media(max-width:480px){.hero h1{font-size:40px}}
.hero h1 em{font-style:normal;color:var(--olz);display:block}
.hero p{color:#BFCBB3;font-size:17.5px;max-width:48ch;margin:15px 0 0}
.hbadge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;border:1px solid var(--ln2);
background:rgba(12,18,11,.72);font:700 11.5px Asap,sans-serif;color:var(--olz);margin-bottom:16px;letter-spacing:.1em;text-transform:uppercase}
.hbadge i{width:7px;height:7px;border-radius:50%;background:var(--ol);box-shadow:0 0 0 4px rgba(143,171,74,.2);font-style:normal}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:32px;border-top:1px solid var(--ln);max-width:680px}
@media(max-width:620px){.facts{grid-template-columns:1fr}}
.facts div{padding:16px 16px;border-left:1px solid var(--ln)}
.facts div:first-child{border-left:0;padding-left:0}
@media(max-width:620px){.facts div{border-left:0;border-top:1px solid var(--ln);padding-left:0}.facts div:first-child{border-top:0}}
.facts b{display:block;font:400 22px "Bebas Neue",sans-serif;letter-spacing:.03em}
.facts span{display:block;font-size:13px;color:var(--mu);margin-top:1px}

/* ===== reclaim slider ===== */
.rw{margin-top:28px;background:var(--pn);border:1px solid var(--ln);border-radius:10px;overflow:hidden}
.plot{background:#0B1209;padding:0}
.plot svg{width:100%;height:auto;display:block}
.brush,.sap{transition:opacity .25s,transform .25s;transform-box:fill-box;transform-origin:center bottom}
.brush.off,.sap.off{opacity:0;transform:scale(.2)}
@media(prefers-reduced-motion:reduce){.brush,.sap{transition:none}}
.rctl{padding:20px 22px 24px;border-top:1px solid var(--ln);background:var(--bk2)}
.rtop{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}
.rtop .st{font:400 38px/1 "Bebas Neue",sans-serif;color:var(--olz);letter-spacing:.02em}
.rtop p{margin:0;color:var(--mu);font-size:14.5px;max-width:46ch;text-align:right}
@media(max-width:680px){.rtop p{text-align:left}}
.rsl{-webkit-appearance:none;appearance:none;width:100%;height:46px;background:transparent;margin:10px 0 0;cursor:pointer;display:block}
.rsl::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,#3C4A2A,#6B5636)}
.rsl::-moz-range-track{height:6px;border-radius:99px;background:linear-gradient(90deg,#3C4A2A,#6B5636)}
.rsl::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-12px;border-radius:50%;background:var(--ol);
border:4px solid var(--bk2);box-shadow:0 2px 12px rgba(143,171,74,.5)}
.rsl::-moz-range-thumb{width:30px;height:30px;border-radius:50%;background:var(--ol);border:4px solid var(--bk2)}
.rsl:focus-visible{outline:2px solid var(--ol);outline-offset:4px}
.rends{display:flex;justify-content:space-between;font:700 11px Asap,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);margin-top:-4px}
.rnote{margin-top:16px;background:var(--bk2);border-left:3px solid var(--ol);padding:15px 17px;color:#AEBCA2;font-size:14.3px}

/* services */
.svc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:28px}
@media(max-width:900px){.svc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.svc{grid-template-columns:1fr}}
.sc{background:var(--pn);border:1px solid var(--ln);border-radius:10px;padding:22px 20px;transition:.16s;display:flex;flex-direction:column}
.sc:hover{border-color:var(--ol);transform:translateY(-3px)}
.sc i{width:44px;height:44px;border-radius:9px;background:rgba(143,171,74,.14);display:grid;place-items:center;margin-bottom:13px}
.sc i svg{width:22px;height:22px;color:var(--olz)}
.sc h3{font-size:24px;letter-spacing:.03em}
.sc p{color:var(--mu);font-size:14.2px;margin:5px 0 0;flex:1}
.sc button{margin-top:15px;background:none;border:0;padding:0 0 3px;cursor:pointer;color:var(--olz);
font:700 13px Asap,sans-serif;text-align:left;border-bottom:2px solid var(--ol);align-self:flex-start}
.sc button:hover{color:#fff}

/* gallery */
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:26px}
@media(max-width:860px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gal button,.gal .lkt{padding:0;border:1px solid var(--ln);background:#0B1209;border-radius:10px;overflow:hidden;
position:relative;aspect-ratio:4/3;display:block;width:100%;cursor:pointer;transition:.16s}
.gal button:hover{border-color:var(--ol)}
.gal img{width:100%;height:100%;object-fit:cover;transition:.4s}
.gal button:hover img{transform:scale(1.05)}
.gal em{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(6,11,6,.92),transparent);
color:#fff;font:700 11.5px Asap,sans-serif;letter-spacing:.07em;padding:24px 12px 10px;font-style:normal;line-height:1.35}
.gal .lkt{cursor:default;display:grid;place-items:center}
.gal .lkt img{filter:blur(3px) brightness(.45)}
.gal .lkt span{position:absolute;inset:0;display:grid;place-content:center;gap:4px;text-align:center;padding:12px;
font:700 12.5px Asap,sans-serif;color:#fff}
.gal .lkt small{font-weight:500;font-size:11.5px;color:var(--mu)}
.lbx{position:fixed;inset:0;z-index:200;background:rgba(4,8,4,.96);display:none;align-items:center;justify-content:center;padding:22px}
.lbx.on{display:flex}
.lbx img{max-width:min(1000px,94vw);max-height:84vh;object-fit:contain;border-radius:8px}
.lbx button{position:absolute;width:48px;height:48px;border-radius:50%;background:var(--pn);border:1px solid var(--ln2);color:#fff;font-size:21px;cursor:pointer}
.lbx .x{top:16px;right:16px}.lbx .p{left:14px;top:50%;transform:translateY(-50%)}.lbx .n{right:14px;top:50%;transform:translateY(-50%)}

/* quote */
.qg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:26px;align-items:start}
@media(max-width:900px){.qg{grid-template-columns:1fr}}
.qbox{background:var(--pn);border:1px solid var(--ln);border-radius:10px;padding:24px 22px}
.grp{margin-bottom:19px}
.grp>p{margin:0 0 10px;font:700 11px Asap,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mu)}
.ops{display:flex;flex-wrap:wrap;gap:8px}
.op{background:var(--bk2);border:2px solid var(--ln2);color:#B6C3AB;border-radius:6px;padding:10px 15px;min-height:46px;
font:600 14px Asap,sans-serif;cursor:pointer;transition:.15s}
.op:hover{border-color:var(--ol)}
.op[aria-pressed=true]{border-color:var(--ol);background:rgba(143,171,74,.16);color:var(--olz)}
.fl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:560px){.fl{grid-template-columns:1fr}}
.fl label{display:flex;flex-direction:column;gap:5px;font:700 10.5px Asap,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--mu)}
.fl input{font:400 15.5px Asap,sans-serif;color:var(--tx);background:var(--bk2);border:2px solid var(--ln2);border-radius:6px;
padding:12px 13px;min-height:48px;width:100%;text-transform:none;letter-spacing:0}
.fl input:focus{outline:none;border-color:var(--ol)}
#msg{width:100%;min-height:200px;background:#070C06;border:2px solid var(--ln2);border-radius:8px;color:#C2CFB7;
font:400 13.4px/1.6 ui-monospace,Menlo,Consolas,monospace;padding:15px;resize:vertical}
#msg:focus{outline:none;border-color:var(--ol)}
.qbtns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}
@media(max-width:480px){.qbtns{grid-template-columns:1fr}}
.qbtns .btn{width:100%}
.cpd{font-size:12.5px;color:var(--mu);margin:11px 0 0}

/* reviews */
.rv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:22px}
@media(max-width:860px){.rv{grid-template-columns:1fr}}
.rvc{background:var(--pn);border:1px solid var(--ln);border-radius:10px;padding:21px}
.rvc .blurred{filter:blur(5px);user-select:none;pointer-events:none}
.rvc .stt{color:#E3B23C;letter-spacing:3px;font-size:14px}
.rvc p{color:#A4B298;font-size:14px;margin:9px 0 0}
.rvc b{display:block;margin-top:11px;font-size:13.5px}
.rvlock{text-align:center;margin-top:15px;font:700 12.5px Asap,sans-serif;color:var(--mu)}

/* editable */
.ed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:26px}
@media(max-width:860px){.ed{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ed{grid-template-columns:1fr}}
.edc{background:var(--pn);border:1px solid var(--ln);border-radius:10px;padding:19px}
.edc em{font-style:normal;display:inline-block;background:rgba(143,171,74,.16);color:var(--olz);font:700 9.5px Asap,sans-serif;
letter-spacing:.15em;text-transform:uppercase;padding:4px 9px;border-radius:999px;margin-bottom:9px}
.edc b{display:block;font:400 21px "Bebas Neue",sans-serif;letter-spacing:.03em}
.edc p{color:var(--mu);font-size:13.7px;margin:3px 0 0}
#edbar{position:fixed;left:0;right:0;top:0;z-index:300;background:var(--ol);color:#121A06;display:none;
font:700 13px Asap,sans-serif;padding:10px 16px;text-align:center}
#edbar.on{display:block}
body.editing [data-ed]{outline:2px dashed rgba(143,171,74,.85);outline-offset:3px;border-radius:4px}

/* contact */
.cg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px}
@media(max-width:860px){.cg{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.cg{grid-template-columns:1fr}}
.cc{background:var(--pn);border:1px solid var(--ln);border-radius:10px;padding:19px;text-decoration:none;display:block;transition:.16s}
.cc:hover{border-color:var(--ol);transform:translateY(-2px)}
.cc span{display:block;font:700 10px Asap,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--olz)}
.cc b{display:block;margin-top:6px;font-size:15.5px;overflow-wrap:anywhere}

footer{background:#060A05;border-top:4px solid var(--ol);padding:34px 0;text-align:center;color:var(--mu);font-size:13.5px}
footer img{width:min(300px,76vw);margin:0 auto 16px}
footer a{color:var(--olz);text-decoration:none}
.mb{display:none}
@media(max-width:760px){
.mb{display:grid;grid-template-columns:1fr 1fr;gap:9px;position:fixed;left:0;right:0;bottom:0;z-index:90;
padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(10,15,9,.97);border-top:2px solid var(--ol)}
.mb .btn{min-height:50px;padding:0 10px;font-size:14.5px}
footer{padding-bottom:96px}
}

[hidden]{display:none!important}.gh-credit{background:#060A05;color:var(--mu);font-size:12px;text-align:center;padding:20px 16px}.gh-credit a{color:var(--olz)}.gh-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}.gh-reviews blockquote{margin:0;padding:24px;background:var(--pn);border:1px solid var(--ln);border-radius:10px}.gh-reviews blockquote>div{color:#E3B23C}#faq details{padding:20px 0;border-bottom:1px solid var(--ln)}#faq summary{cursor:pointer}.blk{padding:78px 0}.blk-g{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.blk-g--flip .blk-im{order:2}.blk-im{margin:0}.blk-im img{width:100%;height:auto}.blk.dk{background:var(--bk2)}.blk-p{margin:22px 0}.blk-l{padding-left:20px}.blk h2 em,.blk .ey{color:var(--olz)}body.admin-bar nav{top:32px}@media(max-width:760px){.gh-reviews,.blk-g{grid-template-columns:1fr}.blk-g--flip .blk-im{order:0}.gh-credit{padding-bottom:105px}}

.gal .w2{grid-column:span 2}.gal .t2{aspect-ratio:3/4}.gal .w2.t2{aspect-ratio:4/3}@media(max-width:560px){.gal .w2{grid-column:auto}}
