/* Mainely Stripes — Packages Page. Refactored August 2026. */


    :root { --pine:#0c3b2e; --sea:#1f6f5e; --foam:#e8f5ef; --sky:#f5fbff; --rock:#2d2d2d; --gold:#c69c3d; --card:#ffffff; }
    *{box-sizing:border-box} html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:var(--rock);background:linear-gradient(180deg,var(--foam),#fff 40%)}
    a{color:var(--sea);text-decoration:none} a:hover{text-decoration:underline}
    header{background:linear-gradient(135deg,var(--pine),var(--sea));color:#fff;position:relative;overflow:hidden}
    header .inner{max-width:860px;margin:0 auto;padding:32px 48px 64px} header:after{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(25deg,rgba(255,255,255,.06)0,rgba(255,255,255,.06)6px,transparent 6px,transparent 18px);opacity:.6}
    .mast{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
    .brand-block{display:flex;align-items:center;gap:14px}
    .logo-img{width:200px;max-width:42vw;height:auto;display:block;filter:drop-shadow(0 6px 16px rgba(0,0,0,.25))}
    @media (max-width:640px){.logo-img{width:160px}}
    h1{margin:0;font-size:clamp(26px,4.8vw,56px);letter-spacing:.4px}
    .tag{margin:8px 0 0;font-size:clamp(14px,1.9vw,18px);opacity:.95;max-width:780px}
    .cta{ position:relative; z-index:2; margin-top:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
    .btn{background:#fff;color:var(--pine);border:2px solid #fff;padding:12px 18px;border-radius:12px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:.2s transform,.2s box-shadow}
    .btn.alt{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)} .btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.18)}
    section{padding:48px 0} h2{font-size:clamp(22px,3.4vw,32px);margin:0 0 16px;color:var(--pine)} .sub{margin:0 0 24px;opacity:.85}
    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px} @media (max-width:940px){.grid{grid-template-columns:1fr}}
    .card{background:var(--card);border-radius:18px;padding:22px;box-shadow:0 12px 28px rgba(0,0,0,.06);border:1px solid #e9efe9;position:relative;overflow:hidden}
    .card:after{content:"";position:absolute;inset:auto 0 0 0;height:6px;background:linear-gradient(90deg,var(--sea),var(--pine));opacity:.6}
    .tier{display:flex;align-items:center;gap:10px} .badge{font-size:12px;text-transform:uppercase;letter-spacing:.08em;background:#eef6f2;color:var(--sea);padding:6px 10px;border-radius:999px;font-weight:700}
    .price{font-size:28px;font-weight:900;color:var(--pine);margin:8px 0 10px} .per{font-size:13px;opacity:.75}
    ul.features{margin:12px 0 16px;padding:0 0 0 20px} ul.features li{margin:6px 0;line-height:1.45} .micro{font-size:12px;opacity:.7}
    .best{outline:2px solid var(--gold);box-shadow:0 24px 40px rgba(198,156,61,.25)}
    .estimator{background:var(--sky);border:1px solid #e6eef1;padding:20px;border-radius:16px;margin-top:10px} .estimator label{font-weight:700;display:block;margin-bottom:8px}
    .est-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center} @media (max-width:720px){.est-grid{grid-template-columns:1fr}}
    .est-out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px} @media (max-width:720px){.est-out{grid-template-columns:1fr}}
    .chip{background:#fff;border:1px solid #e3ebe5;border-radius:12px;padding:12px;text-align:center;font-weight:800;color:var(--pine)}
    .gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px} .gallery img{width:100%;height:220px;object-fit:cover;border-radius:12px;box-shadow:0 8px 18px rgba(0,0,0,.12);border:1px solid #e6efe9}
    @media (max-width:940px){.gallery{grid-template-columns:1fr 1fr} .gallery img{height:180px}} @media (max-width:600px){.gallery{grid-template-columns:1fr} .gallery img{height:220px}}
    footer{background:#0f2e25;color:#cfe3da;padding:28px 20px} footer a{color:#cfe3da;text-decoration:underline} .footgrid{display:grid;grid-template-columns:2fr 1fr;gap:20px}
    @media (max-width:720px){.footgrid{grid-template-columns:1fr}}
    .stickybar{position:fixed;left:0;right:0;bottom:0;background:#0f2e25;color:#e7f3ee;padding:10px 12px;display:flex;gap:10px;justify-content:center;align-items:center;z-index:999;box-shadow:0 -6px 18px rgba(0,0,0,.18)}
    .stickybar a{background:#0f2e25;color:#fff;padding:10px 14px;border-radius:999px;font-weight:800;text-decoration:none;border:1px solid rgba(255,255,255,.2);min-width:92px;text-align:center}
    .stickybar .ghost{background:#0f2e25;color:#fff;border-color:rgba(255,255,255,.2)} @media (min-width:900px){.stickybar{position:static;background:transparent;box-shadow:none;padding:0;justify-content:flex-start;gap:8px} .stickybar a{background:#0f2e25}} 
    .hero{position:relative;border-radius:16px;overflow:hidden;margin-top:18px} .hero img{width:100%;height:320px;object-fit:cover;display:block}
  html { scroll-behavior: smooth; }
#packages, #contact { scroll-margin-top: 90px; }

html { scroll-behavior: smooth; }
/* Robust anchor offset for all browsers (works with file:// too) */
section[id]::before { content: ""; display: block; height: 120px; margin-top: -120px; visibility: hidden; }

.btn, .btn.alt { text-decoration: none !important; }
@media (max-width: 700px){ .wrap{ padding: 0 24px; } header .inner{ padding: 24px 24px 56px; } }

.card{background:var(--card);border-radius:18px;padding:22px;box-shadow:0 12px 28px rgba(0,0,0,.06);border:1px solid #e9efe9;position:relative;overflow:hidden;outline:2px solid transparent;transition:transform .15s ease, box-shadow .15s ease, outline-color .15s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(0,0,0,.12);outline-color:rgba(31,111,94,.45)}
.card.selectable{cursor:pointer}
.card.selected{outline:3px solid var(--sea); box-shadow:0 24px 48px rgba(31,111,94,.20)}


/* Visually hide but keep for accessibility/SEO */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


.wrap{ max-width: 1080px; margin: 0 auto; padding: 0 40px; }
header .inner{ max-width: 1080px; margin: 0 auto; padding: 28px 40px 60px; }
@media (max-width: 700px){
  .wrap{ padding: 0 20px; }
  header .inner{ padding: 22px 20px 50px; }
}
.stickybar .container{ width:100%; max-width: 1080px; margin:0 auto; display:flex; gap:10px; justify-content:flex-start; }


.wrap{ max-width: 1200px; margin: 0 auto; padding: 0 24px; }
header .inner{ max-width: 1200px; margin: 0 auto; padding: 28px 24px 60px; }
@media (max-width: 700px){
  .wrap{ padding: 0 18px; }
  header .inner{ padding: 22px 18px 50px; }
}
.stickybar .container{ width:100%; max-width: 1200px; margin:0 auto; display:flex; gap:10px; justify-content:flex-start; }


/* Mobile and navigation refinements */
.logo-img{width:280px;max-width:46vw;}
.cta .btn{font-size:16px;line-height:1.15;text-align:center;}
@media (max-width: 820px){
  header .inner{padding:22px 18px 42px;}
  .mast{display:block;}
  .brand-block{flex-direction:column;align-items:center;text-align:center;gap:18px;}
  .logo-img{width:min(260px,78vw);max-width:78vw;}
  .tag{font-size:18px;line-height:1.35;margin:0 auto;}
  .cta{justify-content:center;width:100%;gap:10px;}
  .cta .btn{flex:1 1 220px;max-width:320px;padding:14px 16px;}
  .hero{margin-top:22px;border-radius:14px;}
  .hero img{height:230px;}
  section{padding:34px 0;}
  .grid{gap:16px;}
  .card{padding:20px;}
  .price{font-size:30px;}
  .estimator form > div{grid-template-columns:1fr !important;}
  .estimator form div[style*="display:grid"]{grid-template-columns:1fr !important;}
  .estimator form div[style*="margin-top:14px"]{flex-direction:column;align-items:stretch !important;}
  .estimator form .btn{width:100%;text-align:center;}
  body{padding-bottom:76px;}
  .stickybar .container{justify-content:center;}
  .stickybar a{flex:1 1 0;min-width:0;}
}
@media (max-width: 420px){
  .tag{font-size:16px;}
  .cta .btn{flex-basis:100%;max-width:none;}
  .hero img{height:190px;}
  .price{font-size:26px;}
}


/* Final Mainely Stripes page structure updates */
html, body { min-height:100%; }
body { background: linear-gradient(135deg,var(--pine),var(--sea)); }
.page-body { background: linear-gradient(180deg,var(--foam),#fff 42%); min-height:100vh; }
.landing { min-height:100vh; background:linear-gradient(135deg,var(--pine),var(--sea)); color:#fff; position:relative; overflow:hidden; display:flex; flex-direction:column; }
.landing:after { content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(25deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 6px,transparent 6px,transparent 18px); opacity:.6; pointer-events:none; }
.landing .inner { position:relative; z-index:1; width:100%; max-width:1280px; margin:0 auto; padding:42px 36px 24px; display:flex; flex-direction:column; flex:1; }
.landing .brand-block { display:grid; grid-template-columns:330px minmax(0,1fr); gap:26px; align-items:center; }
.landing .logo-img { width:330px; max-width:330px; background:#fff; }
.landing .tag { font-size:clamp(20px,2.1vw,29px); line-height:1.2; max-width:none; margin:0 0 18px; }
.landing .cta { display:grid; grid-template-columns:repeat(5, minmax(135px, 1fr)); gap:12px; margin-top:0; width:100%; align-items:stretch; }
.landing .cta .btn { display:flex; align-items:center; justify-content:center; min-height:58px; padding:12px 14px; white-space:nowrap; font-size:clamp(14px,1.15vw,18px); border-radius:14px; }
.landing .hero { margin-top:26px; border-radius:18px; }
.landing .hero img { height:clamp(310px,42vh,500px); object-fit:cover; }
.landing .note { font-size:18px; }
.landing-footer { margin-top:auto; position:relative; z-index:1; color:#d8eee6; padding:18px 0 4px; font-weight:800; font-size:20px; }
.main-footer-line { font-weight:800; font-size:20px; margin-bottom:8px; }
footer .brand-slogan { font-weight:800; font-size:20px; margin-bottom:6px; }
@media (max-width:1100px){ .landing .brand-block{grid-template-columns:280px 1fr}.landing .logo-img{width:280px;max-width:280px}.landing .cta{grid-template-columns:repeat(3, minmax(150px,1fr));} }
@media (max-width:760px){
  .landing .inner{padding:24px 18px 24px;}
  .landing .brand-block{display:flex; flex-direction:column; text-align:center; gap:18px;}
  .landing .logo-img{width:min(320px,86vw); max-width:86vw;}
  .landing .tag{font-size:18px; line-height:1.35;}
  .landing .cta{grid-template-columns:1fr; gap:10px;}
  .landing .cta .btn{width:100%; white-space:normal; font-size:18px; min-height:54px;}
  .landing .hero img{height:240px;}
  .landing .note{font-size:15px; line-height:1.4;}
  .landing-footer{text-align:center; font-size:17px;}
}


/* Final polish requested May 2026 */
header:after, .about-hero:after { pointer-events:none !important; }
.about-hero .wrap, .landing .inner { position:relative; z-index:2; }
.site-nav { position:relative; z-index:5; display:grid; grid-template-columns:repeat(5, minmax(140px, 1fr)); gap:12px; width:100%; margin-top:18px; align-items:stretch; }
.subpage-nav { grid-template-columns:repeat(6, minmax(120px, 1fr)); max-width:1160px; }
.nav-btn { display:flex; align-items:center; justify-content:center; min-height:58px; padding:12px 14px; border-radius:14px; font-weight:800; text-decoration:none !important; text-align:center; line-height:1.15; background:transparent; color:#fff; border:2px solid rgba(255,255,255,.72); box-shadow:0 4px 12px rgba(0,0,0,.15); transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.nav-btn:first-child { background:#fff; color:var(--pine); border-color:#fff; }
.nav-btn:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.20); text-decoration:none !important; }
.landing .cta { display:block; }
.landing .cta .btn { display:none; }
.landing .hero img { height:clamp(430px,54vh,650px) !important; object-fit:cover; }
.landing .inner { max-width:1320px; padding-bottom:28px; }
.landing-footer { margin-top:auto; padding:22px 0 0; color:#d8eee6; font-weight:600; font-size:18px; }
.site-footer { background:#0f2e25; color:#cfe3da; padding:28px 24px; }
.site-footer a, .landing-footer a { color:#cfe3da; text-decoration:underline; }
.footer-inner { max-width:1320px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr; gap:28px; align-items:start; }
.brand-slogan { font-weight:900; font-size:22px; margin-bottom:8px; }
.footer-contact { text-align:left; }
.about-hero { background:linear-gradient(135deg,var(--pine),var(--sea)); color:#fff; position:relative; overflow:hidden; }
.about-hero:after { content:""; position:absolute; inset:0; background-image:repeating-linear-gradient(25deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 6px,transparent 6px,transparent 18px); opacity:.6; pointer-events:none; }
.about-hero .logo-img { width:300px !important; max-width:300px !important; background:#fff; }
.about-hero .subline { font-size:clamp(18px,2vw,26px); line-height:1.25; max-width:1000px; }
@media (max-width:1180px){
  .site-nav, .subpage-nav { grid-template-columns:repeat(3, minmax(160px, 1fr)); }
  .landing .brand-block { grid-template-columns:300px minmax(0,1fr); }
  .landing .logo-img { width:300px; max-width:300px; }
}
@media (max-width:760px){
  .site-nav, .subpage-nav { grid-template-columns:1fr; gap:10px; }
  .nav-btn { width:100%; min-height:54px; font-size:18px; }
  .landing .hero img { height:330px !important; }
  .footer-inner { grid-template-columns:1fr; text-align:center; gap:12px; }
  .footer-contact { text-align:center; }
  .landing-footer { font-size:16px; }
  .brand-slogan { font-size:19px; }
  .about-hero .logo-img { width:min(320px,86vw) !important; max-width:86vw !important; }
}


/* 2026 final landing/nav/footer corrections */
.site-nav, .landing .cta{
  position:relative; z-index:10; display:grid !important;
  grid-template-columns:repeat(5, minmax(130px, 1fr)); gap:12px; width:100%; margin-top:18px; align-items:stretch;
}
.subpage-nav{grid-template-columns:repeat(6, minmax(120px, 1fr)); max-width:1180px;}
.nav-btn, .landing .cta .btn{
  display:flex !important; align-items:center; justify-content:center; min-height:54px; padding:12px 14px;
  border-radius:14px; font-weight:800; text-decoration:none !important; text-align:center; line-height:1.15;
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,.72); box-shadow:0 4px 12px rgba(0,0,0,.15);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease; white-space:nowrap;
}
.nav-btn:first-child, .landing .cta .btn:first-child{background:#fff; color:var(--pine); border-color:#fff;}
.nav-btn:hover, .landing .cta .btn:hover{transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,.20); text-decoration:none !important;}
.landing{min-height:100svh; height:100svh; overflow:hidden;}
.landing .inner{max-width:1320px; padding:28px 36px 18px; display:flex; flex-direction:column; min-height:100%;}
.landing .brand-block{grid-template-columns:300px minmax(0,1fr); gap:24px; align-items:center;}
.landing .logo-img{width:300px; max-width:300px;}
.landing .tag{font-size:clamp(20px,2.05vw,28px); line-height:1.18; margin:0 0 12px;}
.landing .hero{margin-top:20px; border-radius:18px;}
.landing .hero img{height:clamp(300px,41svh,430px) !important; object-fit:cover;}
.landing .note{font-size:17px; margin-top:9px !important;}
.landing-footer, .site-footer{position:relative; z-index:2; color:#d8eee6;}
.landing-footer{margin-top:auto; padding:14px 0 0; font-size:16px; font-weight:600;}
.footer-inner{max-width:1320px; margin:0 auto; display:grid; grid-template-columns:1.35fr 1fr; gap:28px; align-items:end;}
.brand-slogan{font-weight:900; font-size:21px; margin-bottom:4px;}
.footer-copy{font-size:14px; opacity:.88; margin-top:2px;}
.footer-contact{text-align:right; font-size:16px; line-height:1.35;}
.landing-footer a, .site-footer a{color:#d8eee6; text-decoration:underline;}
.site-footer{background:#0f2e25; padding:26px 24px;}
@media (max-width:1180px){
  .landing{height:auto; min-height:100svh; overflow:visible;}
  .landing .brand-block{grid-template-columns:260px minmax(0,1fr);} .landing .logo-img{width:260px; max-width:260px;}
  .site-nav, .landing .cta{grid-template-columns:repeat(3, minmax(160px,1fr));}
  .subpage-nav{grid-template-columns:repeat(3, minmax(160px,1fr));}
  .footer-contact{text-align:left;}
}
@media (max-width:760px){
  .landing{height:auto; min-height:100svh; overflow:visible;}
  .landing .inner{padding:22px 18px 24px;}
  .landing .brand-block{display:flex; flex-direction:column; text-align:center; gap:18px;}
  .landing .logo-img{width:min(320px,86vw); max-width:86vw;}
  .landing .tag{font-size:18px; line-height:1.35;}
  .site-nav, .landing .cta, .subpage-nav{grid-template-columns:1fr; gap:10px;}
  .nav-btn, .landing .cta .btn{width:100%; min-height:54px; font-size:18px; white-space:normal;}
  .landing .hero img{height:300px !important;}
  .landing .note{font-size:15px; line-height:1.35;}
  .footer-inner{grid-template-columns:1fr; gap:10px; text-align:center; align-items:center;}
  .footer-contact{text-align:center; font-size:15px;}
  .landing-footer{font-size:15px;}
  .brand-slogan{font-size:19px;}
}


/* Consistent subpage navigation: current page removed, remaining links evenly aligned */
.subpage-nav{grid-template-columns:repeat(5, minmax(130px, 1fr)) !important; max-width:1180px;}
@media (max-width:900px){.subpage-nav{grid-template-columns:repeat(2, minmax(160px, 1fr)) !important;}}
@media (max-width:620px){.subpage-nav{grid-template-columns:1fr !important;}}


/* Final CTA spacing and label update */
.site-nav, .landing .cta { margin-top: 8px !important; }
.about-hero .wrap { padding-top: 28px; padding-bottom: 34px; }
@media (max-width:760px){ .site-nav, .landing .cta { margin-top: 10px !important; } }

.call-visible{background:#0f2e25 !important;color:#fff !important;border-color:#0f2e25 !important;text-decoration:none !important;}


/* Professional alignment refresh */
body.page-body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#153324;background:linear-gradient(180deg,#fff 0%,#fbfaf4 58%,#eef6ee 100%);}
.about-hero{background:transparent!important;color:#153324!important;padding:0!important;position:relative;overflow:visible;}
.about-hero:after{display:none!important;}
.about-hero .wrap{max-width:1180px!important;margin:0 auto!important;padding:22px 24px 42px!important;text-align:center!important;}
.about-hero .logo-img{display:none!important;}
.about-hero h1{margin:46px auto 10px!important;max-width:920px;font-size:clamp(38px,5.2vw,70px)!important;line-height:.96!important;color:#0b3b25!important;letter-spacing:-.045em!important;font-weight:950!important;}
.about-hero .subline{margin:0 auto 24px!important;max-width:820px!important;font-size:clamp(18px,2.1vw,25px)!important;line-height:1.35!important;color:#5c6b62!important;font-weight:650!important;opacity:1!important;}
.site-nav.subpage-nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;flex-wrap:wrap!important;max-width:1180px!important;margin:0 auto!important;}
.nav-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:auto!important;padding:10px 13px!important;border-radius:999px!important;border:0!important;background:transparent!important;color:#0b3b25!important;font-weight:800!important;box-shadow:none!important;text-decoration:none!important;}
.nav-btn:hover{background:#eef6ee!important;}
.nav-btn[href^="tel"]{background:#0b3b25!important;color:#fff!important;padding:12px 18px!important;}
main.wrap{max-width:1180px!important;margin:0 auto!important;padding:0 24px 56px!important;}
.site-footer{background:#08291a!important;color:#dcece3!important;padding:26px 24px!important;}
.brand-slogan{font-weight:900!important;}
@media(max-width:760px){.about-hero .wrap{padding:18px 18px 34px!important}.about-hero h1{margin-top:26px!important}.site-nav.subpage-nav{gap:10px!important}.nav-btn{width:auto!important}.nav-btn[href^="tel"]{width:100%!important;max-width:340px!important}main.wrap{padding:0 18px 42px!important}}


.system-overview{background:#fff;border:1px solid #e2eee5;border-radius:22px;box-shadow:0 14px 32px rgba(12,59,46,.08);padding:28px;margin:0 0 28px;text-align:center;position:relative;overflow:hidden}.system-overview:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--sea),var(--pine))}.system-overview h2{margin-top:4px}.system-phase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:22px}.system-phase{background:linear-gradient(180deg,#fff,#f5fbf7);border:1px solid #e2eee5;border-radius:16px;padding:16px 14px}.system-phase .ico{font-size:25px;margin-bottom:6px}.system-phase h3{margin:0 0 5px;color:var(--pine)}.system-phase p{margin:0;font-size:13px;line-height:1.4;color:#5c6b62;font-weight:650}.fit-section{background:#f5fbff;border:1px solid #e6eef1;border-radius:18px;padding:22px;margin:0 0 26px}.fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fit-item{background:#fff;border:1px solid #e3ebe5;border-radius:14px;padding:16px}.fit-item h3{margin:0 0 6px;color:var(--pine)}.fit-item p{margin:0;color:#5c6b62;line-height:1.4;font-weight:650}.timeline{margin:16px 0 0;padding:12px;border-radius:14px;background:#f5fbf7;border:1px solid #e2eee5;font-size:13px;font-weight:800;color:var(--pine);line-height:1.45}.note-line{font-size:13px;color:#5c6b62;line-height:1.45;font-weight:650;margin-top:10px}.asterisk-note{margin-top:22px;font-size:13px;color:#5c6b62;line-height:1.5;font-weight:650}@media(max-width:940px){.system-phase-grid,.fit-grid{grid-template-columns:1fr}.system-overview{padding:24px 18px}}


/* 2026 package clarity refresh */
.badge.popular{background:#fbf5dc;color:#7b5a12;border:1px solid rgba(198,156,61,.35)}.compare-table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:14px}.compare-table th,.compare-table td{border-bottom:1px solid #e8f0ea;padding:13px;text-align:center}.compare-table th:first-child,.compare-table td:first-child{text-align:left;font-weight:850;color:var(--pine)}.compare-table th{background:#f3faf5;color:var(--pine)}.price-calc{margin-top:28px}.card.selectable{cursor:default}.est-out .chip{min-height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}@media(max-width:1040px){}@media(max-width:760px){.compare-table{font-size:14px}.compare-table th,.compare-table td{padding:10px 8px}}


/* Package alignment polish */
@media (min-width:1041px){
  
  
  
  
  
  
  
	  
	  
	  
	  
  
}

/* Packages page energy refresh: consistent brand, stronger hierarchy */
.about-hero .wrap{padding-bottom:30px!important;}
.about-hero h1{margin-top:34px!important;}
#packages{padding-top:28px;}


#packages > h2{
  font-size:clamp(30px,3.6vw,48px)!important;
  line-height:1;
  letter-spacing:-.04em;
  margin-bottom:10px!important;
}


.badge{background:#0b3b25!important;color:#fff!important;}
.badge.popular{background:#c69c3d!important;color:#153324!important;border-color:#c69c3d!important;}


@media(max-width:760px){
  .about-hero .wrap{padding-bottom:24px!important;}
  #packages{padding-top:18px;}
  
  
}

/* Packages page refined refresh:, consistent, not flashy */


/* August 2026 customer-simplicity refresh — preserves Mainely Stripes visual system */
.simple-path{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:stretch;margin:26px 0 34px}
.simple-step{background:#fff;border:1px solid #d9e8de;border-radius:16px;padding:22px;box-shadow:0 12px 28px rgba(12,59,46,.07)}
.simple-step .step-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--sea);margin-bottom:7px}
.simple-step h3{margin:0 0 8px;color:var(--pine);font-size:24px}
.simple-step p{margin:0;color:#56675d;line-height:1.5}
.simple-arrow{align-self:center;font-size:30px;font-weight:900;color:var(--gold)}


@media(max-width:760px){.simple-path{grid-template-columns:1fr}.simple-arrow{transform:rotate(90deg);justify-self:center}}

/* August 2026 compact decision-flow refinement */


.step-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.step-summary-item{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 12px;text-align:left;}
.step-summary-num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:#0b3b25;font-weight:950;margin-bottom:8px;}
.step-summary-item strong{display:block;color:#fff;font-size:16px;line-height:1.15;margin-bottom:3px;}
.step-summary-item span{display:block;color:#dcece3;font-size:13px;font-weight:700;line-height:1.3;}


@media(max-width:1040px){.step-summary{max-width:560px;width:100%;margin:0 auto}}
@media(max-width:560px){.step-summary{grid-template-columns:1fr}}


/* August 2026 compact package-card + decision-summary refinement */


@media(max-width:1040px){}
@media(max-width:560px){}
/* Ensure nested decision labels retain intended contrast inside the dark rate card. */


/* Seasonal top accents are subtle and equal-weight */


/* Small decorative seasonal corner treatment */


/* Season pills */


/* Stack nickname + real service name vertically */


/* Small seasonal underline, like approved concept */


/* Keep pricing block visually separated below title */


/* Equal availability treatment */


@media(max-width:760px){
  
  
  
}


/* ========================================================================
   PACKAGES PAGE — CURRENT COMPONENTS
   One source of truth for area and seasonal service cards.
   ======================================================================== */
:root{--ms-ink:#073f2b;--ms-pine:#0c3b2e;--ms-sea:#1f6f5e;--ms-muted:#56675d;--ms-line:#d9e4dc;--ms-soft:#f6faf7;--ms-spring:#4f8f54;--ms-fall:#cf6f28}
#packages{padding-top:34px}#packages h2{margin-top:34px}#packages > h2:first-child{margin-top:0}

.package-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  align-items:stretch;
  scroll-margin-top:20px;
}
.package-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  scroll-margin-top:20px;
  overflow:hidden;
  background:#fff;
  border:1.5px solid var(--ms-line);
  border-radius:22px;
  box-shadow:0 14px 34px rgba(12,59,46,.08);
  transition:box-shadow .18s ease,transform .18s ease;
}
.package-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(12,59,46,.11);
}
.spring-card{
  border-color:#6ea66f;
}
.fall-card{
  border-color:#ea7a2f;
}

.package-head{
  position:relative;
  min-height:340px;
  padding:24px 26px 20px;
  isolation:isolate;
  background:linear-gradient(120deg,#fff 0%,#fff 58%,#fbfdfb 100%);
  border-bottom:1px solid var(--ms-line);
}
.package-body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:16px;
  padding:20px 24px 22px;
}
.package-head > *:not(.season-art){
  position:relative;
  z-index:2;
}
.season-art{
  position:absolute;
  z-index:1;
  right:0;
  top:0;
  object-fit:contain;
  object-position:right top;
  filter:saturate(.96) contrast(1.02);
  pointer-events:none;
  user-select:none;
}
.spring-card .season-art{
  width:52%;
  height:96%;
  top:7px;
  right:-3.5%;
  object-position:right bottom;
  opacity:.94;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%);
}
.fall-card .season-art{
  width:51%;
  height:76%;
  top:0;
  right:-1%;
  opacity:.96;
}

.badge{
  display:inline-flex;
  width:max-content;
  padding:7px 12px;
  border-radius:999px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  font-weight:900;
}
.spring-card .badge{
  background:linear-gradient(180deg,#5f9b58,#3f7f4d)!important;
}
.fall-card .badge{
  background:linear-gradient(180deg,#ff7a24,#ea5f0b)!important;
}

.service-title{
  max-width:76%;
  margin:16px 0 16px;
}
.service-nickname{
  margin:0;
  color:var(--ms-ink);
  font-size:clamp(31px,3vw,44px);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:950;
}
.service-formal{
  margin-top:6px;
  color:var(--ms-ink);
  font-size:20px;
  line-height:1.2;
  font-weight:850;
}
.service-formal::after{
  content:"";
  display:block;
  width:36px;
  height:2px;
  margin-top:10px;
  border-radius:2px;
}
.spring-card .service-formal::after{background:var(--ms-spring)}
.fall-card .service-formal::after{background:var(--ms-fall)}

.package-price{
  margin-top:4px;
  color:var(--ms-pine);
  font-size:36px;
  line-height:1.05;
  letter-spacing:-.03em;
  font-weight:950;
}
.package-price small{
  display:block;
  margin-top:5px;
  color:#5c6b62;
  font-size:13px;
  line-height:1.35;
  letter-spacing:0;
  font-weight:750;
}
.visit-pill{
  display:inline-flex;
  width:max-content;
  margin-top:10px;
  padding:6px 10px;
  border-radius:999px;
  font-size:13px;
  font-weight:850;
}
.spring-card .visit-pill{
  border:1px solid #cfe4d4;
  background:#eef8f1;
  color:#0b3b25;
}
.fall-card .visit-pill{
  border:1px solid #f3c9aa;
  background:#fff3ea;
  color:#8b3b0d;
}

.package-row{
  border-top:1px solid #edf4ef;
  padding-top:14px;
}
.package-row:first-child{
  border-top:0;
  padding-top:0;
}
.plain-fit{
  margin-bottom:7px;
  color:#0b3b25;
  font-size:19px;
  line-height:1.28;
  font-weight:900;
}
.plain-summary{
  margin:0;
  color:#4e6257;
  font-size:15px;
  line-height:1.5;
}
.package-row h4{
  margin:0 0 7px;
  color:var(--pine);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.package-row ul{
  margin:0;
  padding-left:20px;
}
.package-row li{
  margin:5px 0;
  line-height:1.38;
}

.technical-details{
  margin-top:11px;
  padding:12px 14px;
  border-radius:14px;
}
.technical-details summary{
  cursor:pointer;
  font-weight:850;
}
.technical-details p{
  margin:8px 0 0;
  line-height:1.48;
}
.spring-detail{
  border:1px solid #d9eadf;
  background:#f4faf6;
}
.spring-detail summary{
  color:#17653e;
}
.fall-detail{
  border:1px solid #f4c9ac;
  background:#fff5ed;
}
.fall-detail summary{
  color:#d95d0b;
}

.outcome{
  margin-top:auto;
  padding:13px 15px;
  border-radius:14px;
  line-height:1.4;
  font-weight:700;
}
.spring-outcome{
  border:1px solid #d9eadf;
  background:#f4faf6;
  color:#17351f;
}
.fall-outcome{
  border:1px solid #f4c9ac;
  background:#fff5ed;
  color:#8b3b0d;
}
.spring-outcome strong{
  color:#17653e;
}
.fall-outcome strong{
  color:#ed640d;
}

@media(max-width:1040px){
  .package-grid{
    grid-template-columns:1fr;
  }
  .package-card{
    max-width:760px;
    margin:0 auto;
    width:100%;
  }
  .package-head{
    min-height:330px;
  }
}
@media(max-width:760px){
  .package-head{
    min-height:292px;
    padding:20px;
  }
  .package-body{
    padding:18px;
  }
  .package-price{
    font-size:32px;
  }
  .season-art{
    opacity:.88;
  }
  .spring-card .season-art{
    width:51%;
    height:65%;
    top:18px;
    right:-5%;
  }
  .fall-card .season-art{
    width:49%;
    height:58%;
    right:-2%;
  }
  .service-title{
    max-width:78%;
  }
  .service-nickname{
    font-size:31px;
  }
}

.compare-section,.evaluation-cta{margin-top:28px;padding:26px;border:1px solid #e2eee5;border-radius:22px;background:#fff;box-shadow:0 14px 32px rgba(12,59,46,.08)}.size-control{margin:16px 0;padding:16px;border:1px solid #e2eee5;border-radius:16px;background:#f7fbf8}.size-control label{display:block;margin-bottom:10px;color:var(--pine);font-weight:850}.size-control input{width:100%;accent-color:#0b3b25}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.price-grid .chip{min-height:58px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px}.price-grid .chip span{font-size:24px}.helper-note{margin-top:20px;padding:15px 17px;border:1px solid #e2eee5;border-radius:16px;background:#f7fbf8;color:#43564b}.evaluation-cta{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;background:#0b3b25;color:#fff}.evaluation-cta h2{margin:0 0 8px;color:#fff}.evaluation-cta p{margin:0;color:#d8eee6;font-weight:650;line-height:1.55}.evaluation-cta .btn{white-space:nowrap}
@media(max-width:1040px){.package-grid,.evaluation-cta{grid-template-columns:1fr}.package-card{max-width:760px;margin:0 auto;width:100%}}
@media(max-width:760px){#packages{padding-top:22px}.compare-section,.evaluation-cta{padding:20px}.price-grid{grid-template-columns:1fr}.package-body{padding:18px}.package-price{font-size:32px}.service-nickname{font-size:32px;max-width:78%}.evaluation-cta .btn{width:100%;text-align:center}}
