/* Coastal jungle theme; map colours retain their own category meanings. */
:root{--ink:#193f36;--muted:#4e665c;--paper:#f8f5e9;--soft:#e9eddf;--line:#d6dccb;--accent:#96602f}
body{background-color:var(--paper);background-image:radial-gradient(#5f75470a .6px,transparent .6px);background-size:5px 5px}
header{background:#123e35;color:#faf6e5;border-bottom:1px solid #43736b}.brand svg{stroke:#cfe1aa;width:44px}.brand small{color:#c6d9c9}.header-inner nav a{color:#e5eee4}.header-inner nav a:hover{color:#ffdc9e}.header-inner nav a[aria-current]{color:#ffdc9e;border-color:#edbf77}
.restaurant-nav{background:#e2e8d5;border-color:#cbd5bc;box-shadow:0 4px 15px #173b2510}.restaurant-nav a:hover{background:#d5dfc8}.restaurant-nav a[aria-current]{background:#17564e;border-color:#17564e;color:white}.restaurant-nav-label{color:#506c48}
.hero{max-width:none;display:grid;grid-template-columns:1.12fr 1fr;padding:0;margin:34px 0 32px;background:#fffdf4;border:1px solid #d7decc;border-radius:12px;overflow:hidden;min-height:315px;box-shadow:0 9px 30px #213f2410}.hero-copy{padding:40px 36px;position:relative;z-index:1;align-self:center}.hero h1{font-size:clamp(40px,4.2vw,59px);line-height:1.06;margin:16px 0 20px;color:#16493f}.hero p{font-size:17px;line-height:1.65;color:#4e665c;max-width:540px}.eyebrow{color:#826130;letter-spacing:2.2px}.hero-scene{position:relative;min-height:315px;background:#0d8c95 url('/images/coastal-jungle-hero.webp') center center/cover no-repeat}.hero-scene:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffdf426,transparent 18%)}.hero-scene>span{position:absolute;z-index:1;bottom:14px;right:16px;background:#103e36de;color:#f8edce;padding:5px 10px;border-radius:3px;font:10px/1.5 Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.notice{background:#e7eddb;border-left-color:#6b8544;border-radius:0 7px 7px 0}.restaurants{gap:24px}.restaurant{border-radius:10px;overflow:hidden;border-color:#cdd9c1;box-shadow:0 3px 12px #2747290a}.restaurant:hover{box-shadow:0 10px 28px #163e2824}.card-art{background-color:#124e48;background-image:radial-gradient(ellipse at 10% 100%,#a6ba6b80,transparent 60%),linear-gradient(145deg,#193e2b,#1b8d92);color:#fcf4dc}.card-art>span{font-size:68px}.art-1{background-color:#597043;background-image:linear-gradient(140deg,#304f31,#8d9b61)}.art-2{background-image:linear-gradient(140deg,#164e53,#3c999a)}.art-3{background-image:linear-gradient(140deg,#006d82,#65b5ad)}.art-4{background-image:linear-gradient(140deg,#294a2e,#73824b)}.art-lines{border-radius:0 100% 0 100%;width:230px;height:110px;transform:rotate(-25deg);opacity:.22;left:-10px;bottom:-8px;border-width:2px}.art-lines:before,.art-lines:after{border-radius:0 100% 0 100%;border-width:2px}.card-body{background:#fffdf4}.card-body h2 span{color:#36877b}.card-bottom{color:#256356;border-color:#d9dfce}
.restaurant-meta{background:#fffdf4;border:1px solid #d4decb;border-radius:8px;padding:20px 24px;box-shadow:0 3px 12px #27472908}.restaurant-meta b{color:#6b7d50}.menu-grid{gap:28px;align-items:stretch}.menu-section{background:#fffdf7;border:1px solid #d7dece;border-top:3px solid #307c70;border-radius:8px;padding:26px}.menu-section h2{color:#215849}.dish:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.dish{border-color:#e1e4d7}.extra{background:#f0e8ce;border-top-color:#a78341}.price{color:#8b5725}.menu-context{padding-left:4px}.bar-group h2,.pizza-heading h2{color:#215849}.table-wrap{border-radius:8px;overflow:hidden}thead{background:#17564e}tbody tr:nth-child(even){background:#edf1e4}tbody tr{background:#fffdf7}.hours-note{border-radius:7px;background:#e7eddb}.booking{border-color:#c8d5be}.booking h2{color:#215849}.royal{border-color:#c8d5be}.button{background:#17564e;border-radius:5px}
.map-zoom button,.map-view-tabs button,.map-clear{border-radius:5px;background:#edf0e1;border-color:#ccd7c0}.map-view-tabs button[aria-selected="true"]{background:#17564e;border-color:#17564e}.map-location-picker,.park-routes{background:#e6ecda;border-radius:8px;border-color:#cdd8c0}.park-directory{border-radius:8px;background:#fffdf4}.map-viewport,#park-viewport{border-radius:7px}.map-tooltip{background:#fffef8;border-color:#bdd1b8;box-shadow:0 8px 30px #123d3530}.map-tooltip .map-close{border-radius:5px}.map-hours-note{background:#e7eddb;border-color:#64823b}.table-note{color:#52685d}
footer{max-width:none;margin:0;padding:30px max(32px,calc((100vw - 1176px)/2)) 40px;background:#123e35;color:#c7dbcb;border-top:4px solid #6b8c55}footer strong{color:#f7edcb}footer a{color:#d6e9c0}footer div{max-width:1176px}
@media(max-width:950px){.hero{grid-template-columns:1.1fr 1fr}.hero-copy{padding:30px 26px}.hero h1{font-size:45px}.hero p{font-size:16px}.hero-scene{min-height:300px}footer{margin:0}}
@media(max-width:620px){.brand svg{width:36px}.header-inner{padding:16px}.hero{display:flex;flex-direction:column;margin:22px 0 26px;min-height:0;border-radius:9px}.hero-copy{padding:25px 23px;width:100%}.hero h1{font-size:38px;margin:13px 0 15px;overflow-wrap:normal}.hero p{font-size:16px}.hero-scene{width:100%;height:150px;min-height:150px;background-position:center 37%;background-size:cover}.hero-scene>span{font-size:9px;bottom:10px;right:10px}.menu-section{padding:20px}.menu-grid{gap:22px}.restaurant-meta{padding:16px 20px}.table-wrap{overflow:visible;border-radius:0}tbody tr{background:#fffdf7!important}.card-art{height:120px}.park-directory{padding:14px}.park-layout{gap:18px}footer{margin:0;padding:26px 20px 32px}.map-touch-help{color:#245e50}.hero+.map-page-nav{margin-top:0}}
@media print{.hero-scene{display:none}.hero{display:block;border:0;box-shadow:none;margin:0}.hero-copy{padding:0}.menu-section{border:0;padding:15px 0}}
.menu-grid{align-items:start}
@media(max-width:620px){.hero-scene{background-position:center 10%}}
.hero-scene{background-position:75% center}.table-wrap{overflow:auto}@media(max-width:620px){.hero-scene{background-position:center 10%}.table-wrap{overflow:visible}}

/* Planned departure uses Ottawa local time, regardless of the visitor's timezone. */
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;padding-top:18px;padding-bottom:18px}.header-inner>nav{justify-self:end}.departure-countdown{text-align:center;min-width:260px;color:#f9f2da}.departure-route{font:700 11px/1.4 Arial,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#dce7bb;margin-bottom:6px}.departure-route span{padding:0 5px;color:#edbf77}.departure-clock{display:flex;justify-content:center;gap:18px;font-variant-numeric:tabular-nums}.departure-clock>span{display:flex;flex-direction:column;min-width:36px}.departure-clock b{font:normal 27px/1 Georgia,serif;color:#fff5d9}.departure-clock small{font:9px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.7px;margin-top:3px;color:#cbdccc}.departure-date{font:10px/1.4 Arial,sans-serif;margin-top:6px;color:#e7eddc}.departure-date>span{display:block;font-size:9px;color:#b9cdbc;margin-top:2px}
@media(min-width:951px) and (max-width:1150px){.header-inner{gap:14px;padding-left:24px;padding-right:24px}.header-inner .brand{font-size:21px}.header-inner .brand svg{width:34px}.header-inner nav{gap:14px}.departure-countdown{min-width:230px}.departure-clock{gap:13px}}
@media(max-width:950px){.header-inner{grid-template-columns:1fr auto;gap:16px}.header-inner>nav{grid-column:1/-1;justify-self:stretch;justify-content:center;gap:30px;margin-top:0}.departure-countdown{min-width:245px}.departure-clock{gap:16px}}
@media(max-width:620px){.header-inner{grid-template-columns:1fr;padding:16px;gap:14px}.header-inner .brand{justify-self:center}.departure-countdown{justify-self:center;min-width:260px;border-top:1px solid #668b6759;border-bottom:1px solid #668b6759;padding:12px 0;width:100%}.departure-clock{gap:24px}.departure-clock b{font-size:28px}.departure-date>span{display:inline;margin-left:6px}.departure-date>span::before{content:'· ';}.header-inner>nav{grid-column:auto;gap:8px!important;justify-content:space-between}.header-inner nav a{padding:5px;min-height:40px}}
