:root{
  --ink:#0b0f0d;
  --ink-2:#111814;
  --panel:#151f19;
  --green:#53ff57;
  --green-2:#b7ff4a;
  --cream:#f5f6ef;
  --white:#fff;
  --muted:#a9b4ad;
  --line:rgba(255,255,255,.12);
  --shadow:0 24px 80px rgba(0,0,0,.26);
  --radius:30px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--ink);color:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.76rem;color:var(--green-2)}
.eyebrow:before{content:"";width:28px;height:2px;background:var(--green)}
.section{padding:110px 0}
.section-light{background:var(--cream);color:#111714}
.section-title{font-size:clamp(2.3rem,5vw,5.7rem);line-height:.94;letter-spacing:-.065em;margin:16px 0 28px;max-width:930px}
.lead{font-size:clamp(1.05rem,1.8vw,1.32rem);color:#c7d0ca;max-width:720px}
.section-light .lead{color:#56615b}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.25s ease;cursor:pointer}
.btn-primary{background:var(--green);color:#071008;box-shadow:0 10px 30px rgba(83,255,87,.22)}
.btn-primary:hover{transform:translateY(-2px);background:#7cff7f}
.btn-secondary{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.06);backdrop-filter:blur(15px)}
.btn-secondary:hover{background:rgba(255,255,255,.12)}
.btn-dark{background:#111714;color:white}
.btn-dark:hover{background:#222d26;transform:translateY(-2px)}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-weight:800}
.link-arrow:after{content:"↗";color:var(--green);font-size:1.15em}
.topbar{background:var(--green);color:#08110a;font-size:.88rem;font-weight:800}
.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:20px}
.topbar a{text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(8,13,10,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:14px;font-weight:900;min-width:210px}
.brand img{width:76px;height:52px;object-fit:contain;border-radius:8px;background:white;padding:3px}
.brand-copy strong{display:block;font-size:1.02rem;letter-spacing:.01em}
.brand-copy span{display:block;font-size:.7rem;color:#91a198;letter-spacing:.1em;text-transform:uppercase;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:29px;font-size:.94rem;font-weight:700;color:#d2dbd5}
.nav-links a:hover,.nav-links a.active{color:var(--green)}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.15);color:white;width:48px;height:48px;border-radius:50%;font-size:1.2rem}
.hero{min-height:770px;position:relative;display:grid;align-items:end;overflow:hidden;background:#0b100d}
.hero-media{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,7,.96) 0%,rgba(5,10,7,.75) 43%,rgba(5,10,7,.22) 78%),linear-gradient(0deg,rgba(5,10,7,.88) 0%,transparent 52%)}
.hero-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,black,transparent 80%)}
.hero-content{position:relative;z-index:2;padding:120px 0 82px;max-width:880px}
.hero h1{font-size:clamp(4rem,8vw,8.9rem);line-height:.82;letter-spacing:-.075em;margin:18px 0 26px;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--green)}
.hero p{font-size:clamp(1.08rem,1.8vw,1.4rem);max-width:720px;color:#d7ded9;margin:0 0 34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-strip{position:relative;z-index:3;border-top:1px solid rgba(255,255,255,.12);background:rgba(7,12,9,.78);backdrop-filter:blur(16px)}
.hero-strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.hero-stat{padding:25px 28px;border-right:1px solid rgba(255,255,255,.1)}
.hero-stat:last-child{border-right:0}
.hero-stat strong{display:block;font-size:1.08rem}
.hero-stat span{font-size:.84rem;color:#91a198}
.intro-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:80px;align-items:start}
.service-index{border-top:1px solid #ccd2ce}
.service-row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;padding:26px 0;border-bottom:1px solid #ccd2ce;transition:.25s ease}
.service-row:hover{padding-left:14px}
.service-row .num{font-size:.75rem;color:#748078;font-weight:800}
.service-row h3{margin:0;font-size:clamp(1.2rem,2vw,1.8rem);letter-spacing:-.03em}
.service-row .arrow{font-size:1.4rem;color:#1e7d2d}
.visual-card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:570px;box-shadow:var(--shadow);background:#182019}
.visual-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.visual-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,13,10,.92),transparent 65%)}
.visual-card-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:32px}
.visual-card-copy strong{font-size:clamp(1.7rem,3vw,3.3rem);line-height:1;letter-spacing:-.05em;display:block}
.visual-card-copy span{color:#dbe3de;display:block;margin-top:12px}
.season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px}
.season-card{border:1px solid var(--line);background:#111814;border-radius:22px;padding:28px;min-height:245px;position:relative;overflow:hidden}
.season-card:before{content:"";position:absolute;width:110px;height:110px;border-radius:50%;background:var(--green);filter:blur(70px);opacity:.12;right:-15px;top:-10px}
.season-card .season{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:var(--green-2);font-weight:800}
.season-card h3{font-size:1.55rem;line-height:1.05;letter-spacing:-.04em;margin:20px 0 13px}
.season-card p{color:#9caaa1;font-size:.94rem;margin:0}
.split-feature{display:grid;grid-template-columns:1fr 1fr;min-height:680px}
.split-image{position:relative;overflow:hidden}
.split-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.split-copy{background:var(--green);color:#071008;padding:clamp(55px,8vw,110px);display:flex;flex-direction:column;justify-content:center}
.split-copy .eyebrow{color:#071008}.split-copy .eyebrow:before{background:#071008}
.split-copy h2{font-size:clamp(3rem,6vw,6.7rem);line-height:.85;letter-spacing:-.075em;margin:20px 0 28px}
.split-copy p{font-size:1.18rem;max-width:620px}
.review-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}
.rating-block{position:sticky;top:130px}
.rating-big{font-size:clamp(5rem,10vw,9rem);line-height:.8;letter-spacing:-.08em;color:var(--green)}
.stars{font-size:1.4rem;color:var(--green);letter-spacing:.12em;margin:22px 0 8px}
.review-list{display:grid;gap:14px}
.review{background:#121914;border:1px solid var(--line);border-radius:24px;padding:30px}
.review p{font-size:1.12rem;color:#d7dfd9;margin:0 0 24px}
.review strong{display:block}.review span{color:#87978e;font-size:.88rem}
.cta-band{background:linear-gradient(120deg,#1a271f,#0b0f0d);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.cta-band:after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;background:var(--green);filter:blur(150px);opacity:.12;right:-120px;top:-170px}
.cta-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:60px;position:relative;z-index:1}
.cta-band h2{font-size:clamp(3rem,6vw,7rem);line-height:.86;letter-spacing:-.075em;margin:18px 0}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.footer{padding:64px 0 30px;background:#070b08}
.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .65fr;gap:70px}
.footer-brand img{width:120px;background:#fff;border-radius:12px;padding:5px;margin-bottom:20px}
.footer-brand p{color:#829088;max-width:400px}
.footer h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:#738078;margin:0 0 17px}
.footer a{display:block;color:#c4cec7;margin:10px 0}.footer a:hover{color:var(--green)}
.footer-bottom{margin-top:50px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#69766e;font-size:.85rem}
.page-hero{padding:120px 0 80px;background:radial-gradient(circle at 80% 20%,rgba(83,255,87,.13),transparent 30%),#0b0f0d;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(3.7rem,8vw,8rem);line-height:.84;letter-spacing:-.075em;margin:18px 0 28px;max-width:1000px}
.page-hero p{font-size:1.2rem;color:#aeb9b2;max-width:750px}
.page-hero-actions{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}
.service-card{background:white;border:1px solid #d8ddd9;border-radius:26px;padding:30px;min-height:300px;display:flex;flex-direction:column}
.service-card .icon{width:48px;height:48px;border-radius:14px;background:#e9ffe8;color:#19752a;display:grid;place-items:center;font-size:1.4rem;font-weight:900}
.service-card h3{font-size:1.5rem;letter-spacing:-.04em;margin:30px 0 10px}
.service-card p{color:#68736d;margin:0 0 22px}
.service-card ul{margin:auto 0 0;padding:0;list-style:none;color:#344139;font-size:.93rem}
.service-card li{padding:8px 0;border-top:1px solid #edf0ee}
.info-band{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d4d9d6;border:1px solid #d4d9d6;border-radius:26px;overflow:hidden;margin-top:48px}
.info-band > div{background:white;padding:28px}.info-band strong{display:block;font-size:1.2rem}.info-band span{color:#6b756f;font-size:.92rem}
.work-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:42px}
.work-shot{position:relative;border-radius:26px;overflow:hidden;min-height:430px;background:#182019}
.work-shot.tall{min-height:650px;grid-row:span 2}
.work-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.55s ease}
.work-shot:hover img{transform:scale(1.04)}
.work-shot:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,10,7,.7),transparent 52%)}
.work-label{position:absolute;z-index:2;bottom:22px;left:22px;background:rgba(7,12,9,.75);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(12px);border-radius:999px;padding:10px 16px;font-weight:800}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.contact-list{margin-top:38px;border-top:1px solid #d3d9d5}
.contact-item{padding:22px 0;border-bottom:1px solid #d3d9d5}
.contact-item small{display:block;color:#7b8680;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:800;margin-bottom:5px}
.contact-item strong{font-size:1.18rem}
.form-card{background:white;border:1px solid #d9deda;border-radius:28px;padding:34px;box-shadow:0 18px 60px rgba(19,37,25,.08)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}
.field label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#606b65}
.field input,.field select,.field textarea{width:100%;border:1px solid #cfd7d1;background:#f8faf8;border-radius:14px;padding:14px 15px;color:#111714;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#3db94b;box-shadow:0 0 0 3px rgba(61,185,75,.12)}
.field textarea{min-height:150px;resize:vertical}
.form-note{font-size:.82rem;color:#738078;margin-top:12px}
.faq{border-top:1px solid #d0d6d2;margin-top:45px}
.faq details{border-bottom:1px solid #d0d6d2;padding:22px 0}.faq summary{font-weight:800;font-size:1.18rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq summary:after{content:"+";color:#2d9e3d}.faq details[open] summary:after{content:"−"}.faq p{color:#626e67;max-width:850px}
.mobile-cta{display:none}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){
  .nav-links,.nav-actions .btn-secondary{display:none}.nav-toggle{display:block}.nav-links.open{display:flex;position:absolute;top:82px;left:0;right:0;background:#0b0f0d;border-top:1px solid var(--line);padding:25px 20px 32px;flex-direction:column;align-items:flex-start;gap:20px}.hero{min-height:720px}.hero h1{font-size:clamp(4rem,14vw,7rem)}.hero-strip-grid{grid-template-columns:1fr 1fr}.hero-stat:nth-child(2){border-right:0}.hero-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.intro-grid,.split-feature,.review-shell,.cta-grid,.contact-grid{grid-template-columns:1fr}.visual-card{min-height:500px}.season-grid,.service-cards{grid-template-columns:1fr 1fr}.rating-block{position:static}.cta-actions{justify-content:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.work-grid{grid-template-columns:1fr}.work-shot.tall{grid-row:auto;min-height:500px}
}
@media(max-width:640px){
  .container{width:min(calc(100% - 28px),var(--max))}.section{padding:78px 0}.topbar .container{justify-content:center}.topbar .topbar-hide{display:none}.brand-copy{display:none}.brand{min-width:auto}.brand img{width:72px}.nav{height:72px}.nav-links.open{top:72px}.hero{min-height:690px}.hero-content{padding:110px 0 60px}.hero h1{font-size:clamp(3.5rem,18vw,5.7rem)}.hero p{font-size:1rem}.hero-strip-grid{grid-template-columns:1fr 1fr}.hero-stat{padding:20px 16px}.hero-stat strong{font-size:.95rem}.intro-grid{gap:42px}.service-row{grid-template-columns:42px 1fr auto}.visual-card{min-height:440px}.season-grid,.service-cards,.info-band{grid-template-columns:1fr}.split-feature{min-height:auto}.split-image{min-height:430px}.split-copy{padding:65px 28px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.form-grid{grid-template-columns:1fr}.mobile-cta{position:fixed;z-index:90;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:1fr 1fr;background:#101712;border:1px solid rgba(255,255,255,.13);border-radius:18px;padding:8px;box-shadow:0 18px 60px rgba(0,0,0,.4)}.mobile-cta a{display:flex;align-items:center;justify-content:center;min-height:48px;font-weight:900;border-radius:12px}.mobile-cta a:first-child{background:var(--green);color:#071008}.mobile-cta a:last-child{color:white}body{padding-bottom:82px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Delaney Solutions website credit */
.delaney-site-credit{
  width:min(1200px,calc(100% - 40px));
  margin:22px auto 0;
  padding:18px 0 0;
  border-top:1px solid rgba(127,127,127,.22);
  text-align:center;
  font-size:.72rem;
  line-height:1.5;
  letter-spacing:.025em;
  color:inherit;
  opacity:.68;
}
.delaney-site-credit a{
  color:inherit;
  font-weight:800;
  text-decoration:none;
  opacity:1;
}
.delaney-site-credit a span{font-weight:600;opacity:.82}
.delaney-site-credit a:hover,.delaney-site-credit a:focus-visible{text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.delaney-site-credit{width:calc(100% - 28px);font-size:.68rem}.delaney-site-credit a span{display:block}}

