/* A visible set of actions, using the site's green and the price accent gold. */
.recruit-banner.wrap{width:min(1024px,calc(100% - 80px));margin:48px auto}
.recruit-banner>a{display:block;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}
.recruit-banner img{display:block;width:100%;height:auto}
.recruit-banner-caption{display:none}
.recruit-banner>a:hover{border-color:var(--orange);box-shadow:0 3px 12px #254d4012}
.recruit-banner>a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.fast-lane{
 --quick-ink:#254d40;
 --quick-line:#8aa591;
 --quick-green:#285d49;
 --quick-surface:#e8efe6;
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
 min-height:66px;
 padding:6px max(24px,calc((100% - 1160px)/2));
 background:var(--quick-surface);
 border-top:1px solid #d4dfcf;
 border-bottom:1px solid #b9cbb9;
 box-shadow:0 4px 12px #284b3510;
}
.fast-lane>a,.fast-lane>a+a{
 display:flex;
 align-items:center;
 justify-content:center;
 flex-direction:row;
 flex-wrap:nowrap;
 gap:14px;
 min-width:0;
 min-height:52px;
 padding:6px 16px;
 border:1.5px solid var(--quick-line);
 border-radius:5px;
 background:#fff;
 color:var(--quick-ink);
 box-shadow:0 2px 0 #b8c9b95c;
 font:900 16px/1.5 var(--body);
 letter-spacing:.025em;
 transition:background .18s,border-color .18s,box-shadow .18s;
}
.fast-lane .quick-icon{
 display:grid;
 place-items:center;
 flex:0 0 34px;
 width:34px;
 height:34px;
 border-radius:50%;
 background:#edf3e8;
 color:#3a6c53;
}
.fast-lane .quick-price .quick-icon{background:#faf0d8;color:#8c6b2d}
.fast-lane .quick-icon .icon{width:24px;height:24px;stroke-width:2.1}
.fast-lane .quick-icon .quick-price-icon{stroke-width:1.65}
.fast-lane .quick-label{white-space:nowrap}
.fast-lane>.quick-booking{
 background:var(--quick-green);
 border-color:var(--quick-green);
 color:#fff;
 box-shadow:0 2px 0 #194c38;
}
.fast-lane>.quick-booking .quick-icon{background:#ffffff1f;color:#fff}
.fast-lane>a:hover{background:#f2f7ee;border-color:#376b4e;box-shadow:0 3px 0 #9fb79e80}
.fast-lane>.quick-booking:hover{background:#174b37;border-color:#174b37;box-shadow:0 3px 0 #123c2d}
.fast-lane>a:active{box-shadow:none;background:#e7f0e1}
.fast-lane>.quick-booking:active{background:#123f2e}
.fast-lane>a:focus-visible{outline:3px solid #b4913f;outline-offset:3px}
@media(max-width:1000px) and (min-width:651px){
 .fast-lane{padding:6px 24px;gap:9px;min-height:66px}
 .fast-lane>a,.fast-lane>a+a{padding:6px 11px;gap:9px;font-size:13px;min-height:52px}
 .fast-lane .quick-icon{flex-basis:36px;width:36px;height:36px}
 .fast-lane .quick-icon .icon{width:25px;height:25px}
}
@media(max-width:650px){
 .recruit-banner.wrap{width:calc(100% - 32px);margin:28px auto}
 .recruit-banner-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;color:var(--orange);font:700 12px/1.5 var(--body)}
 .recruit-banner-caption>span{display:flex;align-items:center;gap:5px}
 .recruit-banner-caption svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
 .recruit-banner>a:active{background:var(--mint)}
 .fast-lane{display:none}
 .mobile-contact{
  --mobile-action-green:#285d49;
  --mobile-action-ink:#254d40;
  --mobile-action-gold:#8c6b2d;
  --mobile-action-gold-bg:#faf0d8;
  --mobile-action-green-bg:#edf3e8;
  --mobile-action-line:#a6bcb0;
  --mobile-action-shadow:#254d4012;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -4px 18px var(--mobile-action-shadow);
 }
 .mobile-contact>a{
  flex-direction:column;
  gap:3px;
  min-width:0;
  min-height:68px;
  padding:7px 4px;
  border:1px solid var(--mobile-action-line);
  border-radius:6px;
  color:var(--mobile-action-ink);
  font:700 12px/1.5 var(--body);
  letter-spacing:.02em;
  text-align:center;
  touch-action:manipulation;
  transition:background .15s,border-color .15s;
 }
 .mobile-contact .mobile-action-label{white-space:nowrap}
 .mobile-action-icon{
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--mobile-action-green-bg);
 }
 .mobile-action-icon svg{
  display:block;
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
 }
 .mobile-action-price .mobile-action-icon{color:var(--mobile-action-gold);background:var(--mobile-action-gold-bg)}
 .mobile-contact>.mobile-action-booking{color:#fff;background:var(--mobile-action-green);border-color:var(--mobile-action-green)}
 .mobile-action-booking .mobile-action-icon{color:#fff;background:#ffffff20}
 .mobile-contact>a:active{background:var(--mobile-action-green-bg);border-color:var(--mobile-action-green)}
 .mobile-contact>.mobile-action-booking:active{background:var(--mobile-action-ink)}
 .mobile-contact>a:focus-visible{outline:3px solid var(--mobile-action-gold);outline-offset:2px}
 .footer{padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.fast-lane>a,.mobile-contact>a,.recruit-banner>a{transition:none}}
/* Desktop: the header hugs its availability button; the quick row is 2/3 of 66px. */
@media(min-width:651px){
 .header{height:44px;padding-block:0;border-bottom:0}
 .header>.logo img{max-height:44px;object-fit:contain}
 .header>.header-cta{height:44px;min-height:44px;padding-block:0;position:relative;isolation:isolate;background:transparent;box-shadow:none}
 /* Keep the row and click target at 44px; inset only the painted surface. */
 .header>.header-cta::before{content:"";position:absolute;inset:6px;border-radius:3px;background:var(--orange);z-index:-1;pointer-events:none;transition:background .2s}
 .header>.header-cta:hover::before{background:#173f3d}
 .fast-lane{height:44px;min-height:44px;padding-block:0;border-block:0}
 .fast-lane>a,.fast-lane>a+a{height:44px;min-height:44px;padding-block:0;box-shadow:none}
 .fast-lane .quick-icon{flex-basis:28px;width:28px;height:28px}
 .fast-lane .quick-icon .icon{width:22px;height:22px}
}

/* Keep five desktop links on one line without increasing the two header rows. */
@media(min-width:1001px){.header .nav{white-space:nowrap}}
@media(min-width:1001px) and (max-width:1400px){.header .group-label{display:none}.header{gap:14px}.header .nav{gap:14px}}

/* Phone stays within one tap on mobile and within the compact PC action row. */
@media(min-width:651px){
 .fast-lane{grid-template-columns:repeat(4,minmax(0,1fr))}
 .quick-phone .quick-label{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.2}
 .quick-phone .quick-label>span{font-size:11px}
 .quick-phone .quick-label>strong{font:700 clamp(12px,1.2vw,15px)/1.2 var(--body);letter-spacing:.01em}
}
@media(max-width:650px){
 .mobile-contact{grid-template-columns:.85fr .85fr 1.15fr 1.15fr}
 .mobile-action-phone .mobile-action-icon{color:var(--mobile-action-green);background:var(--mobile-action-green-bg)}
}
@media(max-width:374px){.mobile-contact>a{font-size:11px}}

@media(min-width:651px) and (max-width:850px){
 .fast-lane>a,.fast-lane>a+a{padding-inline:5px;gap:5px;font-size:12px}
 .fast-lane .quick-icon{flex-basis:22px;width:22px;height:22px}
 .fast-lane .quick-icon .icon{width:18px;height:18px}
 .fast-lane .quick-label{letter-spacing:0}
}
