@import url('https://use.typekit.net/ery5wxo.css');
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@500;600;700&display=swap');
#tmr-todo-guide{--ink:#213d3b;--teal:#007980;--deep:#095f64;--muted:#62716c;--paper:#fff;--line:#dce2d9;--coral:#e97554;--mint:#e8efe7;font-family:'Barlow',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;padding:1px 0 48px;}
@scope (#tmr-todo-guide) {

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%;object-fit:cover}p,figure,h1,h2,h3,h4{margin:0}h1,h2,h3{font:400 38px/1.1 'p22-mackinac-pro',Georgia,serif;letter-spacing:-.6px}h4{font-size:18px}.wrap{width:min(1180px,calc(100% - 80px));margin:auto}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:4px}.experience:focus,#partner-results:focus{outline:none}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:137px;height:auto}.site-header nav{display:flex;gap:30px;font-size:13px}.site-header nav a{text-decoration:none;padding:14px 0}.current{border-bottom:1px solid var(--teal)}
.hero{position:relative;isolation:isolate;min-height:330px;display:flex;align-items:center;border-radius:8px;overflow:hidden;background:var(--deep);color:#fff;padding:40px 46px}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-position:center 52%;z-index:-2}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#092f33e8,#092f33ad 48%,#092f3320)}.hero-copy{max-width:640px}.hero h1{font-size:clamp(40px,4.7vw,62px);line-height:1.04;letter-spacing:-1.3px}.intro{font-size:16px;line-height:1.65;max-width:570px;margin-top:12px;color:#fff}
.choose{padding-top:38px;padding-bottom:36px}.section-heading{display:block;margin-bottom:23px}.section-heading h2{font-size:34px}.section-copy{font-size:13px;line-height:1.6;color:var(--muted);max-width:76ch;margin-top:10px}.experience-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.experience-choice{position:relative;isolation:isolate;overflow:hidden;text-align:left;border:0;border-radius:9px;background:var(--deep);color:#fff;padding:0;min-height:245px;aspect-ratio:3/2;transition:box-shadow .2s,transform .25s}.choice-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2;transition:transform .55s cubic-bezier(.2,.65,.3,1)}.experience-choice:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#102e311c 20%,#102e3140 42%,#102e31f2 100%)}.choice-status{position:absolute;top:12px;left:12px;border:1px solid #ffffff80;border-radius:30px;padding:5px 9px;background:#173c3bb0;color:#fff;font:600 10px 'Barlow',sans-serif;letter-spacing:.04em}.choice-copy{display:block;position:absolute;bottom:17px;left:15px;right:13px}.experience-choice strong{font:400 23px/1.08 'p22-mackinac-pro',Georgia,serif;display:block;letter-spacing:-.5px}.experience-choice small{font-size:11px;line-height:1.4;display:block;margin-top:9px;color:#f5eee0}.experience-choice[aria-pressed=true]{box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--teal)}.experience-choice[aria-pressed=true] .choice-status{background:#f8dba4;border-color:#f8dba4;color:#173c3b}@media(hover:hover){.experience-choice:hover .choice-photo{transform:scale(1.055)}.experience-choice:hover{transform:translateY(-3px)}}.experience-choice:focus-visible .choice-photo{transform:scale(1.055)}
.experience{border:1px solid var(--line);background:#f0f4ed;border-radius:12px;padding:32px 34px;scroll-margin-top:20px}.experience-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.experience-top h2{font-size:clamp(2.25rem,4vw,3.25rem);line-height:1.08}.editorial-copy{font-size:1.125rem;line-height:1.55;max-width:76ch;color:#455c59}.partners-heading{border-top:2px solid var(--line);margin-top:40px;padding-top:30px}.partners-heading h3{font:700 1.75rem/1.2 Barlow,sans-serif;letter-spacing:-.02em}#partners-context{font-size:1rem;line-height:1.55;color:var(--muted);margin-top:9px}.activity-options{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.activity-options button{border:1px solid #dce2dd;border-bottom:3px solid transparent;border-radius:6px 6px 0 0;background:#eef0ed;font-size:.9375rem;font-weight:500;padding:12px 16px;min-height:48px;color:#455653;transition:background .18s,border-color .18s}.activity-options button[aria-selected=true]{background:#fff;color:var(--teal);border-color:#dce2dd;border-bottom-color:var(--teal);font-weight:700}.activity-options button:hover{background:#e1e7e2;color:var(--deep)}.activity-options button[aria-selected=true]:hover{background:#fff}#partner-results{scroll-margin-top:24px}.partner-pages{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:25px;font-size:13px}.partner-pages button{border:1px solid #b4c8ba;border-radius:999px;background:#fff;padding:11px 20px;min-height:44px}
.directory{padding:45px 0}.directory-controls{display:flex;gap:12px}.search{display:flex;align-items:center;background:#fff;border:1px solid #ccd6ca;border-radius:4px;padding:0 16px;flex:1}.search input{width:100%;min-width:0;padding:14px 0;border:0;background:transparent;font-size:14px;outline-offset:0}.filter select{border:1px solid #ccd6ca;border-radius:4px;height:48px;padding:0 35px 0 15px;background:#fff;font-size:13px}.results-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px;min-height:25px;font-size:12px;color:var(--muted)}.text-button{background:none;border:0;padding:10px 0;font-size:12px;color:var(--teal);text-decoration:underline;text-underline-offset:5px}.directory-bottom{text-align:center;margin-top:27px}.secondary{background:none;border:1px solid #b4c8ba;padding:12px 24px;border-radius:999px;font-size:13px}.empty{padding:25px 0;grid-column:1/-1;color:var(--muted);font-size:14px}footer{border-top:1px solid var(--line);padding:25px 0 35px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:var(--muted)}.footer-brand{font-family:'p22-mackinac-pro',Georgia,serif;font-size:25px;text-decoration:none;color:var(--teal)}
[hidden]{display:none!important}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{display:block;padding:12px}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.experience-options{grid-template-columns:repeat(3,minmax(0,1fr))}.experience-choice{min-height:195px}.hero{padding:32px}.site-header nav{gap:20px}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.site-header{height:80px;gap:12px}.brand img{width:112px}.site-header nav{display:none}.hero{padding:26px 20px;min-height:310px;align-items:end}.hero h1{font-size:39px;letter-spacing:-1px}.hero:after{background:linear-gradient(0deg,#092f33ee,#092f33b0 65%,#092f3350)}.intro{font-size:14px;line-height:1.65;margin-top:10px}.choose{padding-top:28px;padding-bottom:28px}.section-heading{display:block;margin-bottom:20px}.section-heading h2{font-size:30px}.section-copy{font-size:13px;margin-top:10px}.experience-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.experience-choice{min-height:185px;aspect-ratio:auto}.experience-choice strong{font-size:21px}.experience-choice small{font-size:10px;margin-top:7px}.choice-copy{bottom:14px;left:12px;right:10px}.choice-status{top:10px;left:10px;font-size:9px}.experience{padding:23px 17px;width:calc(100% - 24px)}.experience-top{align-items:flex-start;margin-bottom:16px}.experience-top h2{font-size:2.125rem}.editorial-copy{font-size:1rem;line-height:1.55}.partners-heading{margin-top:30px;padding-top:24px}.partners-heading h3{font-size:1.5rem}.activity-options{gap:6px}.activity-options button{font-size:.875rem;padding:10px 12px;max-width:100%;text-align:left}.partner-pages{gap:10px;font-size:12px}.partner-pages button{padding:10px 15px}.directory{padding:30px 0}.directory-controls{flex-direction:column;gap:8px}.filter select{width:100%}footer{flex-wrap:wrap;gap:14px}.footer-brand{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.experience-choice:hover,.experience-choice:hover .choice-photo,.experience-choice:focus-visible .choice-photo{transform:none}}

/* The listing cards reproduce the 1.1.57 image, body, contact, and button treatment. */
.partner-list,.directory-list{display:grid;gap:20px;margin-top:20px}
.partner-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.directory-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.listing{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #e6efef;border-radius:18px;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.listing:hover{transform:translateY(-3px);border-color:#007980;box-shadow:0 18px 36px -22px #00798047}
.partner-list .preferred-listing{border:2px solid #e97554;box-shadow:0 0 0 4px #e9755414}
.partner-list .preferred-listing:hover{border-color:#e97554;box-shadow:0 18px 36px -22px #e9755466,0 0 0 4px #e975541f}
.listing-photo{position:relative;display:flex;align-items:center;justify-content:center;flex:none;aspect-ratio:4/3;overflow:hidden;background:#daebeb}
.listing-photo>img,.listing-gallery-image{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}
.listing:hover .listing-photo>img,.listing:hover .listing-gallery-image.is-active{transform:scale(1.04)}
.listing-photo.photo-placeholder{background:linear-gradient(135deg,#daebeb,#f1ded1)}
.listing-gallery{position:relative;width:100%;height:100%}
.listing-gallery-image{position:absolute;inset:0;opacity:0;transition:opacity .22s ease,transform .5s ease}
.listing-gallery-image.is-active{opacity:1}
.listing-gallery-controls{position:absolute;right:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:999px;background:#ffffffe9;backdrop-filter:blur(10px);box-shadow:0 10px 22px -18px #1a2b2c8c}
.listing-gallery-controls button{width:24px;height:24px;border:1px solid #e6efef;border-radius:50%;background:#fff;color:#1a2b2c;font-size:12px;line-height:1;cursor:pointer}
.listing-gallery-controls button:hover{border-color:#007980;color:#007980}
.listing-gallery-count{min-width:30px;text-align:center;font:700 12px 'Barlow Condensed',Arial,sans-serif;letter-spacing:.08em;color:#007980}
.listing-body{display:flex;flex:1;flex-direction:column;gap:10px;padding:22px 22px 24px;text-align:left}
.listing h4{margin:0;color:#1a2b2c;font:600 22px/1.15 'p22-mackinac-pro',Georgia,serif;letter-spacing:-.005em;overflow-wrap:anywhere}
.listing h4 a{color:inherit;text-decoration:none}
.listing h4 a:hover{color:#007980}
.listing-bio{margin:4px 0 0;border-left:2px solid #e97554;padding-left:12px;color:#506364;font:400 14px/1.55 'Barlow',Arial,sans-serif}
.listing-bio--mobile{display:none}
.listing-read-more{color:#007980;font:600 12px 'Barlow Condensed',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.listing-read-more:hover{color:#005f65;text-decoration:underline}
.listing-contact{display:flex;flex-direction:column;gap:6px;margin-top:auto;padding-top:14px;border-top:1px dashed #e6efef;color:#506364;font:400 12px/1.45 'Barlow',Arial,sans-serif}
.listing-meta-row{display:flex;align-items:flex-start;gap:8px;min-width:0;overflow-wrap:anywhere}
.listing-meta-row svg{flex:none;width:14px;height:14px;margin-top:1px;color:#007980}
.listing-meta-row a{color:inherit;text-decoration:none}
.listing-meta-row a:hover{color:#007980;text-decoration:underline}
.listing-email-label{color:#007980;font-weight:600}
.listing-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.listing-actions a{display:flex;flex:1;align-items:center;justify-content:center;min-height:40px;padding:10px 12px;border-radius:999px;text-align:center;text-decoration:none;white-space:nowrap;text-transform:uppercase;letter-spacing:.1em;font:600 12px 'Barlow Condensed',Arial,sans-serif;transition:background .18s ease}
.listing-actions .listing-link{background:#007980;color:#fff}
.listing-actions .listing-link:hover{background:#005f65}
.listing-actions .website-link{border:1.5px solid #007980;color:#007980}
.listing-actions .website-link:hover{background:#daebeb}
.listing-actions .book-link{background:#e97554;color:#fff}
.listing-actions .book-link:hover{background:#d6643f}
@media(max-width:1100px){.partner-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.partner-list,.directory-list{grid-template-columns:1fr}}
@media(max-width:650px){.partner-list,.directory-list{gap:16px;margin-top:14px}.listing-body{padding:16px 16px 18px;gap:7px}.listing-bio{border-left:0;padding-left:0;line-height:1.5}.listing-contact{padding-top:10px}.listing-actions{gap:10px}.listing-actions a{min-height:44px;padding:10px}}
@media(max-width:560px){.listing-body{padding:14px 14px 16px}.listing-bio--desktop{display:none}.listing-bio--mobile{display:block}.listing-actions a{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.listing:hover,.listing:hover .listing-photo>img,.listing:hover .listing-gallery-image.is-active{transform:none}}

/* Keep the full directory available without repeating the activity results by default. */
.directory-disclosure { border:1px solid var(--line); border-radius:12px; background:#fff; }
.directory-disclosure>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 28px; cursor:pointer; list-style:none; border-radius:12px; }
.directory-disclosure>summary::-webkit-details-marker { display:none; }
.directory-disclosure>summary::after { content:''; width:10px; height:10px; flex:none; border-right:2px solid var(--teal); border-bottom:2px solid var(--teal); transform:rotate(45deg); margin:0 4px 6px; }
.directory-disclosure[open]>summary::after { transform:rotate(225deg); margin-bottom:0; }
.directory-disclosure>summary { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.directory-disclosure>summary h2 { font-size:1.75rem; line-height:1.2; }
.directory-content { padding:0 28px 28px; }
.directory-intro { font-size:.9375rem; line-height:1.6; color:var(--muted); margin-bottom:20px; }
@media(max-width:650px) {
 .directory-disclosure>summary { padding:20px 18px; gap:18px; }
 .directory-disclosure>summary h2 { font-size:1.375rem; }
 .directory-content { padding:0 14px 20px; }
}

/* The same disclosure treatment as the full directory, with a compact card browser. */
.local-species,.local-fish { margin-top:28px; }
.local-species>summary h3 { font-size:1.75rem; line-height:1.2; }
.species-content { padding:0 24px 24px; }
.species-tabs { margin:0 0 8px; padding-top:8px; justify-content:flex-start; }
.species-tabs button { font-size:.875rem; padding:12px 14px; }
.species-deck { position:relative; container-type:inline-size; width:100%; height:auto; aspect-ratio:2.45; min-height:180px; overflow:hidden; touch-action:pan-y pinch-zoom; user-select:none; }
.species-card { position:absolute; top:50%; left:50%; width:52%; aspect-ratio:3/2; margin:0; overflow:hidden; border-radius:12px; background:#dce7df; box-shadow:0 8px 18px #213d3b18; transform:translate(-50%,-50%); transition:transform .42s cubic-bezier(.22,.7,.25,1),opacity .3s,filter .3s; }
.species-card img { width:100%; height:100%; object-fit:cover; pointer-events:none; }
.species-card::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,#102e3120 55%,#102e31df 100%); pointer-events:none; }
.species-card figcaption { position:absolute; z-index:1; bottom:22px; left:24px; right:20px; color:#fff; font:400 clamp(1.4rem,3vw,2.25rem)/1.12 'p22-mackinac-pro',Georgia,serif; text-wrap:balance; pointer-events:none; }
.species-card:not([data-position="0"]):not([data-position="1"]):not([data-position="-1"]) { opacity:0; pointer-events:none; }
.species-card[data-position="0"] { z-index:3; }
.species-card[data-position="-1"] { z-index:2; transform:translate(-112%,-50%) rotate(-7deg) scale(.83); cursor:pointer; filter:brightness(.83); }
.species-card[data-position="1"] { z-index:2; transform:translate(12%,-50%) rotate(7deg) scale(.83); cursor:pointer; filter:brightness(.83); }
.species-card[data-position="-2"] { z-index:1; transform:translate(-145%,-50%) rotate(-12deg) scale(.65); opacity:0; pointer-events:none; }
.species-card[data-position="2"] { z-index:1; transform:translate(45%,-50%) rotate(12deg) scale(.65); opacity:0; pointer-events:none; }
.species-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:8px; }
.species-arrow { display:grid; place-items:center; width:46px; height:46px; padding:0; border:1px solid #b4c8ba; border-radius:50%; background:#fff; color:var(--teal); }
.species-arrow:active { transform:scale(.95); }
.species-arrow svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.species-dots { display:flex; align-items:center; }
.species-counter { min-width:64px; color:var(--teal); font-size:.9375rem; font-weight:600; font-variant-numeric:tabular-nums; text-align:center; }
.species-dots button { display:grid; place-items:center; width:32px; height:44px; padding:0; border:0; background:none; }
.species-dots span { width:7px; height:7px; background:#c3ceca; border-radius:50%; transition:width .2s,background .2s; }
.species-dots button[aria-current=true] span { width:21px; border-radius:8px; background:var(--teal); }
.species-card img[src$="grizzled-mantis.jpg"] { object-position:center 15%; }
.species-card img[src$="sheepshead.jpg"] { transform:scale(3); transform-origin:43% 40%; }
.species-card img[src$="spanish-mackerel.jpg"] { object-fit:contain; background:#234845; }
.species-card img[src$="tripletail.jpg"] { object-position:center 35%; }
@media(max-width:650px) {
 .local-species>summary h3 { font-size:1.375rem; }
 .species-content { padding:0 0 18px; }
 .species-tabs { margin:0 14px 8px; gap:6px; }
 .species-tabs button { font-size:.8125rem; padding:10px 12px; }
 .species-deck { aspect-ratio:1.65; min-height:0; }
 .species-card { width:76%; border-radius:9px; }
 .species-card figcaption { font-size:clamp(1.25rem,5vw,1.75rem); bottom:16px; left:16px; right:14px; }
 .species-card[data-position="-1"] { transform:translate(-103%,-50%) rotate(-8deg) scale(.86); }
 .species-card[data-position="1"] { transform:translate(3%,-50%) rotate(8deg) scale(.86); }
 .species-controls { gap:8px; margin-top:6px; }
 .species-dots button { width:28px; }
}

/* Shell specimens use compact, straight rows rather than the wildlife deck. */
.local-shells { margin-top:28px; }
.local-shells>summary h3 { font-size:1.75rem; line-height:1.2; }
.shell-content { padding:0 24px 20px; }
.shell-track { display:grid; grid-template-rows:repeat(2,auto); grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/4); gap:16px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; padding:4px 0 14px; }
.shell-track:focus-visible { outline:3px solid var(--coral); outline-offset:4px; }
.shell-item { scroll-snap-align:start; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:10px; background:#f7f6f0; border-radius:10px; padding:16px 12px 14px; text-align:center; min-width:0; }
.shell-item img { width:100%; height:126px; object-fit:contain; }
.shell-item figcaption { font:500 1rem/1.3 Barlow,sans-serif; min-height:2.6em; display:flex; align-items:center; justify-content:center; }
.shell-controls { display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }
.shell-track::-webkit-scrollbar { display:none; }
@media(max-width:900px) { .shell-track { grid-auto-columns:calc((100% - 32px)/3); } }
@media(max-width:650px) {
 .local-shells>summary h3 { font-size:1.375rem; }
 .shell-content { padding:0 14px 16px; }
 .shell-track { grid-auto-columns:44%; gap:10px; }
 .shell-item { padding:12px 8px 10px; gap:6px; }
 .shell-item img { height:94px; }
 .shell-item figcaption { font-size:.875rem; min-height:3.9em; }
 .shell-controls { margin-top:8px; }
}

/* Photo previews make the optional guides visible before they are expanded. */
.photo-guide { border:0; background:transparent; }
.directory-disclosure.photo-guide>summary { position:relative; isolation:isolate; display:flex; align-items:flex-end; width:min(100%,520px); aspect-ratio:16/9; padding:24px; overflow:hidden; color:#fff; background:var(--deep); border-radius:12px; }
.photo-guide>summary::after { display:none; }
.guide-preview>img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.guide-preview::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 25%,#102e3120 40%,#102e31ed 100%); }
.guide-preview-shelling>img { object-position:center 48%; }
.guide-preview-wildlife>img { object-position:center 48%; }
.guide-preview-copy { flex:1; min-width:0; }
.photo-guide>summary h3 { font-size:1.75rem; line-height:1.14; letter-spacing:-.4px; text-wrap:balance; }
.guide-preview-action { display:block; margin-top:10px; font-size:.9375rem; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.guide-toggle { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1px solid #ffffffa6; border-radius:50%; background:#163d3c55; }
.guide-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.guide-close-label,.photo-guide[open] .guide-open-label,.photo-guide[open] .guide-toggle-vertical { display:none; }
.photo-guide[open] .guide-close-label { display:inline; }
.photo-guide[open]>.species-content,.photo-guide[open]>.shell-content { margin-top:20px; border:1px solid var(--line); border-radius:12px; padding-top:16px; }
@media(max-width:650px) {
 .directory-disclosure.photo-guide>summary { padding:18px; aspect-ratio:16/10; }
 .photo-guide>summary h3 { font-size:1.375rem; }
 .guide-preview-action { font-size:.875rem; margin-top:8px; }
 .guide-toggle { width:40px; height:40px; }
}

/* Desktop photos fill the right side of the introduction. The copy determines
   the height; expanded native disclosures clear the columns below it. */
.experience-intro { display:flow-root; }
.experience-photo { width:min(100%,520px); aspect-ratio:16/9; margin-top:28px; overflow:hidden; border-radius:12px; background:var(--deep); }
.experience-photo>img { width:100%; height:100%; object-fit:cover; }
.experience-photo>img,.experience-intro .guide-preview>img { object-position:var(--intro-focus-mobile,center); }
.experience-choice { width:100%; min-width:0; }
@media(min-width:901px) {
 .section-copy { font-size:1rem; line-height:1.55; max-width:none; }
 .experience { border-color:#cdd7ca; }
 .experience-intro { margin:-32px -34px 0; }
 .experience-story { display:block; float:left; width:58%; min-height:240px; padding:32px 34px 26px; }
 .experience-top { margin-bottom:20px; }
 .editorial-copy { max-width:none; }
 .partners-heading { display:block; margin-top:16px; padding-top:28px; border-top-width:1px; }
 #partners-context { margin-top:9px; }
 .experience-intro>.photo-guide { margin-top:0; }
 /* Leave a narrow rim so photography never obscures the outer container edge. */
 .experience-intro>.photo-guide>summary,
 .experience-intro>.experience-photo { width:calc(42% - 3px); margin:3px 3px 0 auto; aspect-ratio:auto; height:calc(var(--intro-height,240px) - 3px); border-radius:0 8px 0 0; }
 .experience-intro>.photo-guide>summary { min-height:calc(var(--intro-height,240px) - 3px); height:auto; }
 .experience-photo>img,.experience-intro .guide-preview>img { object-position:var(--intro-focus-desktop,center); }
 .experience-intro>.photo-guide[open]>.species-content,
 .experience-intro>.photo-guide[open]>.shell-content { clear:both; margin:24px 34px 0; background:#fff; }
}
@media(min-width:1001px) {
 .choice-copy { bottom:22px; left:22px; right:20px; }
 .experience-choice strong { font-size:2rem; }
 .experience-choice small { font-size:.875rem; }
 .choice-status { font-size:11px; }
}

.copy-highlight { outline:2px dashed var(--teal); outline-offset:6px; }
#page-title { white-space:pre-line; }
.site-header nav .copy-editor-link { border:1px solid var(--line); border-radius:6px; padding:10px 12px; }
@media(max-width:650px) { .site-header nav { gap:12px; flex-wrap:wrap; justify-content:flex-end; } }
/* Paragraph gaps are smaller than a blank line, but distinct from wrapping. */
.copy-paragraphs { white-space:normal; }
.copy-paragraphs>p { margin:0; white-space:pre-line; }
.copy-paragraphs>p+p { margin-top:.65em; }

}

/* Keep this shortcode's editorial type independent of Avada's later global
   h1-h4 rules. Deliberate inline edits from the copy tool still take precedence. */
#tmr-todo-guide { font-weight:400; }
#tmr-todo-guide #page-title {
 font-family:'p22-mackinac-pro',Georgia,serif;
 font-size:clamp(40px,4.7vw,62px);
 font-style:normal;
 font-weight:400;
 line-height:1.04;
 letter-spacing:-1.3px;
 text-transform:none;
 color:#fff;
}
#tmr-todo-guide #choose-heading,
#tmr-todo-guide .experience-title,
#tmr-todo-guide #directory-heading {
 font-family:'p22-mackinac-pro',Georgia,serif;
 font-style:normal;
 font-weight:400;
 letter-spacing:-.6px;
 text-transform:none;
 color:#213d3b;
}
#tmr-todo-guide #choose-heading { font-size:34px; line-height:1.1; }
#tmr-todo-guide .experience-title { font-size:clamp(2.25rem,4vw,3.25rem); line-height:1.08; }
#tmr-todo-guide #directory-heading { font-size:1.75rem; line-height:1.2; }
#tmr-todo-guide .partners-heading h3 {
 font-family:'Barlow',Arial,sans-serif;
 font-size:1.75rem;
 font-style:normal;
 font-weight:700;
 line-height:1.2;
 letter-spacing:-.02em;
 text-transform:none;
 color:#213d3b;
}
#tmr-todo-guide .photo-guide h3 {
 font-family:'p22-mackinac-pro',Georgia,serif;
 font-size:1.75rem;
 font-style:normal;
 font-weight:400;
 line-height:1.14;
 letter-spacing:-.4px;
 text-transform:none;
 color:#fff;
}
#tmr-todo-guide .listing h4,
#tmr-todo-guide .listing h4 a {
 font-family:'p22-mackinac-pro',Georgia,serif;
 font-style:normal;
 font-weight:600;
 text-transform:none;
 color:#1a2b2c;
}
#tmr-todo-guide .listing h4 a:hover { color:#007980; }
#tmr-todo-guide .copy-paragraphs p { font-weight:400; }
#tmr-todo-guide .listing-contact { font-weight:400; }
@media(max-width:650px) {
 #tmr-todo-guide #page-title { font-size:39px; letter-spacing:-1px; }
 #tmr-todo-guide #choose-heading { font-size:30px; }
 #tmr-todo-guide .experience-title { font-size:2.125rem; }
 #tmr-todo-guide #directory-heading,
 #tmr-todo-guide .photo-guide h3 { font-size:1.375rem; }
 #tmr-todo-guide .partners-heading h3 { font-size:1.5rem; }
}

/* Keep the invitation beside the label, in the same blue as our logo. */
#tmr-todo-guide .guide-preview-action {
 display:inline-flex; align-items:center; justify-content:flex-start; gap:9px;
 margin-top:14px; min-height:44px; padding:6px 16px 6px 7px;
 border:1px solid #ffffff66; border-radius:999px;
 background:var(--teal); color:#fff; text-decoration:none;
 font-size:.9375rem; font-weight:600; line-height:1.2;
}
#tmr-todo-guide .guide-toggle {
 position:relative; width:30px; height:30px;
 border:1px solid #ffffffb3; border-radius:50%;
 background:var(--teal); color:#fff;
}
#tmr-todo-guide .guide-toggle svg { width:18px; height:18px; }
#tmr-todo-guide .guide-preview-action .guide-open-label,
#tmr-todo-guide .guide-preview-action .guide-close-label { position:relative; }
#tmr-todo-guide .photo-guide>summary:hover .guide-preview-action,
#tmr-todo-guide .photo-guide>summary:focus-visible .guide-preview-action { background:#00646a; }
@keyframes tmr-guide-plus-pulse {
 0%,70%,100% { transform:scale(1); box-shadow:0 0 0 0 #00798000; }
 32% { transform:scale(1.15); box-shadow:0 0 0 6px #00798080; }
}
@keyframes tmr-guide-ring-pulse {
 0% { transform:scale(.95); opacity:0; }
 12% { opacity:.95; }
 65%,100% { transform:scale(1.8); opacity:0; }
}
@media(prefers-reduced-motion:no-preference) {
 #tmr-todo-guide .photo-guide:not([open]):not([hidden]) .guide-toggle {
  animation:tmr-guide-plus-pulse 2.6s ease-in-out infinite;
 }
 #tmr-todo-guide .photo-guide:not([open]):not([hidden]) .guide-toggle::before {
  content:''; position:absolute; inset:-2px; border:2px solid var(--teal);
  border-radius:50%; pointer-events:none;
  animation:tmr-guide-ring-pulse 2.6s ease-out infinite;
 }
}
@media(prefers-reduced-motion:reduce) {
 #tmr-todo-guide .guide-toggle,
 #tmr-todo-guide .guide-toggle::before { animation:none!important; }
}

/* Progressive enhancement preserves real activity links and crawlable content. */
#tmr-todo-guide .experience-choice { display:block; text-decoration:none; }
#tmr-todo-guide .experience-choice[aria-current=true] { box-shadow:0 0 0 3px var(--paper),0 0 0 5px var(--teal); }
#tmr-todo-guide .experience-choice[aria-current=true] .choice-status { background:#f8dba4;border-color:#f8dba4;color:#173c3b; }
#tmr-todo-guide .experience-intro { scroll-margin-top:24px; }
#tmr-todo-guide.is-enhanced .species-category-heading { display:none; }
#tmr-todo-guide:not(.is-enhanced) .activity-options,
#tmr-todo-guide:not(.is-enhanced) .partner-pages,
#tmr-todo-guide:not(.is-enhanced) .directory-controls,
#tmr-todo-guide:not(.is-enhanced) .results-heading,
#tmr-todo-guide:not(.is-enhanced) .directory-bottom,
#tmr-todo-guide:not(.is-enhanced) .species-controls,
#tmr-todo-guide:not(.is-enhanced) .shell-controls { display:none; }
#tmr-todo-guide:not(.is-enhanced) .experience-intro+.experience-intro { margin-top:24px;border-top:1px solid var(--line); }
#tmr-todo-guide:not(.is-enhanced) .species-deck { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;aspect-ratio:auto;overflow:visible; }
#tmr-todo-guide:not(.is-enhanced) .species-category-heading { grid-column:1/-1; }
#tmr-todo-guide:not(.is-enhanced) .species-card { position:relative;top:auto;left:auto;width:100%;transform:none;opacity:1;pointer-events:auto; }
@media(max-width:650px) { #tmr-todo-guide:not(.is-enhanced) .species-deck { grid-template-columns:repeat(2,minmax(0,1fr)); } }

#tmr-todo-guide .species-category-heading { font:700 1.2rem/1.3 'Barlow',Arial,sans-serif;color:#213d3b;text-transform:none; }
