/* Independent pages share the forest, paper chapters and sticky navigation. */
.page-breadcrumb{display:flex;gap:11px;align-items:center;padding-top:26px;padding-bottom:0;font-size:12px;color:#fffbee;text-shadow:0 1px 4px #294126}.page-breadcrumb a{background:#fff8e8f2;color:#3d5632;border:1px solid #d9d6b1;border-radius:20px;padding:5px 13px;text-shadow:none}.page-breadcrumb>span:last-child{background:#385333d9;border-radius:20px;padding:5px 13px}.inner-page main>section:first-of-type{padding-top:30px}.inner-page #portfolio{padding-bottom:50px}.home-page .hero-bottom{margin-bottom:0}.home-page footer{margin-top:12px}.home-page .hero{min-height:calc(100dvh - 185px)}.navlinks a[aria-current="page"]:not(.navcta):after{transform:scaleX(1)}.navlinks a[aria-current="page"]{color:#416b30}.mobile-quicknav>a[aria-current="page"]:not(.quick-contact){background:#e7ecd3;box-shadow:inset 0 0 0 1px #c5cead}.design-menu{margin-top:38px;padding:30px;background:#f5ecd7;border:1px dashed #b5b38a;border-radius:14px 22px 17px 9px}.design-menu-heading h3{font-size:27px;line-height:1.7;margin:8px 0}.design-menu-heading p{font-size:14px;line-height:1.95;color:#5a654b}.design-service-list{list-style:none;margin:24px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px}.design-service-list li{display:grid;grid-template-columns:29px 1fr auto;gap:11px;align-items:start;padding:19px 17px;background:#fffaf0;border:1px solid #d2c6a6;border-radius:8px 14px 11px 7px;min-width:0}.design-number{font-size:12px;line-height:2.1;color:#9c8c5e}.design-service-list h4{font-size:17px;line-height:1.8;margin:0;color:#3f5633}.design-service-list p{font-size:12px;line-height:1.9;color:#60694d;margin:5px 0 0}.design-service-list a{font-size:11px;min-height:44px;display:flex;align-items:center;color:#506b3d;white-space:nowrap}.design-menu>.textlink{font-size:14px}.inner-page .forest-world{opacity:1}#portfolio{scroll-margin-top:100px}
@media(min-width:901px){.navlinks{gap:13px!important;font-size:11px!important}.navlinks .navcta{padding:10px 17px}.brand{font-size:15px}.brand-sub{font-size:7px}}
@media(max-width:1100px) and (min-width:901px){.menu{display:block;background:transparent;color:#365132;border:0;font-size:25px}.navlinks{display:none;position:absolute;top:84px;left:0;right:0;background:#fff9edf9;padding:22px 28px;box-shadow:0 8px 18px #21381f24;flex-direction:column;align-items:stretch;gap:8px!important;max-height:calc(100dvh - 84px);overflow-y:auto}.navlinks.open{display:flex}.navlinks>a{font-size:16px;align-self:flex-start;padding:10px 2px!important}.navlinks .navcta{padding:9px 22px!important}}
@media(max-width:900px){.design-menu{padding:24px}.design-service-list{grid-template-columns:1fr}.design-menu-heading h3{font-size:24px}}
@media(max-width:600px){.page-breadcrumb{padding-top:18px;padding-left:20px;font-size:11px}.inner-page main>section:first-of-type{padding-top:20px}.design-menu{padding:20px 14px;margin-top:28px}.design-menu-heading h3{font-size:22px}.design-menu-heading p{font-size:13px}.design-service-list{gap:11px}.design-service-list li{padding:16px 12px;grid-template-columns:24px 1fr;gap:4px 8px}.design-service-list li>a{grid-column:2;font-size:12px;justify-self:start}.design-service-list h4{font-size:17px}.design-service-list p{font-size:13px}.home-page .hero{min-height:0}.home-page .hero-bottom{margin-bottom:0}.home-page footer{margin-top:10px;padding-top:16px}.inner-page #portfolio{padding-bottom:26px}}

/* Larger menu, with the forest deer introducing the navigation. */
:root{--header-height:152px}
header .wrap{max-width:1200px}header nav{display:grid;grid-template-columns:1fr auto;grid-template-rows:86px 62px;height:auto;min-height:152px;gap:0 24px;position:relative;align-items:center;padding:0}
header .brand{grid-column:1;grid-row:1;font-size:17px}header .brand-sub{font-size:8px}header .menu{display:none}
header .navlinks{grid-column:1/-1;grid-row:2;display:flex;position:static;justify-content:center;align-items:center;flex-direction:row;gap:29px!important;font-size:17px!important;padding:0 0 7px;max-height:none;overflow:visible;background:transparent;box-shadow:none;border:0;border-top:1px dashed #c8cfad;width:100%}
header .navlinks>a{font-size:17px!important;min-height:48px;align-self:center;padding:8px 2px!important}header .navlinks .navcta{padding:9px 24px!important}
.nav-animal-guide{grid-column:2;grid-row:1;display:flex;gap:8px;align-items:center;margin:0;max-width:415px}.nav-animal-guide img{width:70px;height:70px;object-fit:contain;flex-shrink:0}.nav-guide-bubble{position:relative;background:#f4f0dce8;border:1px dashed #a7b48a;border-radius:13px 18px 14px 5px;padding:9px 16px;color:#51633d;font-size:12px;line-height:1.8}.nav-guide-bubble:before{content:'';position:absolute;left:-7px;top:50%;width:11px;height:11px;transform:translateY(-50%) rotate(45deg);border-left:1px dashed #a7b48a;border-bottom:1px dashed #a7b48a;background:#f4f0dc}.nav-guide-bubble strong{color:#3d5732;font-size:13px}.nav-guide-compact{display:none}#courses .filters{top:var(--header-height)}
@media(max-width:1100px){:root{--header-height:142px}header nav{grid-template-columns:1fr 48px;grid-template-rows:76px 66px;min-height:142px;column-gap:12px}header .brand{font-size:16px}header .menu{display:block;grid-row:1;grid-column:2;background:transparent;color:#365132;border:0;font-size:27px;width:48px;height:48px}header .navlinks{display:none;position:absolute;top:100%;left:0;right:0;grid-column:auto;grid-row:auto;justify-content:flex-start;flex-direction:column;align-items:stretch;gap:6px!important;padding:17px 24px 24px;background:#fff9edfC;box-shadow:0 10px 20px #233d2726;border-bottom:1px solid #bfc6a2;max-height:calc(100dvh - var(--header-height) - 12px);overflow-y:auto}header .navlinks.open{display:flex}header .navlinks>a{align-self:stretch;font-size:19px!important;padding:8px 12px!important;min-height:49px}header .navlinks .navcta{align-self:flex-start;margin-top:6px}.nav-animal-guide{grid-column:1/-1;grid-row:2;justify-self:end;max-width:none;gap:8px;padding-bottom:6px}.nav-animal-guide img{width:60px;height:60px}.nav-guide-wide{display:none}.nav-guide-compact{display:inline}.nav-guide-compact br{display:none}.nav-guide-bubble{padding:9px 15px;font-size:13px}.nav-guide-bubble strong{font-size:13px}.nav-animal-guide .nav-guide-bubble{min-width:0}}
@media(max-width:600px){:root{--header-height:132px}header .wrap{padding-left:16px;padding-right:14px}header nav{grid-template-rows:70px 62px;min-height:132px;column-gap:8px}header .brand{font-size:14px;gap:8px}header .brand-sub{font-size:6.5px}.nav-animal-guide{justify-self:center;padding-bottom:5px;gap:4px}.nav-animal-guide img{width:55px;height:55px}.nav-guide-bubble{padding:7px 12px;line-height:1.8;font-size:11px}.nav-guide-bubble strong{font-size:12px}.nav-guide-compact br{display:initial}header .navlinks{left:-16px;right:-14px;width:auto;padding:14px 24px 22px}header .navlinks>a{font-size:19px!important}html{scroll-padding-top:calc(var(--header-height) + 16px)}#storybook-work{scroll-margin-top:calc(var(--header-height) + 16px)}}
@media(max-width:360px){header .brand{font-size:12px}.nav-guide-bubble{font-size:11px}.nav-guide-bubble strong{font-size:11px}.nav-animal-guide img{width:50px;height:53px}}

/* Desktop refinement: compact navigation with a quiet, integrated deer hint. */
@media(min-width:1101px){
 :root{--header-height:92px}
 header{background:#fff9edf2;border-bottom:1px solid #b9c29e80;backdrop-filter:blur(12px)}header.is-scrolled{background:#fff9edf7;box-shadow:0 3px 14px #233a2017}
 header .wrap{max-width:1200px}
 header nav{grid-template-columns:auto 1fr;grid-template-rows:48px 30px;min-height:91px;padding:7px 0 6px;gap:0 30px}
 header .brand{grid-column:1;grid-row:1/3;align-self:center;font-size:16px;gap:10px}header .brand-sub{font-size:7px;letter-spacing:.7px}header .brandmark.paw-mark{width:40px;height:40px}
 header .navlinks{grid-column:2;grid-row:1;justify-content:flex-end;align-items:center;gap:21px!important;border:0;padding:0;font-size:16px!important;min-height:48px}
 header .navlinks>a{font-size:16px!important;min-height:44px;padding:7px 0!important}
 header .navlinks .navcta{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:7px 0 7px 18px!important;border-left:1px solid #b9c49c!important;color:#496333;transform:none!important}
 header .navlinks>a:not(.navcta):after{height:2px;bottom:4px}
 .nav-animal-guide{grid-column:2;grid-row:2;justify-self:end;max-width:none;gap:5px;padding:0;align-self:center}
 .nav-animal-guide img{width:30px;height:30px;filter:none;opacity:.9}
 .nav-guide-bubble{padding:0;background:transparent;border:0;box-shadow:none;line-height:1.7;font-size:11px;border-radius:0}.nav-guide-bubble:before{display:none}.nav-guide-bubble strong{font-size:11px;color:#6b7954}
 .home-page .hero{min-height:calc(100dvh - 150px)}
}
@media(min-width:1101px) and (max-width:1220px){header nav{gap:0 20px}header .brand{font-size:15px}header .navlinks{gap:17px!important}header .navlinks>a{font-size:16px!important}}

/* One balanced row: identity, deer hint, then navigation. */
@media(min-width:1101px){
 :root{--header-height:88px}
 header .wrap{max-width:1320px;padding-left:30px;padding-right:30px}
 header nav{grid-template-columns:auto minmax(136px,1fr) auto;grid-template-rows:87px;min-height:87px;padding:0;gap:0 20px}
 header .brand{grid-column:1;grid-row:1;font-size:15px}
 header .navlinks{grid-column:3;grid-row:1;gap:17px!important}
 .nav-animal-guide{grid-column:2;grid-row:1;justify-self:center;gap:4px}
 .nav-animal-guide img{width:46px;height:54px;opacity:1}
 .nav-guide-bubble{line-height:1.7}.nav-guide-bubble strong{font-size:11px;color:#64754e}
}
header .navlinks .navcta{position:relative;background:#efd59a!important;border:1.5px solid #ad8c52!important;border-radius:22px 26px 20px 25px!important;box-shadow:0 3px 0 #b49b6599!important;color:#42562f!important;padding:9px 17px!important;transform:rotate(-2deg)!important;animation:cooperation-glow 2.8s ease-in-out infinite;isolation:isolate}
header .navlinks .navcta:before{content:'✦';position:absolute;right:-7px;top:-11px;font-size:17px;color:#be8e37;text-shadow:0 0 7px #fff2b7;animation:cooperation-sparkle 2.8s ease-in-out infinite;pointer-events:none}
header .navlinks .navcta:hover,header .navlinks .navcta:focus-visible{background:#f7e3b3!important;outline-offset:5px}
@keyframes cooperation-glow{0%,100%{filter:brightness(1);box-shadow:0 3px 0 #b49b6599,0 0 0 0 #e8c97800}50%{filter:brightness(1.07);box-shadow:0 3px 0 #b49b6599,0 0 15px 3px #e8c97870}}
@keyframes cooperation-sparkle{0%,100%{opacity:.45;transform:scale(.8) rotate(-10deg)}50%{opacity:1;transform:scale(1.12) rotate(12deg)}}
@media(min-width:1101px) and (max-width:1220px){header .wrap{padding-left:22px;padding-right:22px}header nav{gap:0 12px;grid-template-columns:auto minmax(124px,1fr) auto}header .brand{font-size:14px;gap:8px}header .brand-sub{font-size:6.5px}header .navlinks{gap:13px!important}header .navlinks>a{font-size:15px!important}.nav-animal-guide img{width:38px;height:48px}.nav-guide-bubble strong{font-size:10px}header .navlinks .navcta{padding:9px 14px!important}}
@media(prefers-reduced-motion:reduce){header .navlinks .navcta,header .navlinks .navcta:before{animation:none!important}}

/* The forest friends speak directly to visitors; navigation has no mascot hint. */
header nav{grid-template-columns:auto 1fr;grid-template-rows:87px;min-height:87px}header .brand{grid-column:1;grid-row:1}header .navlinks{grid-column:2;grid-row:1}
.hero-speech{position:absolute;z-index:4;top:-57px;right:6%;width:255px;padding:15px 20px;background:#fffbee;border:2px solid #76865a;border-radius:26px 29px 24px 27px;box-shadow:3px 5px 0 #71834a27;color:#3c5633;transform:rotate(-3deg);isolation:isolate;text-align:center}
.hero-speech:before{content:'';position:absolute;bottom:-18px;left:47px;width:26px;height:29px;background:#76865a;clip-path:polygon(0 0,100% 0,10% 100%)}.hero-speech:after{content:'';position:absolute;bottom:-13px;left:49px;width:21px;height:26px;background:#fffbee;clip-path:polygon(0 0,100% 0,10% 100%)}
.hero-speech p{font-size:16px;line-height:1.85;margin:0;letter-spacing:.3px;color:#3c5633}
@media(max-width:1100px){:root{--header-height:78px}header nav{grid-template-columns:1fr 48px;grid-template-rows:77px;min-height:77px;padding:0}header .menu{grid-column:2;grid-row:1}header .navlinks{grid-column:auto;grid-row:auto}.hero-speech{right:0;width:225px;top:-54px;padding:12px 15px}.hero-speech p{font-size:14px}}
@media(max-width:600px){:root{--header-height:72px}header nav{grid-template-rows:71px;min-height:71px}header .brand{grid-column:1;grid-row:1}.hero-speech{width:225px;max-width:90%;right:0;top:-46px;padding:11px 13px;border-radius:23px 25px 24px 22px;transform:rotate(-3deg)}.hero-speech p{font-size:14px;line-height:1.8}.hero-speech:before{left:43px}.hero-speech:after{left:45px}.home-page .zoo-visual{margin-top:62px}}
@media(max-width:360px){.hero-speech{width:210px}.hero-speech p{font-size:13px}}
/* Phone speech bubble: smaller, centered above the deer with room for its antlers. */
@media(max-width:600px){.home-page .zoo-visual{margin-top:76px}.hero-speech{left:50%;right:auto;top:-58px;width:190px;max-width:78%;padding:9px 12px;border-radius:20px 23px 20px 22px;transform:translateX(-50%);box-shadow:2px 3px 0 #71834a20}.hero-speech p{font-size:12.5px;line-height:1.75;letter-spacing:0}.hero-speech:before{left:62%;bottom:-16px;width:22px;height:23px}.hero-speech:after{left:calc(62% + 2px);bottom:-12px;width:17px;height:20px}}
@media(max-width:360px){.home-page .zoo-visual{margin-top:71px}.hero-speech{top:-54px;width:178px;padding:8px 10px}.hero-speech p{font-size:12px;line-height:1.75}}
/* Lift the phone speech bubble clear of the deer's antlers. */
@media(max-width:600px){.home-page .zoo-visual{margin-top:90px}.hero-speech{top:-90px}}
@media(max-width:360px){.home-page .zoo-visual{margin-top:85px}.hero-speech{top:-86px}}
.inquiry-trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important}.inquiry-copy{background:#fff9e8;border:1px solid #819771;border-radius:12px;color:#42613e;min-height:44px;padding:9px 18px;cursor:pointer}.inquiry-copy:hover{background:#e8efd9}.inquiry-copy:focus-visible{outline:3px solid #4d6b48;outline-offset:3px}#inquiry .submit:disabled{opacity:.7;cursor:wait}#formstatus{min-height:1.8em}
.contact-channel-lead{max-width:430px;margin:20px 0 18px;padding:14px 18px;background:#fff7dd;border-left:4px solid #bb9154;border-radius:5px 15px 12px 5px;color:#35513b;font-size:16px;line-height:1.85}.contact-channel-lead strong{color:#2d5737}.official-line{font-size:15px;line-height:1.65;text-align:center}.academy-link{display:inline-flex;align-items:center;gap:7px;margin-top:15px;padding:6px 0;border-bottom:1px solid #688665;color:#41623f;font-size:13px;min-height:42px}.academy-link:hover{color:#925c3f}.academy-link:focus-visible{outline:3px solid #4d6b48;outline-offset:3px}
@media(max-width:600px){.contact-channel-lead{font-size:14px;padding:12px 14px}.official-line{font-size:13px}.academy-link{margin-top:12px}}
.contact .contact-channel-lead{color:#35513b}.contact .academy-link{color:#f4e8bf;border-bottom-color:#f4e8bf}.contact .academy-link:hover{color:#fff8e9}

.inquiry-heading{padding-bottom:12px;border-bottom:1px dashed #b9c6a8}.inquiry-heading span{font-size:12px;letter-spacing:.12em;color:#637c55}.inquiry-heading h3{margin:7px 0 6px;font-size:25px;color:#2f4835}.contact .inquiry-heading p{margin:0;color:#566655;font-size:13px;line-height:1.7}@media(max-width:600px){.inquiry-heading h3{font-size:21px}}

.contact .form-pending{margin:0;color:#596c56;font-size:12px;line-height:1.6}.form-line-link{display:block;text-align:center;color:#385942;text-decoration:underline;text-underline-offset:4px;font-size:13px}.form-line-link:focus-visible{outline:2px solid #385942;outline-offset:3px}
.contact .inquiry-heading span{color:#d4dfbd}.contact .inquiry-heading h3{color:#fff8e8}.contact .inquiry-heading p{color:#e4e8d7}.contact .form-pending{color:#e4e8d7}.contact .form-line-link{color:#f4e8bf}
