/* Desert Fox Digital · section components shared by the home page and the copy pages. Generated by dfd-build.py. */
.fx-off [data-fx]{display:none!important}html:not(.fx-off) [data-nofx]{display:none!important}
/* menu */
.links{gap:24px}.links a[aria-current]{color:var(--clay)!important}
.navr .small{font-size:12.5px;color:var(--shadow);text-decoration:none}
.mnav{display:none;position:relative;border:0!important;padding:0!important}
.mnav summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:999px;height:38px;padding:0 16px;display:flex;align-items:center;font:600 11px/1 var(--ui)!important;letter-spacing:.16em;text-transform:uppercase;color:var(--juniper)}
.mnav summary::-webkit-details-marker{display:none}.mnav summary::after{content:"☰"!important;margin-left:8px;font-size:14px;color:inherit!important;transform:none!important}
.mnav[open] summary::after{content:"✕"!important}
.mnav nav{position:absolute;right:0;top:48px;min-width:250px;background:var(--cream);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 40px rgba(33,58,71,.2);padding:10px;display:grid;gap:2px;z-index:60}
.mnav nav a{padding:12px 14px;border-radius:6px;text-decoration:none;color:var(--juniper)!important;font:500 15px/1.2 var(--ui);letter-spacing:0;text-transform:none}
.mnav nav a:hover{background:var(--bone)}.mnav nav a[aria-current]{color:var(--clay)!important}
.mnav nav .cta{display:block!important;color:#fff!important;text-align:center;margin-top:8px;font:600 12px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;padding:15px}
#hdr:not(.solid) .mnav summary{color:#F2EFE7;border-color:rgba(242,239,231,.55)}
@media (max-width:1120px){.links{display:none!important}.mnav{display:block}.navr .small{display:none}}
@media (max-width:640px){.navr>.cta{display:none!important}}
/* inner-page hero: the NeoRetro sunset, dimmed on the left for the headline */
.phero{position:relative;overflow:hidden;background:#C15E34;color:#F2EFE7;padding:78px 0 96px;min-height:460px}
.phero .scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 72%;z-index:0}
.phero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(28,46,56,.72) 0%,rgba(28,46,56,.5) 48%,rgba(28,46,56,.08) 88%)}
.phero .wrap{position:relative;z-index:2}
.phero h1{color:#F2EFE7;font-size:clamp(36px,4.6vw,62px);line-height:1.06;max-width:860px;margin:0 0 22px;text-shadow:0 2px 0 rgba(33,58,71,.25)}
.phero h1 .gold,.hero h1 .gold{color:#ECDA8B}
.phero .eyebrow{color:#F4E9AC;margin-bottom:16px}
.phero p{max-width:650px;font-size:18px;line-height:1.65;color:rgba(242,239,231,.95);margin:0 0 12px}
.phero .cta{background:#213A47}.phero .cta:hover{background:#2E4C5A}
.phero .cta-ghost{color:#F2EFE7;border-color:rgba(242,239,231,.8)}
.crumbs{font:500 11.5px/1.4 var(--ui);letter-spacing:.14em;text-transform:uppercase;margin-bottom:26px;color:rgba(242,239,231,.75)}
.crumbs a{color:#F4E9AC;text-decoration:none}.crumbs a:hover{text-decoration:underline}
.scene-night{display:none}html[data-theme="dark"] .scene-day{display:none}html[data-theme="dark"] .scene-night{display:block}
html[data-theme="dark"] .phero{background:#0B1422}
html[data-theme="dark"] .phero::after{background:linear-gradient(90deg,rgba(8,16,28,.7),rgba(8,16,28,.35) 60%,rgba(8,16,28,0))}
html[data-theme="dark"] .phero .eyebrow,html[data-theme="dark"] .crumbs a{color:#C9D6E3}html[data-theme="dark"] .phero h1 .gold,html[data-theme="dark"] .hero h1 .gold{color:#E6E1D2}
html[data-theme="dark"] .phero .cta{background:var(--clay)}
main.gen{padding:0}
/* home hero: longer headline since Oct 19 */
.hero .hero-copy{max-width:720px;padding-bottom:36px}.hero h1{font-size:clamp(40px,5.2vw,72px)}
.hero .lead2{font-size:16.5px;margin-top:10px;opacity:.92}
/* buttons */
.g-ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:28px}
.g-call{font:500 14px/1 var(--ui);letter-spacing:.06em;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}
.phero .g-call,.hero .g-call,.dusk .g-call,.g-band .g-call{color:#F2EFE7}
/* sections */
.g-sec{padding:96px 0;position:relative}
.g-sec.alt{background:var(--cream)}
.g-sec h2,.g-band h2{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.8vw,48px);line-height:1.08;color:var(--juniper);margin:0 0 18px;max-width:920px}
.g-intro p{font-size:18.5px;line-height:1.7;max-width:740px;margin:0 0 14px;color:var(--ink)}
.g-intro p:last-child{margin-bottom:0}
.g-sec b{color:var(--juniper)}
.g-cards{display:grid;gap:20px;margin-top:40px;grid-template-columns:repeat(2,1fr)}
.g-cards.c3{grid-template-columns:repeat(3,1fr)}
.fx-off .g-cards.hasfx.c4{grid-template-columns:repeat(3,1fr)}
.g-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:30px;display:flex;flex-direction:column;gap:10px}
.g-sec.alt .g-card{background:var(--bone)}html[data-theme="dark"] .g-sec.alt .g-card{background:var(--card)}
.g-card h3{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.15;color:var(--juniper);margin:0 0 2px}
.g-card p{font-size:15.5px;line-height:1.65;color:var(--shadow);margin:0}
.g-card ul{list-style:none;display:grid;gap:6px;margin:4px 0 0}.g-card li{font-size:15px;color:var(--shadow);padding-left:16px;position:relative}
.g-card li::before{content:"";position:absolute;left:0;top:12px;width:7px;height:1px;background:var(--clay)}
a.g-card{text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}a.g-card:hover{border-color:var(--clay);transform:translateY(-2px)}
.g-more{margin-top:auto;padding-top:12px;display:flex;gap:20px;flex-wrap:wrap}
.g-more a,.g-more span{font:600 12px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--clay);text-decoration:none}
.g-more a:hover{color:var(--mesa)}
.g-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px;position:relative}
.g-steps.c3{grid-template-columns:repeat(3,1fr)}
.g-steps::before{content:"";position:absolute;top:22px;left:3%;right:3%;height:1px;background:var(--teal);opacity:.35}
.g-step{position:relative;padding-top:62px}
.g-step .n{position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--teal);display:grid;place-items:center;font:500 15px var(--ui);background:var(--bone);color:var(--teal)}
.g-sec.alt .g-step .n{background:var(--cream)}
.g-step h3{font-family:var(--display);font-weight:400;font-size:22px;line-height:1.15;color:var(--juniper);margin:0 0 8px}
.g-step p{font-size:15.5px;line-height:1.65;color:var(--shadow);margin:0}
.g-list{list-style:none;display:grid;gap:4px;margin:26px 0 0;max-width:820px}
.g-list li{padding:14px 0 14px 26px;border-bottom:1px solid var(--line);position:relative;font-size:16.5px;line-height:1.6;color:var(--shadow)}
.g-list li::before{content:"◆";position:absolute;left:0;top:16px;font-size:10px;color:#F04A28}
.g-list li b{color:var(--juniper)}
.g-after{margin-top:24px;font-size:17px;max-width:740px}
.g-note{font-size:13.5px;font-style:italic;color:var(--shadow);margin-top:16px;opacity:.85}
.g-rlink{margin-top:22px;font-size:15px}.g-rlink a{color:var(--clay);font-weight:600;text-decoration:none}.g-rlink a:hover{text-decoration:underline}
.g-duo{display:grid;grid-template-columns:1fr 1fr;gap:64px}.g-duo h2{font-size:clamp(26px,2.8vw,36px)}
/* faq */
.g-faq{max-width:860px;margin-top:26px}
.g-faq details{border-bottom:1px solid var(--line);padding:20px 4px}
.g-faq summary{cursor:pointer;list-style:none;font:500 18px/1.4 var(--ui);display:flex;justify-content:space-between;gap:20px;color:var(--juniper)}
.g-faq summary::-webkit-details-marker{display:none}
.g-faq summary::after{content:"+";color:var(--teal);font-size:24px;line-height:1;transition:transform .2s}
.g-faq details[open] summary::after{transform:rotate(45deg)}
.g-faq details p{margin-top:12px;color:var(--shadow);max-width:740px;font-size:16.5px}
/* dusk sections + closing band */
.g-sec.dusk,.g-band{background:var(--dusk);color:#F2EFE7}
.g-sec.dusk h2,.g-band h2,.g-sec.dusk b{color:#F2EFE7}
.g-sec.dusk .g-intro p,.g-band p{color:rgba(242,239,231,.92)}
.g-band{text-align:center;padding:110px 0 200px;overflow:hidden;position:relative}
.g-band h2{margin:0 auto 18px}.g-band p{max-width:680px;margin:0 auto;font-size:18.5px}.g-band .g-ctas{justify-content:center}
.g-band .cta,.g-sec.dusk .cta{background:#213A47}.g-band .cta:hover{background:#2E4C5A}
.g-band .cta-ghost,.g-sec.dusk .cta-ghost{color:#F2EFE7;border-color:rgba(242,239,231,.75)}
.g-band .eyebrow{color:#F4E9AC}
html[data-theme="dark"] .g-band .cta,html[data-theme="dark"] .g-sec.dusk .cta{background:var(--clay)}
.mesa-line{position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath fill='%232E4C5A' d='M0 100V70l22-10 20 8 20-14 20 16 26 10 22-6 26 8 24-4 28 4 30-3V100z'/%3E%3Cpath fill='%23213A47' d='M200 100V96l14-4 12-8 16-22 12 12 16-40 14 18 20-18 20 28 10-10 16 10 10-6 40 12V100z'/%3E%3C/svg%3E") no-repeat bottom/100% 100%}
html[data-theme="dark"] .mesa-line{filter:brightness(.45) saturate(.6)}
/* the pack (About) */
.g-pack{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:36px}
.g-pack .por{text-align:center}
.g-pack .img{aspect-ratio:1;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,#D6E4E2,#E6CDA8)}
html[data-theme="dark"] .g-pack .img{background:linear-gradient(180deg,#1C3348,#2A3C5C)}
.g-pack img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.g-pack b{display:block;font-family:var(--display);font-weight:400;font-size:20px;margin-top:10px;color:var(--juniper)}
.g-pack span{font:600 10px/1.35 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
/* footer: four columns */
footer .fgrid{grid-template-columns:1.4fr 1fr 1.2fr .8fr}
footer .legal{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;margin-bottom:14px}footer .legal a{text-decoration:none}footer .legal a:hover{color:#F2EFE7}
@media (max-width:1000px){.g-cards,.g-cards.c3,.fx-off .g-cards.hasfx.c4{grid-template-columns:1fr}.g-steps,.g-steps.c3{grid-template-columns:repeat(2,1fr)}.g-steps::before{display:none}
  .g-duo{grid-template-columns:1fr;gap:56px}.g-pack{grid-template-columns:repeat(3,1fr)}footer .fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.g-sec{padding:72px 0}.g-steps,.g-steps.c3{grid-template-columns:1fr}.g-pack{grid-template-columns:repeat(2,1fr)}
  .phero{padding:56px 0 72px;min-height:0}.phero::after{background:linear-gradient(180deg,rgba(28,46,56,.72),rgba(28,46,56,.55))}
  .g-band{padding:80px 0 170px}footer .fgrid{grid-template-columns:1fr}}
