/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.grow{flex-grow:1}}.projectImage.uncropped img{object-position:45% center;object-fit:cover!important}.path.uncroppedPath{background:var(--deep)}.path.uncroppedPath img{object-position:center 45%;object-fit:cover!important}.catalogueVisual{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))!important}.catalogueVisual figure{aspect-ratio:1;background:var(--deep);margin:0;position:relative;overflow:hidden}.catalogueVisual figure img{transition:transform .45s}.catalogueVisual figure:hover img{transform:scale(1.04)}.catalogueVisual figcaption{font:italic .72rem var(--serif);letter-spacing:.02em;color:#fff;background:linear-gradient(#0000,#061a13d9);padding:26px 10px 8px;position:absolute;bottom:0;left:0;right:0}@media (width<=650px){.catalogueVisual{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.researchCopy>p:not(.lead){color:var(--muted);max-width:680px}.researchAdvantages{grid-template-columns:1fr 1fr;gap:0 22px;margin:28px 0;display:grid}.researchAdvantages span{border-top:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;padding:10px 0;font-size:.68rem;font-weight:800}@media (width<=650px){.researchAdvantages{grid-template-columns:1fr}}:root{--deep:#071e16;--forest:#12382b;--moss:#6f8b58;--sage:#adc59a;--sand:#dce6d8;--paper:#f1f5f0;--ink:#173128;--muted:#68736e;--line:#17312826;--serif:Georgia,"Times New Roman",serif;--side:clamp(22px,5vw,76px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;line-height:1.6}img{object-fit:cover;width:100%;height:100%;display:block}a{color:inherit;text-decoration:none}.eyebrow{letter-spacing:.2em;text-transform:uppercase;margin:0 0 16px;font-size:.7rem;font-weight:800}.olive{color:var(--moss)}.pale{color:var(--sage)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.045em;margin-top:0;font-weight:400}h2{margin-bottom:26px;font-size:clamp(2.7rem,5.2vw,5.5rem);line-height:.98}h3{font-size:2rem;line-height:1.05}.lead{color:var(--muted);font-size:clamp(1.05rem,1.45vw,1.3rem)}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.9rem 1.25rem;font-size:.84rem;font-weight:800;transition:all .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.cream{color:var(--deep);background:#fff}.forest{background:var(--forest);color:#fff}.glass{color:#fff;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#071e162b;border-color:#ffffff9c}.textLink{letter-spacing:.07em;text-transform:uppercase;align-self:center;font-size:.8rem;font-weight:800}.darkText{color:var(--forest)}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.siteHeader{z-index:50;height:92px;padding:0 var(--side);color:#fff;align-items:center;gap:28px;transition:all .25s;display:flex;position:fixed;top:0;left:0;right:0}.siteHeader:before{content:"";z-index:-1;background:linear-gradient(#061a13b8,#0000);transition:all .25s;position:absolute;inset:0}.siteHeader.scrolled{background:var(--deep);height:74px;box-shadow:0 5px 25px #0003}.siteHeader.scrolled:before{opacity:0}.brand{white-space:nowrap;align-items:center;gap:11px;font-weight:800;line-height:1.05;display:flex}.brand img{background:#fff;border-radius:50%;width:52px;height:52px;padding:2px}.brand span{flex-direction:column;display:flex}.brand small{letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-size:.6rem;font-weight:500}.desktopNav{align-items:center;gap:clamp(12px,1.4vw,24px);margin-left:auto;display:flex}.navGroup{position:relative}.navGroup>a{white-space:nowrap;align-items:center;height:86px;font-size:.79rem;font-weight:750;display:flex}.navGroup>a:after{content:"";border-bottom:1px solid;border-right:1px solid;width:6px;height:6px;margin:0 0 4px 8px;transform:rotate(45deg)}.dropdown{opacity:0;visibility:hidden;background:#081f18f7;border:1px solid #ffffff20;min-width:235px;padding:9px;transition:all .2s;position:absolute;top:76px;left:50%;transform:translate(-50%,9px);box-shadow:0 18px 45px #0005}.dropdown a{color:#ffffffc9;padding:9px 12px;font-size:.83rem;display:block}.dropdown a:hover{color:#fff;background:#ffffff12}.navGroup:hover .dropdown,.navGroup:focus-within .dropdown{opacity:1;visibility:visible;transform:translate(-50%)}.headerCta{font-size:.78rem}.menuToggle,.mobileNav{display:none}.hero{color:#fff;height:100svh;min-height:720px;position:relative}.hero>img{object-position:center;position:absolute;inset:0}.heroShade{background:linear-gradient(#061a1324 15% 40%,#061a13df 100%);position:absolute;inset:0}.heroCopy{z-index:2;left:max(var(--side),calc((100vw - 1280px)/2));right:var(--side);max-width:1000px;position:absolute;bottom:58px}.hero h1{margin-bottom:20px;font-size:clamp(4rem,7.8vw,8.1rem);line-height:.89}.heroCopy>p:not(.eyebrow){color:#ffffffd5;max-width:720px;font-size:clamp(1.08rem,1.7vw,1.4rem)}.scrollCue{z-index:3;right:var(--side);text-transform:uppercase;letter-spacing:.18em;writing-mode:vertical-rl;font-size:.67rem;position:absolute;bottom:70px}.scrollCue span{margin-top:12px}.editorial{text-align:center;max-width:1000px;margin:auto;padding:clamp(85px,11vw,150px) 22px}.editorial>p:not(.eyebrow){max-width:760px;color:var(--muted);margin:0 auto;font-size:1.18rem}.modelFlow{justify-content:center;align-items:center;gap:15px;margin-top:46px;display:flex}.modelFlow span{border-top:1px solid var(--line);letter-spacing:.1em;text-transform:uppercase;padding-top:12px;font-size:.72rem;font-weight:800}.modelFlow i{color:var(--moss);font-style:normal}.paths{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1280px;margin:0 auto clamp(85px,11vw,150px);padding:0 22px;display:grid}.path{color:#fff;height:500px;position:relative;overflow:hidden}.path:after{content:"";background:linear-gradient(#0000,#061a13de);position:absolute;inset:0}.path img{transition:all .5s}.path:hover img{transform:scale(1.04)}.path div{z-index:2;position:absolute;bottom:28px;left:28px;right:28px}.path p,.experienceGrid article p{letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:800}.path h3{margin:8px 0 18px;font-size:2.15rem}.path span{text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;font-weight:800}.splitSection{padding:clamp(75px,9vw,125px) max(var(--side),calc((100vw - 1280px)/2));background:#fff;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(40px,7vw,90px);display:grid}.imageMosaic{grid-template-columns:1fr 1fr;gap:10px;display:grid}.imageMosaic img{aspect-ratio:4/3}.imageMosaic .wide{aspect-ratio:16/9;grid-column:1/-1}.bungalows{grid-template-columns:1fr 1fr;gap:12px;margin:28px 0;display:grid}.bungalows article{background:var(--sand);padding:20px}.bungalows b,.bungalows strong,.bungalows span{display:block}.bungalows b{text-transform:uppercase;letter-spacing:.12em;font-size:.69rem}.bungalows strong{font:400 1.6rem var(--serif);margin:7px 0}.bungalows span{color:var(--muted);font-size:.85rem}.factGrid{grid-template-columns:1fr 1fr;gap:13px 22px;margin:28px 0;display:grid}.factGrid span{border-top:1px solid var(--line);color:var(--muted);padding-top:9px;font-size:.82rem}.factGrid b{color:var(--ink);display:block}.rainforestStatement{color:#fff;align-items:center;height:min(80vh,820px);min-height:620px;display:flex;position:relative}.rainforestStatement>img{position:absolute;inset:0}.deepShade{background:linear-gradient(90deg,#061a13ed,#061a1330);position:absolute;inset:0}.rainforestStatement>div:last-child{z-index:2;max-width:760px;margin-left:max(var(--side),calc((100vw - 1280px)/2));padding-right:22px;position:relative}.rainforestStatement p:not(.eyebrow){color:#ffffffd0;font-size:1.15rem}.rainforestStatement strong{color:#d8e4d0;margin-top:24px;display:block}.experiences{padding:clamp(85px,11vw,150px) max(var(--side),calc((100vw - 1280px)/2))}.sectionHeading{justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px;display:flex}.sectionHeading>p:last-child{max-width:520px;color:var(--muted)}.experienceGrid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.experienceGrid article{color:#fff;height:400px;position:relative;overflow:hidden}.experienceGrid .featured{grid-column:1/-1;height:530px}.experienceGrid article:after{content:"";background:linear-gradient(#0000,#061a13e5);position:absolute;inset:0}.experienceGrid article div{z-index:2;position:absolute;bottom:25px;left:25px;right:25px}.experienceGrid h3{margin:7px 0}.experienceGrid span{color:#ffffffc9;font-size:.92rem}.disclaimer{color:var(--muted);margin-top:18px;font-size:.8rem}.researchIntro{padding:clamp(85px,11vw,140px) max(var(--side),calc((100vw - 1280px)/2)) 50px;background:var(--sand);grid-template-columns:1fr 1fr;align-items:end;gap:70px;display:grid}.projectGrid{padding:0 max(var(--side),calc((100vw - 1280px)/2)) clamp(85px,11vw,140px);background:var(--sand);grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.projectImage{height:350px;position:relative}.projectImage span{letter-spacing:.1em;text-transform:uppercase;background:#fff;padding:6px 9px;font-size:.66rem;font-weight:800;position:absolute;top:14px;left:14px}.projectGrid h3{margin:20px 0 8px}.projectGrid p{color:var(--muted);font-size:.92rem}.catalogue{padding:clamp(80px,10vw,140px) max(var(--side),calc((100vw - 1280px)/2));background:var(--forest);color:#fff;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(50px,7vw,90px);display:grid}.catalogueVisual{grid-template-columns:1fr 1fr;gap:10px;display:grid}.catMain{aspect-ratio:16/10;grid-column:1/-1}.catSmall{aspect-ratio:1;grid-column:2}.catalogue p:not(.eyebrow){color:#ffffffbd;font-size:1.08rem}.groupChips{flex-wrap:wrap;gap:8px;margin:25px 0;display:flex}.groupChips span{border:1px solid #ffffff3d;border-radius:99px;padding:7px 11px;font-size:.78rem}.catalogue ul{color:#ffffffb8;margin:0 0 28px;padding-left:20px;font-size:.88rem}.impact{text-align:center;background:var(--deep);color:#fff;padding:clamp(85px,11vw,145px) 22px}.impact h2,.impact>p:not(.eyebrow){max-width:900px;margin-left:auto;margin-right:auto}.impact>p:not(.eyebrow){color:#ffffffbd;max-width:700px;font-size:1.1rem}.lightFlow span{border-color:#ffffff35}.lightFlow i{color:var(--sage)}.impact .button{margin-top:32px}.participate{padding:clamp(85px,11vw,145px) max(var(--side),calc((100vw - 1280px)/2));background:#fff}.participationCards{grid-template-columns:1fr 1fr;gap:20px;display:grid}.participationCards article{background:var(--sand);padding:36px}.participationCards article>span{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:800}.participationCards h3{margin:12px 0;font-size:2.4rem}.participationCards p{color:var(--muted)}.participationCards b{margin:23px 0;font-size:.85rem;display:block}.participationCards a{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:800}.team{color:#fff;align-items:center;height:min(78vh,780px);min-height:620px;display:flex;position:relative}.team>img,.teamShade{position:absolute;inset:0}.teamShade{background:linear-gradient(90deg,#061a13ed,#061a1324)}.team>div:last-child{z-index:2;max-width:700px;margin-left:max(var(--side),calc((100vw - 1280px)/2));padding-right:22px;position:relative}.team p:not(.eyebrow){color:#fffc;font-size:1.12rem}.team .location{margin-top:35px}.contact{padding:clamp(80px,10vw,140px) max(var(--side),calc((100vw - 1280px)/2));background:var(--forest);color:#fff;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,110px);display:grid}.contactIntro>p:not(.eyebrow){color:#ffffffb8}.directContact{gap:10px;margin-top:35px;display:grid}.directContact a{color:#ffffffa8;border-top:1px solid #ffffff30;padding:12px 0;font-size:.8rem}.directContact b{color:#fff;font-size:1rem}.contact form{gap:16px;display:grid}.contact label{letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:.72rem;font-weight:800;display:grid}.contact input,.contact select,.contact textarea{color:#fff;width:100%;font:inherit;text-transform:none;letter-spacing:0;background:#ffffff0c;border:1px solid #ffffff36;border-radius:0;padding:13px}.contact select option{color:#000}.contact textarea{resize:vertical}.formRow{grid-template-columns:1fr 1fr;gap:14px;display:grid}.contact form .button{justify-self:start}.formNote{color:var(--sage);font-size:.8rem}.siteFooter{padding:65px var(--side) 28px;color:#fff;background:#051610;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;display:grid}.siteFooter>div{align-content:start;gap:9px;display:grid}.siteFooter>div:first-child p{color:#ffffff9c;max-width:360px;font-size:.88rem}.siteFooter h4{letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.7rem}.siteFooter a,.siteFooter span{color:#fffa;font-size:.84rem}.siteFooter>small{color:#ffffff78;border-top:1px solid #ffffff1e;grid-column:1/-1;margin-top:25px;padding-top:20px}@media (width<=1050px){.desktopNav,.headerCta{display:none}.siteHeader{justify-content:space-between;height:75px}.menuToggle{background:0 0;border:0;width:44px;height:44px;display:block}.menuToggle span{background:#fff;width:25px;height:1px;margin:7px;display:block}.mobileNav{background:var(--deep);gap:8px;max-height:calc(100vh - 85px);padding:18px;display:grid;position:absolute;top:69px;left:16px;right:16px;overflow:auto}.mobileNav details{border-bottom:1px solid #ffffff1f;padding:10px}.mobileNav summary{cursor:pointer;font-weight:800}.mobileNav details a{color:#ffffffb8;padding:7px 12px;font-size:.85rem;display:block}.mobileNav>a:not(.button){color:#ffffffbd;padding:12px}.heroCopy{left:var(--side)}.hero h1{font-size:clamp(4rem,9.5vw,7rem)}.paths{grid-template-columns:1fr}.path{height:430px}.splitSection,.catalogue,.contact{grid-template-columns:1fr}.rainforestStatement>div:last-child,.team>div:last-child{margin-left:var(--side)}.sectionHeading{display:block}.experienceGrid{grid-template-columns:1fr 1fr}.experienceGrid .featured{grid-column:1/-1}.researchIntro{grid-template-columns:1fr;gap:20px}.projectGrid{grid-template-columns:1fr}.projectGrid article{grid-template-columns:.85fr 1.15fr;gap:20px;display:grid}.projectImage{grid-row:1/3;height:300px}.projectGrid h3{margin:0}.catalogueVisual{order:2}.participationCards{grid-template-columns:1fr}.siteFooter{grid-template-columns:1fr 1fr}}@media (width<=650px){h2{font-size:clamp(2.7rem,13vw,4.4rem)}.brand img{width:44px;height:44px}.hero{min-height:660px}.heroCopy{bottom:32px}.hero h1{font-size:clamp(3.6rem,16vw,5.2rem)}.heroCopy>p:not(.eyebrow){font-size:1rem}.hero .actions{display:grid}.hero .textLink{padding:8px 2px}.scrollCue{display:none}.modelFlow{grid-template-columns:1fr;gap:8px;display:grid}.modelFlow i{transform:rotate(90deg)}.paths{margin-bottom:70px}.path{height:390px}.splitSection{padding:70px 22px}.factGrid,.bungalows{grid-template-columns:1fr}.rainforestStatement{min-height:670px}.rainforestStatement>div:last-child,.team>div:last-child{margin-left:22px}.experiences,.researchIntro,.projectGrid,.catalogue,.participate,.contact{padding-left:22px;padding-right:22px}.experienceGrid{grid-template-columns:1fr}.experienceGrid .featured{grid-column:auto;height:430px}.experienceGrid article{height:380px}.projectGrid article{display:block}.projectImage{height:300px}.projectGrid h3{margin-top:18px}.catalogueVisual{grid-template-columns:1fr}.catSmall{grid-column:auto}.formRow{grid-template-columns:1fr}.contact form .button{width:100%}.team{min-height:690px}.siteFooter{grid-template-columns:1fr;padding:55px 22px 25px}}.contactSimple{grid-template-columns:minmax(280px,1.25fr) minmax(330px,1fr) auto;align-items:center;gap:clamp(30px,5vw,70px);padding-top:58px;padding-bottom:58px}.contactSimple .contactIntro h2{margin-bottom:14px;font-size:clamp(2.4rem,4vw,4.2rem)}.contactSimple .contactIntro>p:last-child{color:#ffffffb8;max-width:590px;margin:0}.contactSimple .directContact{gap:0;margin:0}.contactSimple .directContact a{grid-template-columns:85px 1fr;align-items:center;gap:16px;padding:11px 0;display:grid}.contactSimple .directContact span{letter-spacing:.12em;text-transform:uppercase;color:var(--sage);font-size:.68rem;font-weight:800}.contactSimple .directContact b{font-size:.94rem}.contactSimple .contactCta{justify-content:flex-end;display:flex}.contactSimple .contactCta .button{white-space:nowrap}@media (width<=1050px){.contactSimple{grid-template-columns:1fr 1fr}.contactSimple .contactIntro{grid-column:1/-1}.contactSimple .contactCta{justify-content:flex-start}}@media (width<=650px){.contactSimple{grid-template-columns:1fr;gap:26px;padding-top:52px;padding-bottom:52px}.contactSimple .contactIntro{grid-column:auto}.contactSimple .contactIntro h2{font-size:3rem}.contactSimple .directContact a{grid-template-columns:72px 1fr}.contactSimple .contactCta .button{width:100%}}.innerHeader{position:fixed}.simpleNav{gap:clamp(12px,1.6vw,28px)}.simpleNav>a{font-size:.79rem;font-weight:750}.innerMobile>a:not(.button){border-bottom:1px solid #ffffff1f;padding:12px}.innerHero{color:#fff;align-items:flex-end;height:86vh;min-height:680px;display:flex;position:relative}.innerHero>img,.innerHero>.deepShade{position:absolute;inset:0}.innerHero>.deepShade{background:linear-gradient(#061a1320 25%,#061a1380 58%,#061a13f0 100%)}.innerHero>div:last-child{z-index:2;max-width:1150px;padding:0 var(--side) 72px;position:relative}.innerHero h1{max-width:1050px;margin-bottom:22px;font-size:clamp(4rem,7.5vw,8rem);line-height:.88}.innerHero p:not(.eyebrow){color:#ffffffd4;max-width:780px;font-size:clamp(1.05rem,1.5vw,1.35rem)}.factStrip{background:var(--deep);color:#fff;padding:0 var(--side);grid-template-columns:repeat(4,1fr);display:grid}.factStrip span{font:400 1.05rem var(--serif);text-align:center;border-left:1px solid #fff2;padding:25px 22px}.factStrip span:last-child{border-right:1px solid #fff2}.pageSubnav{padding:17px var(--side);color:var(--ink);z-index:20;border-bottom:1px solid var(--line);background:#e6ede3;gap:26px;display:flex;position:sticky;top:74px;overflow:auto}.pageSubnav a{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:800}.detailIntro{padding:clamp(90px,11vw,155px) var(--side);max-width:1180px}.detailIntro>p:last-child{max-width:820px;color:var(--muted);font-size:clamp(1.1rem,1.7vw,1.4rem)}.storySections{background:#fff}.storyBlock{grid-template-columns:1fr 1fr;min-height:620px;scroll-margin-top:125px;display:grid}.storyBlock:nth-child(2n) .storyImage{order:2}.storyImage{min-height:580px}.storyCopy{align-self:center;padding:clamp(55px,8vw,120px)}.storyCopy h2{font-size:clamp(2.8rem,4.5vw,5rem)}.storyCopy>p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.storyCopy ul{grid-template-columns:1fr 1fr;gap:0 25px;margin:28px 0;padding:0;list-style:none;display:grid}.storyCopy li{border-top:1px solid var(--line);padding:12px 0;font-size:.84rem;font-weight:700}.storyCopy strong{border-left:3px solid var(--moss);background:var(--sand);margin-top:28px;padding:20px 22px;font-size:.9rem;display:block}.wideBlock{background:var(--sand);min-height:auto;padding:clamp(70px,9vw,125px) var(--side);display:block}.wideBlock .storyCopy{max-width:1050px;padding:0}.faq{padding:clamp(85px,10vw,140px) var(--side);background:var(--paper);grid-template-columns:.75fr 1.25fr;gap:clamp(50px,8vw,120px);display:grid}.faq h2{font-size:clamp(3rem,4.7vw,5rem)}.faq details{border-top:1px solid var(--line);padding:18px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font:400 1.35rem var(--serif);cursor:pointer;justify-content:space-between;gap:20px;list-style:none;display:flex}.faq summary:after{content:"+";font-family:Arial;font-size:1.1rem}.faq details[open] summary:after{content:"−"}.faq details p{color:var(--muted);max-width:650px;margin-bottom:4px}.pageCta{text-align:center;background:var(--forest);color:#fff;padding:clamp(90px,11vw,155px) 22px}.pageCta h2{max-width:900px;margin-left:auto;margin-right:auto}.pageCta>p:not(.eyebrow){color:#ffffffbd;max-width:620px;margin:0 auto 30px}.innerContact{padding-top:110px}.innerContact .contactIntro>p:not(.eyebrow){color:#ffffffb8}@media (width<=900px){.factStrip{grid-template-columns:1fr 1fr}.factStrip span:nth-child(3),.factStrip span:nth-child(4){border-top:1px solid #fff2}.storyBlock{grid-template-columns:1fr;min-height:auto}.storyBlock:nth-child(2n) .storyImage{order:0}.storyImage{height:58vw;min-height:420px}.storyCopy{padding:70px var(--side)}.faq{grid-template-columns:1fr;gap:30px}}@media (width<=650px){.innerHero{min-height:700px}.innerHero>div:last-child{padding:0 22px 45px}.innerHero h1{font-size:clamp(3.6rem,15vw,5rem)}.innerHero .actions{display:flex}.factStrip{padding:0 10px}.factStrip span{padding:18px 9px;font-size:.9rem}.pageSubnav{padding-left:22px;top:74px}.detailIntro{padding:80px 22px}.storyImage{height:82vw;min-height:330px}.storyCopy,.wideBlock{padding:65px 22px}.storyCopy ul{grid-template-columns:1fr}.faq{padding:75px 22px}.faq summary{font-size:1.2rem}.innerContact{padding-top:80px}}.stayGallery{padding:clamp(85px,10vw,140px) var(--side);background:var(--paper)}.stayGalleryHead{grid-template-columns:1fr 1fr;align-items:end;gap:20px 70px;margin-bottom:42px;display:grid}.stayGalleryHead .eyebrow{grid-column:1/-1}.stayGalleryHead h2{margin:0}.stayGalleryHead>p:last-child{max-width:560px;color:var(--muted);font-size:1.08rem}.stayGalleryGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stayGalleryGrid figure{min-height:430px;margin:0;position:relative;overflow:hidden}.stayGalleryGrid .galleryWide{grid-column:1/-1;min-height:610px}.stayGalleryGrid img{position:absolute;inset:0}.stayGalleryGrid figure:after{content:"";background:linear-gradient(#0000,#061a13c9);position:absolute;inset:55% 0 0}.stayGalleryGrid figcaption{z-index:2;color:#fff;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:800;position:absolute;bottom:20px;left:24px}@media (width<=900px){.stayGalleryHead{grid-template-columns:1fr}.stayGalleryHead .eyebrow{grid-column:auto}.stayGalleryGrid .galleryWide{min-height:500px}}@media (width<=650px){.stayGallery{padding:75px 22px}.stayGalleryGrid{grid-template-columns:1fr}.stayGalleryGrid .galleryWide{grid-column:auto}.stayGalleryGrid figure,.stayGalleryGrid .galleryWide{min-height:360px}}.storyCopy>p:not(.eyebrow){font-size:1.06rem;line-height:1.82}.storyCopy .editorialContinuation{color:#42564e}.storyCopy .editorialContinuation:first-of-type{margin-top:24px}.wideBlock .storyCopy{max-width:980px}.wideBlock .storyCopy>p:not(.eyebrow){max-width:880px}@media (width>=1100px){.storyBlock.withImage .storyCopy{padding-left:clamp(65px,7vw,105px);padding-right:clamp(65px,7vw,105px)}}.quoteSection{padding:clamp(80px,9vw,130px) var(--side);background:var(--sand)}.quoteSectionHead{max-width:850px;margin-bottom:45px}.quoteSectionHead>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.quoteLayout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:28px;display:grid}.quoteForm{gap:20px;display:grid}.quoteBlock{border:1px solid var(--line);background:#fff;padding:32px}.quoteBlock h3,.quoteSummary h3{font:400 clamp(1.8rem,3vw,2.6rem)/1.08 var(--serif);margin:0 0 15px}.quoteBlock>p:not(.eyebrow){color:var(--muted)}.quoteChecks{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quoteCheck{background:var(--paper);border:1px solid var(--line);cursor:pointer;align-items:start;padding:13px;letter-spacing:0!important;text-transform:none!important;grid-template-columns:auto 1fr!important;gap:10px!important;font-size:.86rem!important;display:flex!important}.quoteCheck input{accent-color:var(--forest);width:auto!important;margin:4px 0 0!important}.featureCheck{background:#eef2ea;margin-top:18px}.quoteFields{grid-template-columns:1fr 1fr;gap:14px;margin:18px 0;display:grid}.quoteBlock label:not(.quoteCheck){letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:.72rem;font-weight:800;display:grid}.quoteBlock input,.quoteBlock select,.quoteBlock textarea{width:100%;color:var(--ink);font:inherit;letter-spacing:0;text-transform:none;background:#fff;border:1px solid #17312838;padding:13px}.quoteBlock textarea{resize:vertical}.conditional{border-top:1px solid var(--line);gap:16px;margin-top:20px;padding-top:20px;display:grid}.conditional h4{text-transform:uppercase;letter-spacing:.12em;margin:4px 0 0;font-size:.75rem}.privacyNote{color:var(--muted);text-transform:none!important;letter-spacing:0!important;font-size:.78rem!important}.quoteSummary{background:var(--deep);color:#fff;padding:28px;position:sticky;top:100px}.quoteSummary>p:not(.eyebrow),.quoteSummary li,.quoteSummary small{color:#ffffffb5}.quoteSummary ul{margin-bottom:25px;padding-left:18px}.quoteSummary .button{width:100%;margin:10px 0 18px}.quoteSummary small{font-size:.75rem;display:block}.quoteSummary .formNote{color:var(--sage)}@media (width<=900px){.quoteLayout{grid-template-columns:1fr}.quoteSummary{order:-1;position:static}.quoteChecks,.quoteFields{grid-template-columns:1fr}}@media (width<=650px){.quoteSection{padding-left:22px;padding-right:22px}.quoteBlock{padding:24px}}.lightContact{grid-template-columns:1fr 1fr;max-width:650px}.lightContact a{color:var(--muted);border-color:var(--line)}.lightContact b{color:var(--ink)}@media (width<=650px){.lightContact{grid-template-columns:1fr}}.heroCopy>p.heroLocation{border-left:2px solid var(--sage);color:#fff;letter-spacing:.04em;flex-wrap:wrap;gap:4px 18px;max-width:none;margin:0 0 18px;padding-left:15px;font-size:.78rem;display:flex}.heroLocation strong,.heroLocation span{display:block}.heroLocation span{color:#ffffffb8}.contactSimple{align-items:end}.contactCta{border-left:1px solid #ffffff30;padding-left:clamp(30px,5vw,70px)}.contactCta p{color:#ffffffbd;max-width:540px;margin:0 0 25px;font-size:1.08rem}@media (width<=1050px){.contactCta{border-top:1px solid #ffffff30;border-left:0;padding:32px 0 0}}@media (width<=650px){.heroCopy>p.heroLocation{margin-bottom:13px;font-size:.7rem;display:block}.heroLocation span{margin-top:2px}.contactCta .button{width:100%}}.speciesShowcase{padding:clamp(70px,9vw,125px) max(var(--side),calc((100vw - 1280px)/2));background:var(--paper)}.speciesLead{grid-template-columns:auto 1fr 1.15fr;align-items:end;gap:clamp(24px,4vw,65px);margin-bottom:48px;display:grid}.speciesLead>.eyebrow{writing-mode:vertical-rl;align-self:start}.speciesLead>strong{font:400 clamp(6rem,14vw,13rem)/.72 var(--serif);letter-spacing:-.08em;color:var(--forest)}.speciesLead h2{margin:0 0 18px;font-size:clamp(2.5rem,4.5vw,4.8rem)}.speciesLead p:last-child{color:var(--muted);margin:0;font-size:1.05rem}.speciesMosaic{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:310px;gap:12px;display:grid}.speciesMosaic article{color:#fff;background:var(--deep);position:relative;overflow:hidden}.speciesMosaic article:after{content:"";background:linear-gradient(#0000 38%,#051610e8);position:absolute;inset:0}.speciesMosaic article.speciesCountCard{background:linear-gradient(145deg,#315b49,var(--deep))}.speciesMosaic article.speciesCountCard:before{content:attr(data-count);font:400 13rem/1 var(--serif);color:#ffffff0d;position:absolute;top:-45px;right:-8px}.speciesMosaic article.speciesCountCard:after{background:radial-gradient(circle at 78% 12%,#adc59a38,#0000 48%),linear-gradient(135deg,#0000 58%,#8eaa7a18 58% 59%,#0000 59%)}.speciesMosaic img{transition:transform .5s}.speciesMosaic article:hover img{transform:scale(1.035)}.speciesMosaic article>div{z-index:2;position:absolute;bottom:20px;left:22px;right:22px}.speciesMosaic article.speciesCountCard>div{flex-direction:column;justify-content:flex-end;display:flex;top:20px}.speciesMosaic article.speciesCountCard b{font:400 4.8rem/.9 var(--serif);color:#dce8d4;margin-bottom:auto}.speciesMosaic span{letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-size:.67rem;font-weight:800}.speciesMosaic h3{margin:5px 0 2px;font-size:clamp(1.8rem,2.5vw,3rem)}.speciesMosaic em{font:italic .82rem var(--serif);color:#ffffffbd}.speciesMosaic small{letter-spacing:.12em;text-transform:uppercase;color:#dce8d4;border-top:1px solid #ffffff2b;margin-top:12px;padding-top:11px;font-size:.65rem;font-weight:700}@media (width<=1000px){.speciesLead{grid-template-columns:auto 1fr}.speciesLead>div{grid-column:1/-1}.speciesMosaic{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.speciesShowcase{padding-left:22px;padding-right:22px}.speciesLead{gap:20px;margin-bottom:34px}.speciesLead>strong{font-size:7rem}.speciesMosaic{grid-template-columns:1fr;grid-auto-rows:360px}.speciesLead>.eyebrow{writing-mode:initial;grid-column:1/-1}}.occurrenceGallery{padding:clamp(80px,10vw,140px) max(var(--side),calc((100vw - 1280px)/2));background:var(--deep);color:#fff}.occurrenceHead{grid-template-columns:.65fr 1.35fr;align-items:end;column-gap:60px;margin-bottom:46px;display:grid}.occurrenceHead .eyebrow{color:var(--sage);align-self:start}.occurrenceHead h2{grid-column:2;margin-bottom:20px}.occurrenceHead>p:last-child{color:#ffffffb5;grid-column:2;max-width:620px;margin:0}.occurrenceGrid{grid-template-columns:repeat(3,1fr);grid-auto-rows:310px;gap:12px;display:grid}.occurrenceGrid figure{background:#102d23;margin:0;position:relative;overflow:hidden}.occurrenceGrid figure.occurrenceLarge{grid-column:span 2}.occurrenceGrid figure:after{content:"";background:linear-gradient(#0000 48%,#04120ddc);position:absolute;inset:0}.occurrenceGrid img{transition:transform .55s}.occurrenceGrid figure:hover img{transform:scale(1.035)}.occurrenceGrid figcaption{z-index:2;display:grid;position:absolute;bottom:18px;left:20px;right:20px}.occurrenceGrid figcaption span{font:400 1.45rem/1.1 var(--serif)}.occurrenceGrid figcaption em{color:#d4dfce;margin-top:4px;font-size:.78rem}.occurrenceGrid figure:first-child img{object-position:center 28%}.occurrenceGrid figure:nth-child(2) img{object-position:center 60%}.occurrenceGrid figure:nth-child(8) img,.occurrenceGrid figure:nth-child(9) img{object-position:center}@media (width<=900px){.occurrenceHead{grid-template-columns:1fr}.occurrenceHead h2,.occurrenceHead>p:last-child{grid-column:1}.occurrenceGrid{grid-template-columns:repeat(2,1fr)}.occurrenceGrid figure.occurrenceLarge{grid-column:span 1}}@media (width<=600px){.occurrenceGallery{padding-left:22px;padding-right:22px}.occurrenceGrid{grid-template-columns:1fr;grid-auto-rows:360px}}

/* Tamandua sage palette */
.cream,
.splitSection,
.participate,
.storySections {
    background: #dce6d8;
}

/* Restore card contrast */
.participate {
    background: #f1f5f0;
}

/* Tamandua accent colours */
:root {
    --heliconia: #e66b45;
    --heliconia-dark: #c95736;
    --lime-accent: #a8c75a;
}

/* Main calls to action */
.button.cream {
    background: var(--heliconia);
    color: #fff;
    border-color: var(--heliconia);
}

.button.cream:hover {
    background: var(--heliconia-dark);
    border-color: var(--heliconia-dark);
}

/* Small editorial/scientific accents */
.eyebrow.olive {
    color: #6f8b58;
}

.projectImage span {
    background: var(--lime-accent);
    color: var(--deep);
}

/* Sage section hierarchy */
.storySections {
    background: #f1f5f0;
}

.storySections .wideBlock {
    background: #dce6d8;
}

/* Stay gallery separation */
.stayGallery {
    background: #e6ede3;
}

/* Justified body copy */
main p:not(.eyebrow):not(.heroLocation),
.storyCopy p,
.faq p,
.quoteSummary p {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
}

/* Justified body copy without hyphenation */
main p:not(.eyebrow):not(.heroLocation),
.storyCopy p,
.faq p,
.quoteSummary p {
    text-align: justify;
    text-justify: inter-word;
    hyphens: none;
}


/* =========================================================
   TAMANDUA SURFACE SYSTEM
   Consistent section rhythm across the whole site
   ========================================================= */

:root {
    --surface-base: #f1f5f0;
    --surface-alt: #e6ede3;
    --surface-strong: #dce6d8;
}


/* ---------- Inner page introductions ---------- */
.noHeroPage main { padding-top: 74px; }
.navGroup > a[href="get-there/"]::after { content: none; }

.detailIntro {
    background: var(--surface-base);
}


/* ---------- Story pages ---------- */

.storySections {
    background: var(--surface-base);
}

/* Explicit surfaces prevent neighbouring sections merging */
.storySections > .storyBlock {
    background: var(--surface-base);
}

.storySections > .storyBlock:nth-child(odd) {
    background: var(--surface-alt);
}

.storySections > .storyBlock:nth-child(even) {
    background: var(--surface-base);
}

/* Important full-width information blocks */
.storySections > .storyBlock.wideBlock {
    background: var(--surface-strong);
}


/* ---------- FAQ ---------- */

.faq {
    background: var(--surface-base);
}


/* ---------- Stay ---------- */

/* Gallery separates from final story block */
.stayGallery {
    background: var(--surface-base);
}

/* Stay has gallery immediately before FAQ,
   so alternate the FAQ here only */
.stayGallery + .faq {
    background: var(--surface-alt);
}


/* ---------- Homepage ---------- */

.splitSection {
    background: var(--surface-alt);
}

.experiences {
    background: var(--surface-base);
}

.participate {
    background: var(--surface-base);
}

.participationCards article {
    background: var(--surface-strong);
}


/* Header visual separation */
.siteHeader {
    box-shadow: inset 0 -1px 0 rgba(220, 230, 216, .28);
}

/* Visible separator below fixed header */
.siteHeader::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #adc59a;
    opacity: .9;
    pointer-events: none;
}

/* Header separator only after hero */
.siteHeader::after {
    opacity: 0;
    transition: opacity .25s ease;
}

.siteHeader.pastHero::after {
    opacity: .9;
}

/* Solid header after leaving the hero */
.siteHeader {
    transition: background-color .25s ease,
                box-shadow .25s ease;
}

.siteHeader.pastHero {
    background: var(--deep);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.siteHeader.pastHero::after {
    opacity: .9;
}

/* =========================================================
   MOBILE NAVIGATION
   ========================================================= */

.mobileNav {
    display: none;
}

@media (max-width: 1050px) {

    .mobileMenuOpen {
        overflow: hidden;
    }

    .siteHeader.menuOpen {
        background: var(--deep);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .mobileNav {
        position: fixed;
        z-index: 49;
        top: 92px;
        left: 0;
        right: 0;
        height: calc(100dvh - 92px);
        padding: 22px var(--side) 40px;
        background: var(--deep);
        overflow-y: auto;

        display: flex;
        flex-direction: column;

        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);

        transition:
            opacity .22s ease,
            transform .22s ease,
            visibility .22s ease;
    }

    .mobileNav.open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .mobileNav > a:not(.button) {
        display: block;
        padding: 17px 4px;
        border-bottom: 1px solid #ffffff1f;
        color: #fff;
        font-size: 1rem;
    }

    .mobileNav details {
        padding: 0;
        border-bottom: 1px solid #ffffff1f;
    }

    .mobileNav summary {
        position: relative;
        padding: 17px 28px 17px 4px;
        color: #fff;
        cursor: pointer;
        list-style: none;
        font-size: 1rem;
    }

    .mobileNav summary::-webkit-details-marker {
        display: none;
    }

    .mobileNav summary::after {
        content: "+";
        position: absolute;
        right: 4px;
        top: 50%;
        transform: translateY(-50%);
        color: var(--sage);
        font-size: 1.25rem;
    }

    .mobileNav details[open] summary::after {
        content: "−";
    }

    .mobileNav details a {
        display: block;
        padding: 9px 14px;
        color: #ffffffb8;
        font-size: .88rem;
    }

    .mobileNav details a:last-child {
        padding-bottom: 18px;
    }

    .mobileNav .mobileCta {
        display: inline-flex;
        margin-top: 25px;
        text-align: center;
        background: var(--heliconia);
        border-color: var(--heliconia);
        color: #fff;
    }

    /* Burger → X */
    .menuToggle {
        position: relative;
        z-index: 51;
    }

    .menuToggle span {
        transition:
            transform .22s ease,
            margin .22s ease;
    }

    .menuToggle.open span:first-child {
        transform: translateY(4px) rotate(45deg);
    }

    .menuToggle.open span:last-child {
        transform: translateY(-4px) rotate(-45deg);
    }
}

/* Mobile hero focal points */
@media (max-width: 700px) {

    .researchHero > img,
    .speciesHero > img {
        object-position: 25% center;
    }

}

/* Research + Species mobile hero focal point */
@media (max-width: 700px) {
    .researchHero > img,
    .speciesHero > img {
        object-position: left center !important;
    }
}

/* Mobile menu attaches directly to actual header bottom */
@media (max-width: 1050px) {
    .mobileNav {
        top: auto;
    }
}

/* Tripadvisor reviews — refined layout */

.tripadvisorScore {
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
}

.tripadvisorLogo {
    display: block;
    width: 155px;
    height: auto;
}

.tripadvisorRating {
    display: flex;
    align-items: center;
    gap: 15px;
}

.tripadvisorRating > strong {
    font: 400 clamp(2.8rem, 4vw, 4rem) / 1 var(--serif);
    color: var(--deep);
}

.tripadvisorRating > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.reviewCard h3 {
    margin: 18px 0 12px;
    font: 400 1.25rem/1.3 var(--serif);
    color: var(--deep);
}

.reviewCard p {
    margin: 0 0 27px;
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.7;
    text-align: justify;
    hyphens: none;
}

@media (max-width: 800px) {
    .tripadvisorScore {
        align-items: flex-start;
    }

    .tripadvisorLogo {
        width: 140px;
    }
}

/* =========================================================
   TRIPADVISOR REVIEWS — COMPLETE
   ========================================================= */

.reviewsSection {
    padding:
        clamp(80px, 10vw, 135px)
        max(var(--side), calc((100vw - 1280px) / 2));
    background: #e6ede3;
    color: var(--ink);
}

.reviewsHead {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 50px;
    margin-bottom: 50px;
}

.reviewsHead h2 {
    margin: 6px 0 0;
    max-width: 620px;
}


/* Tripadvisor brand + rating */

.tripadvisorScore {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    flex-shrink: 0;
}

.tripadvisorLogo {
    display: block;
    width: 155px;
    height: auto;
}

.tripadvisorRating {
    display: flex;
    align-items: center;
    gap: 15px;
}

.tripadvisorRating > strong {
    font: 400 clamp(2.8rem, 4vw, 4rem) / 1 var(--serif);
    color: var(--deep);
}

.tripadvisorRating > div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.tripadvisorRating small {
    color: var(--muted);
    font-size: .75rem;
}

.reviewStars {
    color: var(--heliconia, #e66b45);
    letter-spacing: .11em;
    font-size: .88rem;
}


/* Reviews */

.reviewsGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.reviewCard {
    padding: 32px clamp(22px, 3vw, 38px) 30px;
    border-right: 1px solid var(--line);
}

.reviewCard:first-child {
    padding-left: 0;
}

.reviewCard:last-child {
    padding-right: 0;
    border-right: 0;
}

.reviewCard h3 {
    margin: 18px 0 12px;
    font: 400 1.25rem / 1.3 var(--serif);
    color: var(--deep);
}

.reviewCard p {
    margin: 0 0 27px;
    color: var(--muted);
    font-size: .92rem;
    line-height: 1.7;
    text-align: justify;
    text-justify: inter-word;
    hyphens: none;
}


/* Tripadvisor attribution is independent of the main site footer. */

.reviewCard footer {
    padding: 0 !important;
    margin: 0;
    background: transparent !important;
    color: var(--ink) !important;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.reviewCard footer strong {
    color: var(--deep);
    font-size: .8rem;
}

.reviewCard footer span {
    color: var(--muted) !important;
    font-size: .72rem;
}


/* Link */

.reviewsLink {
    display: inline-block;
    margin-top: 31px;
    color: var(--deep);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    border-bottom: 2px solid var(--heliconia, #e66b45);
    padding-bottom: 5px;
}

.reviewsLink:hover {
    color: var(--heliconia, #e66b45);
}


/* Mobile */

@media (max-width: 800px) {

    .reviewsSection {
        padding-top: 72px;
        padding-bottom: 72px;
    }

    .reviewsHead {
        display: block;
        margin-bottom: 36px;
    }

    .tripadvisorScore {
        align-items: flex-start;
        margin-top: 27px;
    }

    .tripadvisorLogo {
        width: 140px;
    }

    .reviewsGrid {
        display: block;
    }

    .reviewCard,
    .reviewCard:first-child,
    .reviewCard:last-child {
        padding: 28px 0;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .reviewCard:last-child {
        border-bottom: 0;
    }

    .reviewCard h3 {
        font-size: 1.2rem;
    }

    .reviewCard p {
        font-size: .9rem;
    }
}


/* DEBUG reviews visibility */
.reviewsSection {
    display: block !important;
    position: relative !important;
    z-index: 10 !important;
    min-height: 500px !important;
    background: #ffb3b3 !important;
    outline: 6px solid red !important;
}

/* Reviews compact final override */
.reviewsSection {
    display: block !important;
    position: relative !important;
    z-index: auto !important;
    min-height: 0 !important;
    background: var(--surface-alt, #e6ede3) !important;
    outline: 0 !important;

    padding:
        clamp(45px, 6vw, 72px)
        max(var(--side), calc((100vw - 1280px) / 2)) !important;
}

.reviewsHead {
    margin-bottom: 28px !important;
}

.reviewsHead h2 {
    font-size: clamp(2.5rem, 4.2vw, 4.2rem);
    margin-bottom: 0;
}

.tripadvisorScore {
    gap: 7px;
}

.tripadvisorLogo {
    width: 135px;
}

.tripadvisorRating > strong {
    font-size: clamp(2.2rem, 3vw, 3rem);
}

.reviewsGrid {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.reviewCard {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

.reviewCard h3 {
    margin-top: 11px;
    margin-bottom: 8px;
    font-size: 1.12rem;
}

.reviewCard p {
    margin-bottom: 16px;
    line-height: 1.6;
}

.reviewsLink {
    margin-top: 20px;
}

@media (max-width: 800px) {
    .reviewsSection {
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }

    .reviewsHead {
        margin-bottom: 22px !important;
    }

    .tripadvisorScore {
        margin-top: 18px;
    }

    .reviewCard,
    .reviewCard:first-child,
    .reviewCard:last-child {
        padding: 20px 0 !important;
    }
}

/* Tamandua brand — unified typography */
.brand span {
    font-size: .86rem;
    font-weight: 800;
    line-height: 1.12;
}

.brand small {
    margin-top: 1px;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: 0;
    text-transform: none;
}

/* Tamandua brand — exact same weight */
.brand span {
    font-size: .86rem !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
}

.brand span > small {
    margin: 0 !important;
    font-size: .86rem !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: inherit !important;
}

/* Footer social links */

.socialLinks {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 12px;
}

.socialLinks a {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,.85);
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}

.socialLinks a:hover {
    color: #fff;
    border-color: rgba(255,255,255,.6);
    background: rgba(255,255,255,.08);
    transform: translateY(-2px);
}

.socialLinks svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
    stroke: currentColor;
    stroke-width: 1.7;
}

.socialLinks a:first-child svg {
    fill: none;
}


/* Footer alignment refinement */

.siteFooter {
    grid-template-columns: 1.35fr .8fr .95fr 1fr !important;
    align-items: start !important;
    column-gap: clamp(38px, 5vw, 75px) !important;
}

.siteFooter > div {
    align-content: start !important;
    align-self: start !important;
}

.siteFooter > div:first-child p {
    text-align: left !important;
    max-width: 340px !important;
    line-height: 1.65 !important;
    margin-top: 14px !important;
}

/* Align navigation/contact columns on same baseline */
.siteFooter > div:nth-child(2),
.siteFooter > div:nth-child(3),
.siteFooter > div:nth-child(4) {
    padding-top: 4px !important;
}

/* Consistent vertical rhythm */
.siteFooter > div:nth-child(2) > a,
.siteFooter > div:nth-child(3) > a,
.siteFooter > div:nth-child(4) > a,
.siteFooter > div:nth-child(4) > span {
    margin: 0 !important;
    line-height: 1.55 !important;
}

/* Contact/social block */
.siteFooter .socialLinks {
    margin-top: 17px !important;
    gap: 8px !important;
}

.siteFooter .socialLinks a {
    width: 32px !important;
    height: 32px !important;
}

/* Copyright spacing */
.siteFooter > small {
    margin-top: 38px !important;
}

@media (max-width: 1050px) {
    .siteFooter {
        grid-template-columns: 1fr 1fr !important;
        row-gap: 40px !important;
    }
}

@media (max-width: 650px) {
    .siteFooter {
        grid-template-columns: 1fr !important;
        row-gap: 32px !important;
    }

    .siteFooter > div:nth-child(2),
    .siteFooter > div:nth-child(3),
    .siteFooter > div:nth-child(4) {
        padding-top: 0 !important;
    }
}

/* =========================================================
   SITE FOOTER — FINAL ALIGNMENT
   ========================================================= */

.siteFooter {
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(0, .72fr)
        minmax(0, .95fr)
        minmax(0, 1fr) !important;

    column-gap: clamp(45px, 6vw, 90px) !important;
    row-gap: 0 !important;
    align-items: start !important;

    padding-top: 64px !important;
}

.siteFooter > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    align-content: initial !important;
    gap: 0 !important;
}

/* Visit / Explore / Contact */
.siteFooter > div:nth-child(2) h4,
.siteFooter > div:nth-child(3) h4,
.siteFooter > div:nth-child(4) h4 {
    display: block !important;
    margin: 3px 0 22px !important;
    padding: 0 !important;
    height: auto !important;

    color: #fff !important;
    font-size: .7rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: .16em !important;
}

/* Same rhythm for all links */
.siteFooter > div:nth-child(2) > a,
.siteFooter > div:nth-child(3) > a,
.siteFooter > div:nth-child(4) > a,
.siteFooter > div:nth-child(4) > span {
    display: block !important;
    margin: 0 0 13px !important;
    line-height: 1.45 !important;
}

/* Brand column */
.siteFooter > div:first-child .brand {
    margin: 0 !important;
}

.siteFooter > div:first-child p {
    max-width: 350px !important;
    margin: 19px 0 0 !important;
    text-align: left !important;
    line-height: 1.65 !important;
}

/* Social icons stay attached to Contact */
.siteFooter .socialLinks {
    display: flex !important;
    flex-direction: row !important;
    gap: 9px !important;
    margin-top: 6px !important;
}

/* Copyright */
.siteFooter > small {
    margin-top: 54px !important;
    padding-top: 20px !important;
}

@media (max-width: 1050px) {
    .siteFooter {
        grid-template-columns: 1fr 1fr !important;
        row-gap: 45px !important;
    }
}

@media (max-width: 650px) {
    .siteFooter {
        grid-template-columns: 1fr !important;
        row-gap: 35px !important;
    }
}

/* =========================================================
   HOME MAP
   ========================================================= */

.homeMap {
    display: grid;
    grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr);
    min-height: 520px;
    background: var(--surface-base, #f1f5f0);
}

.homeMapCopy {
    align-self: center;
    padding:
        clamp(55px, 7vw, 100px)
        clamp(30px, 6vw, 85px);
}

.homeMapCopy h2 {
    font-size: clamp(2.8rem, 4.6vw, 5rem);
    max-width: 620px;
}

.homeMapCopy > p:not(.eyebrow) {
    max-width: 520px;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1.75;
    margin-bottom: 28px;
    text-align: left;
}

.homeMapFrame {
    min-height: 520px;
    background: var(--deep);
}

.homeMapFrame iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 520px;
    border: 0;
    filter: saturate(.75) contrast(.95);
}

@media (max-width: 850px) {
    .homeMap {
        grid-template-columns: 1fr;
    }

    .homeMapFrame,
    .homeMapFrame iframe {
        min-height: 400px;
    }
}

@media (max-width: 600px) {
    .homeMapCopy {
        padding: 55px 22px;
    }

    .homeMapFrame,
    .homeMapFrame iframe {
        min-height: 340px;
    }
}

/* Content revision: existing editorial patterns with small supporting details. */
.siteFooter > div { min-width: 0; }
.siteFooter a { overflow-wrap: anywhere; }
.siteFooter .brand { color: #fff; }

.bungalowPhotos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 28px;
}
.bungalowPhotos figure { margin: 0; min-width: 0; }
.bungalowPhotos figure:last-child:nth-child(odd) { grid-column: 1 / -1; }
.bungalowPhotos img { width: 100%; height: auto; aspect-ratio: 4 / 3; }
.bungalowPhotos figcaption { margin-top: 8px; color: var(--muted); font-size: .75rem; }

.tourList { margin-top: 28px; }
.tourList > div { border-top: 1px solid var(--line); padding: 20px 0; }
.tourList dt { font-weight: 700; margin-bottom: 6px; }
.tourList dd { margin: 0; color: var(--muted); line-height: 1.7; }
.tourList > div, #groups, #standards { scroll-margin-top: 145px; }

.documentNotice {
    margin-top: 28px;
    padding: 20px 22px;
    border-left: 3px solid var(--moss);
    background: var(--surface-base);
}
.documentNotice > span { font-weight: 700; font-size: .9rem; }
.documentNotice > p { margin-top: 8px; color: var(--muted); font-size: .9rem; }
.storyCopy .volunteerSchedule { display: flex; flex-wrap: wrap; gap: 6px 10px; margin: 16px 0; padding: 10px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.storyCopy .volunteerSchedule li { border: 0; padding: 0; font-size: .8rem; white-space: nowrap; }
.volunteerSchedule li + li::before { content: "·"; margin-right: 10px; color: var(--moss); }
#apply .storyCopy { max-width: 1280px; }
.volunteerApplicationGrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.volunteerApplicationCard { display: flex; flex-direction: column; min-width: 0; padding: 24px; border: 1px solid var(--line); background: var(--surface-base); scroll-margin-top: 145px; }
.volunteerApplicationCard > h3 { margin-bottom: 14px; font-size: 1.8rem; }
.volunteerApplicationCard > p { color: var(--muted); font-size: .95rem; line-height: 1.75; text-align: left; }
.volunteerApplicationCard > p + p { margin-top: 12px; }
.volunteerApplicationCard .actions { margin-top: auto; padding-top: 24px; }
.volunteerApplicationCard .button { width: 100%; min-height: 52px; max-width: 100%; text-align: center; }
#agreement { scroll-margin-top: 145px; }
@media (max-width: 900px) {
    .volunteerApplicationGrid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 900px) {
    .storyBlock.withImage .storyCopy { padding: 70px var(--side); }
}
@media (max-width: 650px) {
    .storyBlock.withImage .storyCopy { padding: 65px 22px; }
    .bungalowPhotos { grid-template-columns: 1fr; }
    .bungalowPhotos figure:last-child:nth-child(odd) { grid-column: auto; }
}

/* Compact tour cards within the existing editorial section. */
#tamandua .storyCopy { max-width: 1280px; }
.tourList {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.tourList > div {
    min-width: 0;
    padding: 24px;
    border: 1px solid var(--line);
    background: var(--surface-base);
    display: flex;
    flex-direction: column;
}
.tourList > div:target { border-color: var(--moss); }
.tourList dt {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 160px;
    margin-bottom: 0;
    overflow: hidden;
    isolation: isolate;
    color: #fff;
    font: 400 1.3rem/1.2 var(--serif);
    letter-spacing: -.02em;
}
.tourList dt::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(7, 30, 22, 0) 5%, rgba(7, 30, 22, .55) 40%, rgba(7, 30, 22, .94)); }
.tourList dt > span { position: relative; z-index: 2; display: block; width: 100%; min-height: 0; padding: 12px 14px; }
.tourList .tourThumbnail { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; margin: 0; }
#tamandua .tourPhotoNote { margin-top: 14px; color: var(--muted); font-size: .8rem; }
.tourCredits { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 14px; color: var(--muted); font-size: .8rem; }
.tourCredits summary { cursor: pointer; color: var(--ink); font-weight: 700; }
.tourCredits p { margin-top: 12px; }
.tourCredits a { text-decoration: underline; text-underline-offset: 3px; }
.tourCredits summary:focus-visible, .tourCredits a:focus-visible { outline: 3px solid var(--moss); outline-offset: 4px; }
.storyCopy .tourCredits ul { margin: 14px 0 0; gap: 0 24px; }
.storyCopy .tourCredits li { font-size: .75rem; font-weight: 400; }
.tourList dd { font-size: .86rem; line-height: 1.55; }
.tourList .tourFacts {
    display: grid;
    gap: 4px;
    margin: 18px 0;
    padding-left: 12px;
    border-left: 2px solid var(--moss);
    font-size: .78rem;
}
.tourPrice { color: var(--forest); font-size: 1.2rem; font-weight: 800; line-height: 1.3; }
.tourList dd:not(.tourFacts):not(.tourIncludes):not(.tourCondition) { padding-bottom: 18px; }
.tourList .tourIncludes { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); }
.tourIncludes > span {
    display: block;
    margin-bottom: 4px;
    color: var(--ink);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.tourList .tourCondition { margin-top: 10px; color: var(--ink); font-size: .78rem; font-weight: 700; }
.storyCopy > p.scheduleNote,
.storyCopy > p.accommodationNote { font-size: .9rem; line-height: 1.65; }
.storyCopy > p.scheduleNote { margin-top: 16px; padding-left: 14px; border-left: 2px solid var(--moss); }
@media (max-width: 900px) {
    .tourList { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .tourList { grid-template-columns: minmax(0, 1fr); }
    .tourList > div { padding: 20px; }
    .tourList dt > span { min-height: 0; }
}

/* Native Home card links preserve the existing card layout. */
.homeLinkedCard { position: relative; }
.homeCardLink { position: absolute; inset: 0; z-index: 3; }
.homeCardLink:focus-visible { outline: 3px solid var(--forest); outline-offset: -4px; }
.experienceGrid .homeCardLink:focus-visible { outline-color: #fff; }
.homeLinkedCard:hover h3, .homeLinkedCard:hover b { text-decoration: underline; text-underline-offset: 4px; }
.groupChips a { border: 1px solid #ffffff3d; border-radius: 99px; padding: 7px 11px; font-size: .78rem; }
.groupChips a:hover { background: #ffffff12; }
.groupChips a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.speciesMosaic article[id] { scroll-margin-top: 145px; }

/* Preview rendered from the original station trail PDF. */
.trailMapPreview { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 24px; background: #fff; }
.trailMapPreview img { width: 100%; height: auto; max-height: 920px; object-fit: contain; }
.trailMapPreview:focus-visible { outline: 3px solid var(--moss); outline-offset: -5px; }
.trailMapBlock .storyCopy { min-width: 0; }
.trailMapBlock .trailDistances { grid-template-columns: minmax(0, 1fr); }

/* Contextual FAQ and complete category hub; native disclosure controls. */
.faq > div, .faqHubGroups, .faqGroup { min-width: 0; }
.faq details p { margin-top: 14px; line-height: 1.7; }
.faq details p a { text-decoration: underline; text-underline-offset: 3px; }
.faq summary:focus-visible, .faq a:focus-visible { outline: 3px solid var(--moss); outline-offset: 5px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { flex-shrink: 0; }
.faqHubIntro { position: sticky; top: 145px; align-self: start; }
.faqCategoryNav { display: grid; gap: 0; margin-top: 25px; }
.faqCategoryNav a { border-top: 1px solid var(--line); padding: 10px 0; font-size: .85rem; }
.faqGroup { margin-bottom: 48px; scroll-margin-top: 145px; }
.faqGroup:last-child { margin-bottom: 0; }
.faqGroup h3 { font-size: 1.8rem; margin-bottom: 18px; }
.faq p.faqNotice { font-size: .85rem; line-height: 1.65; margin-bottom: 20px; }
#before-your-inquiry, #faq { scroll-margin-top: 140px; }
@media (max-width: 1050px) {
  .faqHubIntro { position: static; }
  .faqCategoryNav { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
}
@media (max-width: 650px) {
  .faqCategoryNav { grid-template-columns: minmax(0, 1fr); }
  .faqGroup { margin-bottom: 36px; }
}
