#swe{--pine:#12281c;--forest:#1e3f2d;--canopy:#2b5a3f;--moss:#6f9449;--fern:#e3ecdb;--mist:#f4f7f1;--bark:#6b4a2f;--gold:#f6c521;--gold-hi:#ffd84d;--ink:#18231d;--muted:#4f5f55;--line:#d5dfcf;--white:#fff;
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--white);font-size:19px;line-height:1.6;-webkit-font-smoothing:antialiased;text-align:left}
#swe *,#swe *::before,#swe *::after{box-sizing:border-box}
#swe ul,#swe ol,#swe li{margin:0;padding:0}
#swe h1,#swe h2,#swe h3,#swe h4{font-family:"Archivo","Arial Black",Arial,sans-serif;margin:0;line-height:1.08;letter-spacing:-.015em;color:inherit}
#swe p{margin:0}
#swe img{max-width:100%;display:block}
#swe a{color:inherit}
#swe .wrap{max-width:1200px;margin:0 auto;padding:0 20px}
#swe section{padding:40px 0}
#swe .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:"Archivo",Arial,sans-serif;font-weight:800;font-size:18px;text-decoration:none;padding:17px 30px;border-radius:12px;border:2px solid transparent;transition:background .15s,transform .15s;cursor:pointer;line-height:1.1;text-align:center}
#swe .btn-gold{background:var(--gold);color:#000;box-shadow:0 3px 0 #b8900a}
#swe .btn-gold:hover{background:var(--gold-hi);transform:translateY(-1px)}
#swe .btn-ghost{border-color:rgba(255,255,255,.55);color:var(--white)}
#swe .btn-ghost:hover{background:rgba(255,255,255,.1)}
#swe .btn-line{border-color:var(--forest);color:var(--forest)}
#swe .btn-line:hover{background:var(--fern)}
#swe a:focus-visible,#swe summary:focus-visible,#swe button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* header */
#swe .top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
#swe .top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px;position:relative}
#swe .brand{display:inline-flex;align-items:center;gap:10px;font-family:"Archivo","Arial Black",Arial,sans-serif;font-weight:900;font-size:27px;color:var(--pine);text-decoration:none;letter-spacing:-.02em;line-height:1;white-space:nowrap}
#swe .brand:hover{color:var(--forest)}
#swe .brand img{height:34px;width:auto;flex:none;display:block}
#swe .nav{display:flex;gap:30px;font-weight:600;font-size:17px}
#swe .nav a{text-decoration:none;color:var(--muted)}
#swe .nav a:hover{color:var(--forest)}
#swe .top .btn{padding:13px 22px;font-size:16px}
#swe .top-actions{display:flex;align-items:center;gap:12px;flex:none}
#swe .menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--pine);cursor:pointer}
#swe .menu-btn:hover{background:var(--mist)}
#swe .menu-btn svg{width:24px;height:24px}
#swe .menu-btn .ico-x{display:none}
#swe .menu-btn[aria-expanded="true"] .ico-burger{display:none}
#swe .menu-btn[aria-expanded="true"] .ico-x{display:block}
#swe .menu-btn[aria-expanded="true"]{background:var(--mist)}
#swe .menu-panel{position:absolute;right:20px;top:calc(100% + 8px);width:min(300px,calc(100vw - 40px));background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 50px -12px rgba(18,40,28,.28);padding:10px;z-index:60;text-align:right}
#swe .menu-panel[hidden]{display:none}
#swe .menu-panel nav{display:grid;gap:2px}
#swe .menu-panel nav a{display:block;text-decoration:none;color:var(--muted);font-weight:600;font-size:17px;padding:10px 12px;border-radius:10px}
#swe .menu-panel nav a:hover{background:var(--mist);color:var(--forest)}
#swe .menu-panel .btn{width:100%;margin-top:8px;padding:13px 22px;font-size:16px}

/* hero */
#swe .hero{padding-top:28px}
#swe .hero-panel{position:relative;overflow:hidden;background-color:var(--forest);background-image:linear-gradient(100deg,rgba(16,44,28,.85) 0%,rgba(20,50,33,.76) 55%,rgba(26,66,42,.58) 100%),url("/img/hero-card-forest-1920.41a850efb2.jpg");background-image:linear-gradient(100deg,rgba(16,44,28,.85) 0%,rgba(20,50,33,.76) 55%,rgba(26,66,42,.58) 100%),image-set(url("/img/hero-card-forest-1920.9586517e49.webp") type("image/webp"),url("/img/hero-card-forest-1920.41a850efb2.jpg") type("image/jpeg"));background-size:cover;background-position:center 45%;background-repeat:no-repeat;color:var(--white);border-radius:28px;padding:64px 56px;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:center}
#swe .hero-panel>div{min-width:0}
#swe .pill{display:inline-block;background:rgba(246,197,33,.14);border:1px solid rgba(246,197,33,.5);color:var(--gold-hi);font-weight:700;font-size:15px;padding:8px 16px;border-radius:999px;margin-bottom:24px}
#swe .hero h1{font-size:clamp(40px,5.4vw,68px);font-weight:900;text-wrap:balance}
#swe .hero .sub{font-size:22px;margin-top:22px;color:#dbe7d6;max-width:34em}
#swe .hero .sub strong{color:var(--white)}
#swe .hero .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
#swe .hero-card{background:rgba(10,22,15,.45);color:var(--white);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:22px;position:relative;z-index:2;box-shadow:0 22px 46px -20px rgba(0,0,0,.55);width:100%}
#swe .hero-side{display:grid;gap:10px;justify-items:center;align-content:start;width:100%;max-width:400px;justify-self:end;position:relative;z-index:2;min-width:0}

/* hero deck: fanned stack of sample estimate documents.
   Flat 2D transforms with explicit z-index -- NOT translateZ + perspective. 3D
   depth sorting fights the opacity fades and paints back cards over the front one;
   z-index makes the order deterministic.
   --cw sizes the card against the fan box so the deck scales fluidly, --ratio
   pins the card to the photos' portrait shape (aspect-ratio, since a percentage
   height would resolve against the box rather than the width), and --shift pulls
   the whole fan left so the fan of cards reads as centred rather than the front
   card alone. Offsets are percentages of the card's OWN box, which is what
   transform translate resolves against. Pivot stays 50% 50%: rotating about a
   point lower down throws the top corner outside the panel. */
#swe .fan{--cw:56%;--ratio:.876;--step:10%;--rise:1.6%;--shift:-15%;position:relative;width:100%;max-width:400px;aspect-ratio:430/298;margin:0 auto;user-select:none;-webkit-tap-highlight-color:transparent}
#swe .fan-card{position:absolute;inset:0;margin:auto;width:var(--cw);aspect-ratio:var(--ratio);padding:8px;border:0;border-radius:15px;background:var(--white);box-shadow:0 14px 30px -14px rgba(0,0,0,.5);cursor:pointer;overflow:hidden;transform-origin:50% 50%;transition:transform .45s cubic-bezier(.22,.85,.3,1)}
#swe .fan-card img{width:100%;height:100%;object-fit:contain;border-radius:9px;background:var(--white)}
#swe .fan-card[data-slot="0"]{transform:translate3d(var(--shift),0,0) rotate(0deg) scale(1);cursor:zoom-in;z-index:4;box-shadow:0 24px 42px -14px rgba(0,0,0,.6),0 0 0 2px var(--gold)}
#swe .fan-card[data-slot="1"]{transform:translate3d(calc(var(--shift) + var(--step)),calc(var(--rise) * -1),0) rotate(2deg) scale(.97);z-index:3}
#swe .fan-card[data-slot="2"]{transform:translate3d(calc(var(--shift) + var(--step) * 2),calc(var(--rise) * -2),0) rotate(5deg) scale(.94);z-index:2}
#swe .fan-card[data-slot="3"]{transform:translate3d(calc(var(--shift) + var(--step) * 3),calc(var(--rise) * -3),0) rotate(7deg) scale(.91);z-index:1}
#swe .fan-chiprow{display:flex;gap:5px;justify-content:center;align-items:center}
#swe .fan-chip{width:36px;height:36px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:var(--mist);cursor:pointer;transition:border-color .18s,transform .18s}
#swe .fan-chip img{width:100%;height:100%;object-fit:cover}
#swe .fan-chip:hover{transform:translateY(-2px)}
#swe .fan-chip[aria-current="true"]{border-color:var(--gold);transform:translateY(-2px)}

/* deck lightbox */
#swe .lb{position:fixed;inset:0;z-index:100;background:rgba(9,18,13,.93);display:grid;place-items:center;padding:26px;opacity:0;transition:opacity .22s}
#swe .lb[hidden]{display:none}
#swe .lb[data-open="true"]{opacity:1}
#swe .lb-img{max-width:min(88vw,820px);max-height:80vh;object-fit:contain;border-radius:12px;background:var(--white);padding:10px;box-shadow:0 30px 70px -20px rgba(0,0,0,.7)}
#swe .lb-btn{position:absolute;display:grid;place-items:center;width:52px;height:52px;padding:0;border:2px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(255,255,255,.1);color:var(--white);cursor:pointer}
#swe .lb-btn:hover{background:rgba(255,255,255,.22)}
#swe .lb-btn svg{width:24px;height:24px}
#swe .lb-prev{left:18px;top:50%;transform:translateY(-50%)}
#swe .lb-next{right:18px;top:50%;transform:translateY(-50%)}
#swe .lb-close{top:18px;right:18px}
#swe .lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.1);color:#d3e0d2;font-weight:700;font-size:15px;padding:8px 18px;border-radius:999px}
#swe .hero-card h3{font-size:22px;margin-bottom:14px}
#swe .checks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
#swe .svc .checks{margin-bottom:16px}
#swe .svc-cta{margin-top:auto;padding-top:16px}
#swe .price{background:var(--fern);border-radius:14px;padding:14px 16px;display:grid;gap:3px;margin-bottom:16px}
#swe .price strong{font-family:"Archivo",Arial,sans-serif;font-size:19px;color:var(--pine);line-height:1.2}
#swe .price span{font-size:14px;color:#3d5347;line-height:1.4}
#swe .checks li{position:relative;padding-left:34px;font-size:17px;line-height:1.45}
#swe .checks li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--moss) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
#swe .treeline{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:110px;z-index:1;pointer-events:none;display:block}

/* checklist callout */
#swe .callout{background:var(--gold);border-radius:24px;padding:36px 44px;display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center}
#swe .callout img{width:120px;border-radius:12px}
#swe .callout h2{font-size:clamp(24px,2.6vw,32px);color:#000}
#swe .callout p{margin-top:8px;font-size:18px;color:#2a2410}
#swe .callout .btn{background:#000;color:var(--white);box-shadow:none}
#swe .callout .btn:hover{background:var(--pine)}

/* section heads */
#swe .head{max-width:760px;margin-bottom:40px}
#swe .kicker{display:block;color:var(--moss);font-weight:700;font-size:17px;margin-bottom:12px}
#swe .head h2{font-size:clamp(34px,4vw,52px);font-weight:900;color:var(--pine)}
#swe .head p{margin-top:16px;font-size:20px;color:var(--muted)}

/* services */
#swe .services{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
#swe .svc{border:2px solid var(--line);border-radius:22px;padding:30px;display:flex;flex-direction:column;background:var(--white)}
#swe .svc.feature{border-color:var(--forest);box-shadow:0 0 0 4px var(--fern)}
#swe .svc img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;margin-bottom:22px;background:var(--mist);border:1px solid var(--line)}
/* Ghost Estimates shot: a full estimate page is 990px wide but only ~40% of that is
   letterhead, so scaled whole into a ~307px card the ~7px source type lands near 2px and
   is unreadable. This wrapper clips the image and magnifies the top-left region instead,
   bringing up the logo (x19-95) and the full company header (text ends x395) at a legible
   size. 2.35x exposes ~421px of source width, leaving ~26px of margin past the address.
   Must come AFTER .svc img -- equal specificity, so source order decides. object-fit must
   stay cover: `none` renders at intrinsic size centred and shows the wrong region. */
#swe .svc-shot{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:var(--mist);margin-bottom:22px}
#swe .svc-shot img{position:absolute;top:0;left:0;width:100%;height:auto;aspect-ratio:auto;object-fit:cover;border:0;border-radius:0;margin:0;transform:scale(2.35);transform-origin:0 0}
#swe .tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
#swe .tag{font-size:14px;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--fern);color:var(--forest)}
#swe .tag.soon{background:#fbeebb;color:#6b5200}
#swe .svc h3{font-size:28px;color:var(--pine);margin-bottom:12px}
#swe .svc > p{color:var(--muted);font-size:17px;margin-bottom:20px}
#swe .svc .checks{margin-bottom:26px}
#swe .svc .checks li{font-size:16.5px}
#swe .svc .btn{margin-top:auto;width:100%}

/* steps */
#swe .steps-panel{background:var(--mist);border-radius:28px;padding:52px 48px}
#swe .steps-top{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
#swe .steps-top h2{font-size:clamp(30px,3.4vw,44px);color:var(--pine);font-weight:900;max-width:16em}
#swe .call-note{font-size:15px;color:var(--muted);margin:8px 0 0}
#swe .call-note a{color:var(--forest);font-weight:600}
#swe .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s;list-style:none;margin:0;padding:0}
#swe .steps li{background:var(--white);border-radius:18px;padding:26px 24px;position:relative;counter-increment:s}
#swe .steps li::before{content:counter(s);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--forest);color:var(--gold);font-family:"Archivo",sans-serif;font-weight:900;font-size:21px;margin-bottom:16px}
#swe .steps h4{font-size:21px;color:var(--pine);margin-bottom:6px}
#swe .steps p{font-size:16.5px;color:var(--muted);line-height:1.5}

/* problems */
#swe .dark{background:var(--pine);color:var(--white);border-radius:28px;padding:60px 52px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:52px;align-items:center}
#swe .dark img{border-radius:20px;width:100%;height:100%;max-height:560px;object-fit:cover}
#swe .dark .kicker{color:var(--gold)}
#swe .dark h2{font-size:clamp(32px,3.8vw,48px);font-weight:900}
#swe .dark .lede{margin-top:14px;color:#c8d6c6;font-size:19px}
#swe .xlist{list-style:none;margin:28px 0 32px;padding:0;display:grid;gap:14px}
#swe .xlist li{position:relative;display:flex;align-items:flex-start;gap:14px;margin:0;padding:14px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;font-size:17.5px;line-height:1.45}
#swe .xlist li::before{content:"";position:static;flex:0 0 22px;width:22px;height:22px;margin-top:3px;border-radius:50%;background:#b8452f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center/12px no-repeat}

/* who we are */
#swe .who{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:52px;align-items:center}
#swe .who h2{font-size:clamp(32px,3.8vw,48px);font-weight:900;color:var(--pine)}
#swe .who p.body{margin-top:20px;font-size:19px;color:var(--muted)}
#swe .creds{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
#swe .cred{border-left:4px solid var(--moss);padding:6px 0 6px 16px}
#swe .cred strong{display:block;font-family:"Archivo",sans-serif;font-size:19px;color:var(--pine);line-height:1.2}
#swe .cred span{font-size:15px;color:var(--muted);line-height:1.45}
#swe .cred.xact{position:relative;overflow:hidden}
#swe .cred.xact::before{content:"";position:absolute;right:-8px;bottom:-12px;width:92px;height:92px;background:url(/img/L3-badge.27f2c0fd7b.png) center/contain no-repeat;opacity:.16;pointer-events:none}

/* lead capture modal */
#swe .modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}
#swe .modal[hidden]{display:none}
#swe .modal-backdrop{position:absolute;inset:0;background:rgba(13,28,21,.66)}
#swe .modal-card{position:relative;background:var(--white);border-radius:20px;padding:26px 22px 20px;width:min(430px,100%);max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 30px 80px -20px rgba(8,20,14,.55)}
#swe .modal-card h3{font-family:"Archivo",Arial,sans-serif;font-size:24px;color:var(--pine)}
#swe .modal-sub{margin-top:6px;font-size:15px;color:var(--muted)}
#swe .modal-x{position:absolute;top:8px;right:10px;background:none;border:0;font-size:28px;line-height:1;color:var(--muted);cursor:pointer;padding:4px}
#swe #lead-form{display:grid;gap:12px;margin-top:16px}
#swe #lead-form[hidden]{display:none}
#swe #lead-form label{display:grid;gap:5px;font-size:13px;font-weight:600;color:var(--forest)}
#swe #lead-form input,#swe #lead-form select,#swe #lead-form textarea{font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid var(--line);border-radius:10px;color:#1c2b22;background:#fff;width:100%}
#swe #lead-form input:focus,#swe #lead-form select:focus,#swe #lead-form textarea:focus{outline:2px solid var(--moss);border-color:var(--moss)}
#swe #lead-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
#swe #lead-form .btn{width:100%;margin-top:4px}
#swe .form-note{font-size:13px;color:var(--muted);line-height:1.5}
#swe .form-note a{color:var(--forest);font-weight:600}
#swe .form-status{font-size:14px;font-weight:600}
#swe .form-status.good{color:var(--forest)}
#swe .form-status.bad{color:#a02c2c}
/* "Residential & commercial" needs more width than a column has (233px of
   text against 178px available), so it wraps to two lines while the other
   two headings stay on one. Reserve two lines for every heading so the
   descriptions underneath all start on the same baseline. */
@media (min-width:641px){
  #swe .cred strong{min-height:46px}
}
#swe .who .imgbox{background:var(--fern);border-radius:24px;padding:22px;height:90%;display:flex;align-items:center;justify-content:center}
#swe .who .imgbox img{border-radius:16px;max-width:100%;max-height:100%;width:auto;height:auto}

/* faq */
#swe .faq{max-width:900px;margin:0 auto}
#swe .faq .head{text-align:center;margin-left:auto;margin-right:auto}
#swe details{border:2px solid var(--line);border-radius:18px;margin-bottom:14px;background:var(--white);overflow:hidden}
#swe details[open]{border-color:var(--forest)}
#swe summary{list-style:none;cursor:pointer;padding:22px 64px 22px 26px;font-family:"Archivo",sans-serif;font-weight:800;font-size:21px;color:var(--pine);position:relative}
#swe summary::-webkit-details-marker{display:none}
#swe summary::after{content:"+";position:absolute;right:24px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--fern);color:var(--forest);display:grid;place-items:center;font-size:24px;line-height:1;transition:transform .2s}
#swe details[open] summary::after{content:"\2212";background:var(--forest);color:var(--gold)}
#swe details .ans{padding:0 26px 24px;color:var(--muted);font-size:18px}

/* final cta */
#swe .final{background-color:var(--forest);background-image:radial-gradient(ellipse at 50% 45%,rgba(16,44,28,.84) 0%,rgba(18,46,30,.78) 55%,rgba(24,60,38,.66) 100%),url("/img/hero-card-forest-1920.41a850efb2.jpg");background-image:radial-gradient(ellipse at 50% 45%,rgba(16,44,28,.84) 0%,rgba(18,46,30,.78) 55%,rgba(24,60,38,.66) 100%),image-set(url("/img/hero-card-forest-1920.9586517e49.webp") type("image/webp"),url("/img/hero-card-forest-1920.41a850efb2.jpg") type("image/jpeg"));background-size:cover;background-position:center 45%;background-repeat:no-repeat;color:var(--white);border-radius:28px;padding:64px 48px;text-align:center;position:relative;overflow:hidden}
#swe .final h2{font-size:clamp(34px,4.4vw,56px);font-weight:900;max-width:15em;margin:0 auto;position:relative;z-index:2}
#swe .final p{margin:18px auto 0;max-width:36em;color:#dbe7d6;font-size:20px;position:relative;z-index:2}
#swe .final .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px;position:relative;z-index:2}
#swe .final .treeline{height:90px;opacity:.9}

/* footer */
#swe footer{padding:48px 0 40px}
#swe .foot{display:grid;grid-template-columns:auto auto auto auto;justify-content:center;align-items:start;gap:24px 40px;border-top:1px solid var(--line);padding-top:40px;text-align:left}
#swe .foot>div:first-child{align-self:start}
#swe .foot img{height:150px;width:auto;max-width:240px;margin-bottom:0}
#swe .foot p{color:var(--muted);font-size:16px;max-width:26em}
#swe .foot h4{font-size:17px;color:var(--pine);margin-bottom:12px}
#swe .foot a{display:block;text-decoration:none;color:var(--muted);font-size:16px;margin-bottom:8px}
#swe .foot a:hover{color:var(--forest)}
#swe .contact-card{background:var(--mist);border:2px solid var(--line);border-radius:20px;padding:24px 24px 20px;max-width:330px}
#swe .contact-card h4{margin-bottom:14px}
#swe .contact-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
#swe .contact-row>div{min-width:0;flex:1}
#swe .contact-row:last-child{margin-bottom:0}
#swe .contact-ico{flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:var(--fern);display:grid;place-items:center;color:var(--forest)}
#swe .contact-ico svg{width:18px;height:18px}
#swe .contact-row .big{display:block;font-family:"Archivo",Arial,sans-serif;font-weight:800;font-size:19px;color:var(--pine);margin-bottom:2px}
#swe .contact-row small{display:block;font-size:14px;color:var(--muted);line-height:1.4}
#swe .contact-row small a{display:inline;margin-bottom:0;color:var(--pine);font-weight:600}
#swe .contact-row a.big{text-decoration:none}
#swe .contact-row a.big:hover{color:var(--forest)}
#swe .contact-row .mail{font-weight:600;color:var(--forest);font-size:15px;overflow-wrap:break-word}
#swe .legal{margin-top:32px;font-size:14px;color:var(--muted);text-align:center}
#swe .legal a{color:var(--muted);text-decoration:none}
#swe .legal a:hover{color:var(--forest)}

@media (min-width:1001px){
  #swe .menu-panel{display:none!important}
}
@media (max-width:1000px){
  #swe .hero-panel,#swe .dark,#swe .who{grid-template-columns:1fr}
  #swe .hero-side{max-width:430px;justify-self:center}
  #swe .services{grid-template-columns:1fr;max-width:620px;margin:0 auto}
  #swe .steps{grid-template-columns:1fr 1fr}
  #swe .foot{grid-template-columns:minmax(0,1fr) minmax(0,1fr);justify-items:start}
  #swe .callout{grid-template-columns:auto 1fr;grid-template-rows:auto auto;text-align:left;justify-items:start;align-items:center;gap:14px 20px}
  #swe .callout img{grid-row:1 / span 2}
  #swe .who .imgbox{display:none}
  #swe .nav{display:none}
  #swe .top-actions>.btn{display:none}
  #swe .menu-btn{display:inline-flex}
}
@media (max-width:640px){
  #swe{font-size:17px}
  #swe section{padding:24px 0}
  #swe .wrap{padding:0 14px}
  #swe .hero-panel{padding:40px 24px;border-radius:22px;background-image:linear-gradient(180deg,rgba(16,44,28,.85) 0%,rgba(20,50,33,.76) 60%,rgba(26,66,42,.58) 100%),url("/img/hero-card-forest-960.6599940b38.webp")}
  #swe .hero .sub{font-size:19px}
  #swe .hero .ctas .btn,#swe .final .ctas .btn{width:100%}
  #swe .dark,#swe .steps-panel,#swe .final{padding:40px 22px;border-radius:22px}
  #swe .final{background-image:radial-gradient(ellipse at 50% 45%,rgba(16,44,28,.84) 0%,rgba(18,46,30,.78) 55%,rgba(24,60,38,.66) 100%),url("/img/hero-card-forest-960.6599940b38.webp")}
  #swe .steps{grid-template-columns:1fr}
  #swe .creds{grid-template-columns:1fr}
  #swe .callout{padding:30px 22px}
  #swe .callout img{width:96px}
  #swe .callout h2{font-size:21px}
  #swe .foot{grid-template-columns:1fr;justify-items:center;text-align:center}
  #swe .foot>div:first-child{align-self:auto}
  #swe .brand{font-size:19px}
  #swe .brand img{height:28px}
  #swe .fan-chip{width:32px;height:32px;border-radius:7px}
  #swe .fan-chiprow{gap:4px}
  #swe .lb-btn{width:44px;height:44px}
  #swe .lb-prev{left:8px}
  #swe .lb-next{right:8px}
  #swe .lb-close{top:10px;right:10px}
  #swe .lb-img{max-width:calc(100vw - 76px);max-height:76vh}
  #swe .top .btn{padding:11px 14px;font-size:14px}
  #swe summary{font-size:18px}
}
@media (prefers-reduced-motion:reduce){#swe *{transition:none!important}}

/* Recognize-these-issues panel: same realistic forest as the hero card.
   Darker toward the text side (right) so the list stays readable. */
#swe .dark{position:relative;overflow:hidden;background-color:var(--pine);background-image:linear-gradient(100deg,rgba(26,66,42,.62) 0%,rgba(18,46,30,.80) 45%,rgba(14,36,24,.88) 100%),url("/img/hero-card-forest-1920.41a850efb2.jpg");background-image:linear-gradient(100deg,rgba(26,66,42,.62) 0%,rgba(18,46,30,.80) 45%,rgba(14,36,24,.88) 100%),image-set(url("/img/hero-card-forest-1920.9586517e49.webp") type("image/webp"),url("/img/hero-card-forest-1920.41a850efb2.jpg") type("image/jpeg"));background-size:cover;background-position:center 55%;background-repeat:no-repeat}
#swe .dark img{box-shadow:0 22px 46px -20px rgba(0,0,0,.55)}
#swe .xlist li{background:rgba(10,22,15,.40);border-color:rgba(255,255,255,.14)}
@media (max-width:640px){
  #swe .dark{background-image:linear-gradient(180deg,rgba(18,46,30,.82) 0%,rgba(14,36,24,.88) 100%),url("/img/hero-card-forest-960.6599940b38.webp")}
}

/* ===== Sherwood Tools promo ===== */
#swe .nav-new{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:var(--gold);color:#000;font-size:11px;font-weight:800;letter-spacing:.04em;vertical-align:2px}
#swe .promo-strip{background:var(--pine);color:#dbe7d6;font-size:15px;line-height:1.35}
#swe .promo-strip .wrap{display:flex;align-items:center;justify-content:center;gap:10px 16px;flex-wrap:wrap;min-height:44px;padding-top:8px;padding-bottom:8px;text-align:center}
#swe .promo-strip b{color:#fff;font-family:"Archivo",sans-serif;font-weight:800}
#swe .promo-strip s{opacity:.7}
#swe .promo-strip .gold{color:var(--gold-hi);font-weight:700}
#swe .promo-strip a{color:#000;background:var(--gold);text-decoration:none;font-family:"Archivo",sans-serif;font-weight:800;font-size:14px;padding:6px 14px;border-radius:8px;white-space:nowrap}
#swe .tools-band{position:relative;overflow:hidden;color:#fff;border-radius:28px;padding:56px 52px;background-color:var(--forest);background-image:linear-gradient(100deg,rgba(14,36,24,.90) 0%,rgba(18,46,30,.80) 55%,rgba(26,66,42,.66) 100%),url("/img/hero-card-forest-1920.41a850efb2.jpg");background-size:cover;background-position:center 45%}
#swe .tools-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:end}
#swe .tools-band .kicker{color:var(--gold)}
#swe .tools-band h2{font-size:clamp(30px,3.6vw,46px);font-weight:900;color:#fff}
#swe .tools-band .lede{margin-top:14px;color:#c8d6c6;font-size:19px;max-width:36em}
#swe .tools-price{background:rgba(10,22,15,.5);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:22px 24px;box-shadow:0 22px 46px -20px rgba(0,0,0,.55)}
#swe .tools-price .tag-w{display:inline-block;font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;background:rgba(246,197,33,.16);border:1px solid rgba(246,197,33,.5);color:var(--gold-hi)}
#swe .tools-price .amt{font-family:"Archivo",sans-serif;font-weight:900;font-size:44px;margin-top:10px;line-height:1}
#swe .tools-price .amt s{font-size:22px;color:#9fb3a3;font-weight:700;margin-right:8px}
#swe .tools-price .amt small{font-size:17px;font-weight:700;color:#dbe7d6}
#swe .tools-price p{font-size:14.5px;color:#c8d6c6;margin-top:8px}
#swe .tools-price .btn{width:100%;margin-top:16px}
#swe .tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
#swe .tool{background:rgba(10,22,15,.45);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px 16px 20px}
#swe .tool .shot{display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#fff;margin-bottom:16px}
#swe .tool .shot img{width:100%;height:100%;object-fit:cover;object-position:top}
#swe .tool h3{font-size:21px;color:#fff;margin-bottom:6px}
#swe .tool p{font-size:15.5px;color:#c8d6c6;line-height:1.45}
#swe .tools-note{margin-top:22px;font-size:15px;color:#c8d6c6}
#swe .tools-note a{color:var(--gold-hi);font-weight:700}
@media (max-width:1000px){#swe .tools-top{grid-template-columns:1fr}#swe .tools-grid{grid-template-columns:1fr;max-width:560px}}
@media (max-width:640px){#swe .tools-band{padding:36px 20px;border-radius:22px;background-image:linear-gradient(180deg,rgba(14,36,24,.88) 0%,rgba(18,46,30,.84) 100%),url("/img/hero-card-forest-960.6599940b38.webp")}#swe .promo-strip{font-size:13.5px}}
#swe .nav a{white-space:nowrap}
#swe .nav a.nav-tools{color:var(--forest)}
@media (max-width:1300px){#swe .nav{gap:24px;font-size:16px}}
#swe .promo-strip .short{display:none}
@media (max-width:640px){#swe .promo-strip .long{display:none}#swe .promo-strip .short{display:inline}#swe .tools-price .amt{font-size:38px}#swe .tools-price .amt small{display:block;margin-top:6px}}
/* Tool screenshots use <picture>; keep the frame behavior */
#swe .tool .shot picture{display:block;width:100%;height:100%}
#swe .faq .ans a{font-weight:700}
/* Winter promo auto-expiry: /js/promo-date.*.js adds html.promo-ended
   after Mar 31, 2027 11:59 PM ET. [data-promo] = winter-price content,
   [data-promo-after] = price-free replacement shown afterwards. */
html.promo-ended #swe [data-promo]{display:none!important}
html:not(.promo-ended) #swe [data-promo-after]{display:none!important}
/* Promo strip: one line per breakpoint (long / mid / phone) */
#swe .promo-strip .wrap{flex-wrap:nowrap;min-height:40px;padding-top:6px;padding-bottom:6px;gap:16px}
#swe .promo-strip .short{display:none}
#swe .promo-strip a.cta{font-size:13.5px;padding:5px 12px}
@media (max-width:640px){#swe .promo-strip .mid,#swe .promo-strip a.cta{display:none}
  #swe .promo-strip .wrap{min-height:36px;padding-top:7px;padding-bottom:7px}
  #swe .promo-strip a.short{display:inline;background:none;color:#dbe7d6;padding:0;font-size:13.5px;font-family:inherit;font-weight:400;white-space:nowrap}
  #swe .promo-strip a.short b{text-decoration:underline;text-underline-offset:2px}}
@media (max-width:359px){#swe .promo-strip a.short{font-size:12.5px}}
/* Desktop header fit with the longer "Sherwood Tools" + NEW link */
@media (min-width:1001px) and (max-width:1200px){
  #swe .top .brand{flex:none}
  #swe .nav{gap:14px;font-size:15px}
  #swe .brand{font-size:20px}
  #swe .brand img{height:30px}
  #swe .top-actions .btn{padding:13px 16px;font-size:15.5px}
  #swe .nav-new{font-size:10px;padding:2px 6px;margin-left:4px}}
@media (min-width:641px) and (max-width:820px){#swe .promo-strip .mid .gold+*{display:none}}
/* Four tool cards: even rows (shot, title, text) at desktop, 2 across on tablets, stacked on phones */
#swe .tool h3 a{color:inherit;text-decoration:none}
#swe .tool h3 a:hover,#swe .tool h3 a:focus-visible{text-decoration:underline;text-underline-offset:3px}
@media (min-width:1001px){
  #swe .tools-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  #swe .tool{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}
  #swe .tool h3{font-size:19px;line-height:1.25}
  #swe .tool p{font-size:15px}}
@media (min-width:641px) and (max-width:1000px){
  #swe .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}}
/* Footer: three columns (logo, pages, contact) */
@media (min-width:1001px){#swe .foot{grid-template-columns:auto auto auto}}
@media (min-width:641px) and (max-width:1000px){#swe .foot>div:first-child{grid-column:1 / -1;justify-self:center}}
