:root{--ink:#15352d;--green:#087d58;--mint:#dff4ea;--cream:#f7f4ec;--orange:#ff6a3d;--line:#d8ded8}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,sans-serif;background:#fff}header{height:78px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}.brand{display:flex;gap:10px;align-items:center}.brand i{font-style:normal;background:var(--orange);color:white;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-weight:bold}.brand span{display:flex;flex-direction:column}.brand small{font-size:8px;letter-spacing:.16em}nav{display:flex;gap:20px;font-size:13px;font-weight:bold}.hero{display:grid;grid-template-columns:1.3fr .7fr;background:var(--cream);min-height:560px}.hero>div{padding:90px 8vw}.hero small,.prices small,.panel>small{color:var(--green);font-weight:bold;letter-spacing:.15em}.hero h1,.title h2,.panel h2,.admin h1{font:normal 58px/1 Georgia,serif;margin:20px 0}.hero h1 em{color:var(--green)}.hero p{font-size:18px;line-height:1.6;max-width:620px}.button,button{display:inline-block;background:var(--orange);color:white;border:0;padding:15px 20px;font-weight:bold;margin-top:15px;cursor:pointer}.hero aside{background:var(--green);color:white;padding:90px 5vw;display:flex;flex-direction:column;gap:22px}.hero aside b{font:28px Georgia,serif}.prices{padding:80px 7vw}.title{text-align:center;max-width:760px;margin:auto}.title h2{font-size:44px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}.cards article{border:1px solid var(--line);padding:24px;min-height:230px;display:flex;flex-direction:column}.cards h3{font-size:20px}.cards p{color:#61716a;line-height:1.5}.cards strong{font:38px Georgia,serif;color:var(--orange);margin-top:auto}.cards span{font-size:11px;color:#65736d}.business{background:var(--ink);color:white;margin-top:14px;padding:24px}.business b{font:24px Georgia,serif}.business p{color:#bdd0c8}.forms{display:grid;grid-template-columns:1fr 1fr}.panel{padding:65px 5vw;background:var(--cream)}.panel.dark{background:var(--ink);color:white}.panel h2{font-size:40px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid label,.login label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:bold}.grid input,.grid select,.grid textarea,.login input,.job select{padding:12px;border:1px solid #bdc9c2;background:white;color:var(--ink);width:100%}.wide{grid-column:1/-1}.rule{padding:14px;border-left:4px solid var(--orange);background:#ffffff1b;font-size:13px}.flash{position:fixed;top:90px;right:25px;padding:18px;background:var(--green);color:white;z-index:5}.flash.error{background:#a52a2a}footer{padding:40px 6vw;background:#091f1a;color:white;display:flex;justify-content:space-between}.login{min-height:100vh;display:grid;place-items:center;background:var(--cream)}.login form{background:white;padding:40px;width:min(420px,90vw);display:grid;gap:18px}.login h1{font:38px Georgia,serif}.admin{padding:50px 6vw}.job{border:1px solid var(--line);padding:20px;margin:14px 0}.job form{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.job button{margin:0}.table p{display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding:12px}.table span{color:#65736d;font-size:13px}@media(max-width:850px){header nav a:not(:nth-last-child(-n+2)){display:none}.hero,.forms{grid-template-columns:1fr}.hero>div,.hero aside{padding:60px 24px}.cards{grid-template-columns:1fr 1fr}.prices{padding:60px 24px}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.job form{grid-template-columns:1fr}.hero h1{font-size:48px}}@media(max-width:500px){.cards{grid-template-columns:1fr}.title h2{font-size:36px}}
.location-box{border:1px solid #c8d3cf;padding:16px;border-radius:10px}.location-box p{margin:6px 0 10px}.location-box button{width:auto;margin-right:10px}.location-status{display:inline-block;margin-top:8px;font-size:.9rem}
.pac-container{z-index:10000;font-family:inherit}
.account-callout{padding:22px;background:#eef8f3;border-left:4px solid #087d58}.account-callout b{font-size:20px}.account-callout p{line-height:1.6}.account-page{align-items:start}
.product-buy{display:block;margin-top:14px;text-align:center;font-size:13px;padding:11px 8px}.cards article{transition:transform .2s,box-shadow .2s}.cards article:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00000012}

/* Mobile slide-out navigation */
.menu-toggle,.menu-overlay{display:none}
@media(max-width:850px){
  header{height:68px;padding:0 20px;position:sticky;top:0;background:#fff;z-index:1000}
  header nav{display:flex;position:fixed;top:0;right:0;width:min(82vw,340px);height:100dvh;padding:92px 28px 35px;background:var(--ink);color:#fff;flex-direction:column;align-items:stretch;gap:0;transform:translateX(105%);transition:transform .28s ease;z-index:1100;overflow-y:auto;box-shadow:-16px 0 40px #0004}
  header nav a,header nav a:not(:nth-last-child(-n+2)){display:block;padding:17px 4px;border-bottom:1px solid #ffffff24;font-size:15px}
  .menu-toggle{display:grid;width:46px;height:46px;padding:11px;margin:0;border-radius:4px;place-content:center;gap:5px;position:relative;z-index:1200;background:var(--green)}
  .menu-toggle span{display:block;width:23px;height:2px;background:#fff;transition:transform .25s,opacity .2s}
  .menu-overlay{display:block;position:fixed;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;background:#071a1599;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;z-index:1050}
  .menu-open{overflow:hidden}
  .menu-open header nav{transform:translateX(0)}
  .menu-open .menu-overlay{opacity:1;visibility:visible}
  .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-open .menu-toggle span:nth-child(2){opacity:0}
  .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero h1,.admin h1{font-size:42px}
  .panel,.admin{padding:42px 20px}
  footer{padding:32px 20px;flex-direction:column;gap:12px}
  input,select,textarea,button{font-size:16px}
}
@media(max-width:420px){
  .brand span small{display:none}
  .hero h1,.admin h1{font-size:36px}
  .hero>div,.hero aside,.prices{padding-left:18px;padding-right:18px}
  .panel,.admin{padding-left:16px;padding-right:16px}
  .flash{left:15px;right:15px;top:78px}
}
