:root{--green:#183e31;--green-dark:#123126;--cream:#f5efdf;--paper:#eee8d9;--orange:#e69a6c;--ink:#1c3e32;--muted:#647165;--line:rgba(24,62,49,.2);--sans:'DM Sans',sans-serif;--display:'Lilita One','Trebuchet MS',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a,input,textarea,select{outline-offset:5px}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}img{display:block;width:100%;height:auto}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button{border-radius:0}::selection{background:var(--orange);color:var(--green)}[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-70px;z-index:100;background:var(--cream);padding:12px 20px}.skip-link:focus{top:16px}.site-header{height:100px;position:absolute;top:0;left:0;right:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 5.3%;color:var(--cream)}.site-header:after{content:'';position:absolute;bottom:0;left:5.3%;right:5.3%;height:1px;background:rgba(245,239,223,.2)}.brand{display:flex;align-items:center;gap:10px;line-height:1}.brand svg{width:57px;height:45px;stroke-width:1.5}.brand b{font-family:var(--display);font-size:31px;letter-spacing:1px;font-weight:800}.brand small{display:block;font-size:7px;letter-spacing:1.4px;margin-top:5px;font-weight:700}.desktop-nav{display:flex;align-items:center;gap:36px;font-size:12px;font-weight:500}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after,.footer-bottom nav a:after{content:'';position:absolute;left:0;right:100%;height:1px;background:currentColor;bottom:4px;transition:right .25s}.desktop-nav a:hover:after,.footer-bottom nav a:hover:after{right:0}.desktop-nav a:last-child{color:var(--orange)}.desktop-nav a span{margin-left:8px;font-size:18px}.header-actions{display:flex;align-items:center;gap:15px}.cart-trigger{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;padding:10px}.cart-trigger svg{width:21px;height:21px}.cart-trigger span{font-size:11px}.menu-toggle{display:none;background:none;color:inherit;border:0;width:34px;height:34px;padding:5px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}.mobile-menu{position:absolute;top:100%;left:0;right:0;padding:24px;background:var(--green-dark);border-bottom:1px solid #697c6f}.mobile-menu a{display:block;padding:12px;font-size:20px}.hero{position:relative;min-height:950px;overflow:hidden;background:var(--green);color:var(--cream);display:flex;justify-content:center;text-align:center}.hero:after{content:'';pointer-events:none;position:absolute;inset:0;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.hero-copy{position:relative;z-index:3;padding-top:154px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;line-height:1.4;margin:0 0 23px;display:flex;align-items:center;gap:14px}.hero-eyebrow{justify-content:center;color:#d8ddbf;letter-spacing:3px;margin-bottom:12px}.tiny-star{font-size:19px;line-height:1;color:var(--orange)}h1{font-family:var(--display);font-size:clamp(130px,15.6vw,224px);letter-spacing:-4px;line-height:.95;font-weight:800;margin:0}h1>span{display:block;font-family:var(--sans);font-size:clamp(19px,2.25vw,32px);letter-spacing:10px;font-weight:600;line-height:1.5;margin:12px 0 0 9px}.hero-tagline{font-family:Georgia,serif;font-style:italic;font-size:29px;line-height:1.3;margin:28px 0 13px}.hero-description{font-size:13px;line-height:1.8;color:#d1d9cd;margin:0}.hero-buttons{display:flex;justify-content:center;gap:29px;align-items:center;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 23px;border:1px solid transparent;font-weight:600;font-size:12px;line-height:1.3;min-height:50px;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:4px 4px 0 rgba(24,62,49,.16)}.button span{font-size:20px;font-weight:400;line-height:.7}.button-orange{background:var(--orange);color:var(--green-dark)}.button-orange:hover{background:#f1ae83}.button-green{background:var(--green);color:var(--cream)}.button-green:hover{background:#2a5140}.button-outline{border-color:var(--green);color:var(--green);background:transparent}.button-outline:hover{background:#e3dfcd}.text-link{display:inline-flex;align-items:center;gap:24px;font-size:12px;font-weight:700;border-bottom:1px solid currentColor;padding:6px 0}.text-link span{font-size:20px;font-weight:400;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.light{color:var(--cream)}.hero-landscape{position:absolute;bottom:37px;left:0;right:0;height:710px;pointer-events:none;opacity:.8}.hero-landscape img{height:100%;width:100%;object-fit:cover;object-position:center bottom}.park-stamp{position:absolute;right:7%;top:177px;z-index:3;width:126px;height:154px;padding:17px 9px 12px;border:1px solid #bdcbb1;transform:rotate(11deg);border-radius:60px 60px 45px 45px;color:#d6dfc5;line-height:1.1}.park-stamp:after{content:'';position:absolute;inset:5px;border:1px solid #849c80;border-radius:inherit}.park-stamp span{display:block;font-size:7px;letter-spacing:1.1px}.park-stamp svg{width:63px;height:39px;margin:5px auto;stroke-width:1.2}.park-stamp b{display:block;font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:.7px;margin-bottom:8px}.hero-bottom{position:absolute;z-index:3;left:5.3%;right:5.3%;bottom:28px;display:flex;justify-content:space-between;align-items:flex-end}.hero-coordinate{font-size:8px;letter-spacing:1.1px;opacity:.65}.scroll-cue{display:flex;flex-direction:column;align-items:center;font-size:8px;letter-spacing:2px;gap:14px}.scroll-arrow{border:1px solid #849a83;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:18px;animation:scroll-nudge 2.8s ease-in-out infinite}@keyframes scroll-nudge{50%{transform:translateY(5px)}}.trail-ribbon{height:55px;background:var(--orange);display:flex;align-items:center;justify-content:space-around;gap:25px;overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--green);border-top:1px solid var(--green);font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:1.5px}.trail-ribbon i{font-size:26px;font-style:normal}.section{position:relative;padding:110px 0}.section-inner{position:relative;z-index:2;width:min(1100px,80%);margin:auto}.section h2{font-family:var(--display);font-weight:700;font-size:64px;letter-spacing:-.6px;line-height:1.01;margin:0 0 25px}.section p:not(.eyebrow):not(.shop-note):not(.cover-caption):not(.form-note):not(.form-status){color:#536356}.stop-number{display:inline-grid;place-items:center;width:25px;height:25px;border:1px solid #879483;border-radius:50%;font-size:8px;letter-spacing:0;font-weight:500}.about{padding:113px 0 128px}.about-grid{display:grid;grid-template-columns:1fr .95fr;gap:90px;align-items:center}.about-copy>p:not(.eyebrow){max-width:424px;font-size:14px;line-height:1.8;margin:0 0 15px}.about-copy>.text-link{margin-top:8px}.handwritten{font-family:Georgia,serif;font-style:italic;font-size:23px;margin:28px 0 0;transform:rotate(-6deg);display:flex;align-items:center;gap:8px}.handwritten span{font-size:34px}.handwritten svg{width:65px;height:25px;margin-left:10px;transform:rotate(6deg);stroke:#be6a42}.about-photos{position:relative;min-height:428px;margin:6px 10px 20px}.about-photo-main{position:absolute;right:0;top:0;width:83%;height:400px;object-fit:cover;clip-path:polygon(4% 0,95% 4%,100% 92%,12% 100%,0 29%)}.about-photo-small{position:absolute;bottom:-14px;left:-15px;width:42%;height:229px;object-fit:cover;clip-path:polygon(0 8%,90% 0,100% 90%,9% 100%);transform:rotate(-8deg);filter:drop-shadow(3px 3px 0 var(--cream))}.photo-outline{position:absolute;top:-14px;right:-15px;width:79%;height:417px;border:1px solid #ba704c;transform:rotate(7deg)}.photo-note{position:absolute;bottom:-48px;right:5px;font-size:8px;letter-spacing:1.3px;transform:rotate(-4deg)}.photo-spark{position:absolute;top:-37px;left:12px;color:#bc7048;font-size:74px;line-height:1;transform:rotate(-10deg)}.book{background:var(--paper);padding:115px 0 117px}.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.book-display{position:relative;min-height:530px;display:flex;align-items:center;justify-content:center;isolation:isolate}.book-object{width:300px;transform:rotate(-10deg);position:relative;box-shadow:15px 22px 20px -13px rgba(24,62,49,.4);transition:transform .6s}.book-object:hover{transform:rotate(-6deg) translateY(-6px)}.book-object:before{content:'';position:absolute;left:-9px;top:2px;width:11px;height:calc(100% - 3px);background:#234c37;transform:skewY(-12deg);border-left:1px solid #79917a}.book-object:after{content:'';position:absolute;left:-1px;bottom:-8px;right:1px;height:8px;transform:skewX(-37deg);transform-origin:top;background:repeating-linear-gradient(#d1cdbd 0 1px,#f2eddb 1px 2px);border-bottom:2px solid var(--green)}.book-object img{border-left:1px solid #637e59}.book-orbit{position:absolute;z-index:-1;width:470px;height:385px;left:0;top:65px;border:1px solid #bdc2aa;border-radius:48% 52% 35% 65%/52% 37% 63% 48%;transform:rotate(-30deg)}.orbit-two{width:420px;height:450px;top:35px;left:35px;transform:rotate(28deg)}.book-sun{position:absolute;right:4px;top:0;color:#c57650;font-size:95px;line-height:1}.book-note{position:absolute;right:-14px;bottom:21px;font-family:Georgia,serif;font-style:italic;transform:rotate(-8deg);font-size:17px;line-height:1.3}.cover-caption{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:7px;letter-spacing:1.4px;color:#7c8374}.book-copy h3{font-size:17px;font-weight:600;margin:0 0 14px}.book-copy>p:not(.eyebrow):not(.shop-note){font-size:14px;max-width:415px;line-height:1.85}.book-details{list-style:none;padding:0;margin:24px 0 28px;font-size:11px}.book-details li{display:flex;gap:14px;align-items:center;margin:10px 0}.book-details span{color:#aa5d38;font-size:17px}.product-actions{display:flex;gap:12px}.shop-note{font-size:9px;letter-spacing:.2px;color:#758071;margin:12px 0 0}.hats{padding:112px 0 92px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:330px;font-size:12px;line-height:1.9;margin-bottom:4px}.hat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.hat-image-wrap{height:345px;position:relative;overflow:hidden;background:#cdd0b5}.hat-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 53%;transition:transform .6s}.hat-card:hover .hat-image-wrap img{transform:scale(1.06)}.shape-one{clip-path:polygon(0 5%,93% 0,100% 92%,6% 100%)}.shape-two{clip-path:polygon(6% 0,100% 6%,94% 100%,0 93%)}.shape-three{clip-path:polygon(0 8%,96% 0,100% 96%,4% 100%)}.hat-tag{position:absolute;left:23px;bottom:27px;font-size:7px;font-weight:600;letter-spacing:1.1px;background:var(--cream);padding:6px 10px;transform:rotate(-3deg)}.hat-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:23px 0 2px}.hat-heading h3{font-family:var(--display);font-size:26px;line-height:1.2;margin:0;font-weight:600}.hat-price{font-size:12px}.hat-card>p{font-size:10px;margin:5px 0 0}.hat-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #b8c1ac;padding:17px 0 13px}.color-dot{display:block;height:15px;width:15px;border-radius:50%;border:1px solid #929782;position:relative}.color-dot.olive{background:#737858}.color-dot.brown{background:#5a4b3e}.color-dot.cream{background:#e7e3d4}.color-dot.two-tone{background:linear-gradient(135deg,#e5e3d5 50%,#605042 51%)}.color-dot.selected:after{content:'';position:absolute;inset:-4px;border:1px solid var(--green);border-radius:50%}.color-swatches{display:flex;gap:12px}.color-swatches button{padding:0}.add-button{border:0;background:none;padding:4px 0 4px 10px;font-size:11px;font-weight:600;display:flex;gap:22px;align-items:center;color:var(--green)}.add-button span{font-size:20px;font-weight:400;transition:transform .3s}.add-button:hover span{transform:rotate(90deg)}.hats-shop-note{text-align:center;margin-top:36px}.contact{padding:104px 0 110px;background:#e3e8d6}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:start}.contact h2{font-size:74px}.contact h2 em{font-family:Georgia,serif;font-size:61px;font-weight:400;line-height:1.3}.contact-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:320px}.camp-doodle{margin-top:38px;display:flex;align-items:flex-end;gap:8px}.camp-doodle svg{width:186px;stroke-width:1.3}.camp-doodle span{font-size:7px;letter-spacing:1px;line-height:1.7;margin-bottom:17px;transform:rotate(-5deg)}.contact-form{border-top:1px solid #99a78e;margin-top:4px}.form-heading{display:flex;justify-content:space-between;align-items:center;padding:17px 0 31px;font-size:9px;font-weight:700;letter-spacing:1.5px}.form-heading>span:last-child{font-size:23px;font-weight:400}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.field label{font-size:10px;font-weight:600}.field label span{color:#9e5b38}.field input,.field textarea,.field select{width:100%;border:0;border-bottom:1px solid #aab69c;background:transparent;border-radius:0;color:var(--green);padding:9px 0 13px;font-size:12px;line-height:1.6}.field textarea{resize:vertical;min-height:117px;max-height:350px}.field input::placeholder,.field textarea::placeholder{color:#7a8875;opacity:1}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-bottom-color:var(--green);box-shadow:0 1px 0 var(--green)}.contact-form>.button{width:100%;margin-top:2px}.form-note{font-size:9px;color:#6c7968;margin-top:12px}.form-status{padding:13px 15px;border-left:2px solid var(--green);font-size:12px;background:rgba(255,255,255,.25)}.site-footer{position:relative;z-index:2;background:var(--green);color:var(--cream);padding:65px 7% 30px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:49px;border-bottom:1px solid #657d62}.footer-wordmark{font-family:var(--display);font-size:83px;font-weight:800;letter-spacing:-1px;line-height:1}.footer-wordmark span{display:block;font-family:var(--sans);font-size:13px;letter-spacing:4.5px;margin-top:9px;margin-left:1px;font-weight:500}.footer-message{position:relative;font-size:28px;line-height:1.3;margin-right:80px}.footer-message em{font-family:Georgia,serif;font-weight:400;color:#dbb485}.footer-message>span{position:absolute;right:-75px;top:0;font-size:70px;font-weight:400}.footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-top:27px;font-size:9px}.footer-bottom p{margin:0;line-height:1.8}.footer-bottom p>span{opacity:.5}.footer-bottom nav{display:flex;gap:26px}.footer-bottom nav a{position:relative;padding:7px 0}.back-top{display:flex;gap:20px;align-items:center}.back-top span{font-size:18px}dialog{color:var(--green);border:0;position:fixed;inset:0 0 0 auto;margin:0;width:min(520px,100%);max-width:100%;height:100dvh;max-height:100dvh;background:var(--cream);padding:35px;box-shadow:-10px 0 60px #0003}dialog::backdrop{background:#061d16aa;backdrop-filter:blur(3px)}.cart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.cart-head .eyebrow{font-size:8px;margin-bottom:12px}.cart-head h2{font-family:var(--display);font-size:48px;line-height:1;margin:0}.cart-head h2 span{color:#b86e45}.icon-button{background:none;border:1px solid #b4bdab;width:35px;height:35px;font-size:25px;line-height:1;color:inherit}.cart-demo{font-size:11px;background:var(--paper);padding:13px;margin:25px 0}.cart-empty{padding:45px 0;text-align:center;font-family:Georgia,serif;font-style:italic}.cart-row{display:grid;grid-template-columns:68px 1fr auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}.cart-row img{height:87px;object-fit:cover}.cart-row h3{font-family:var(--display);font-size:24px;line-height:1.1;margin:0 0 5px}.cart-row p{font-size:10px;margin:0}.cart-row>strong{font-size:12px}.quantity-control{display:flex;align-items:center;gap:15px;font-size:12px;margin-top:13px}.quantity-control button{background:none;border:1px solid #b4bdab;width:25px;height:25px;padding:0;color:inherit;font-size:16px}.quantity-control .remove-item{border:none;width:auto;margin-left:7px;font-size:9px;text-decoration:underline}.cart-totals{display:flex;justify-content:space-between;font-size:12px;padding:23px 0}.cart-totals strong{font-size:22px}.cart-totals+.button{width:100%}.continue-shopping{display:block;margin:20px auto 0;border:0;border-bottom:1px solid var(--green);background:none;font-size:11px;color:inherit;padding:3px}.checkout-status{font-size:12px;background:#e2e8d5;padding:13px}.toast{position:fixed;z-index:50;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;background:var(--green);border:1px solid #809271;color:var(--cream);box-shadow:0 8px 30px #0002;padding:14px 24px;font-size:12px;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100% - 36px);text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.reveal{transition:opacity .8s,transform .8s}.reveal.pending{opacity:0;transform:translateY(24px)}
@media(min-width:1600px){.hero{min-height:1000px}.hero-landscape{height:800px}.hero-copy{padding-top:166px}.hero-tagline{margin-top:34px}}
@media(max-width:1100px){.site-header{padding:0 5%}.desktop-nav{gap:23px}.park-stamp{right:4%;top:175px;width:104px;height:139px}.park-stamp b{font-size:17px}.park-stamp span{font-size:6px}.hero{min-height:875px}.hero-copy{padding-top:164px}.hero-landscape{height:640px}.hero h1{font-size:178px}.hero h1>span{font-size:25px;letter-spacing:8px}.section-inner{width:80%}.section h2{font-size:55px}.about-grid,.book-grid{gap:55px}.about-photo-main{height:345px}.about-photos{min-height:380px}.photo-outline{height:350px}.about-photo-small{height:192px;bottom:8px}.photo-note{bottom:-23px;font-size:7px}.book-object{width:255px}.book-display{min-height:480px}.book-orbit{width:360px;height:330px;left:-15px}.orbit-two{width:325px;height:390px;left:5px}.book-sun{font-size:75px}.book-note{right:-17px;font-size:15px}.product-actions{gap:8px}.product-actions .button{padding:14px 17px;gap:20px}.hat-grid{gap:23px}.hat-image-wrap{height:290px}.hat-heading h3{font-size:23px}.hat-tag{left:18px;font-size:6px}.contact-grid{gap:55px}.contact h2{font-size:66px}.contact h2 em{font-size:52px}.camp-doodle svg{width:150px}.camp-doodle span{font-size:6px}.section-heading>p{font-size:11px;max-width:260px}}
@media(max-width:800px){.site-header{height:84px}.brand b{font-size:27px}.brand svg{width:48px}.brand small{font-size:6px}.desktop-nav{gap:19px;font-size:11px}.hero{min-height:850px}.hero-copy{padding-top:158px}.hero h1{font-size:160px}.hero h1>span{font-size:22px;letter-spacing:6px}.hero-eyebrow{font-size:8px;letter-spacing:2px}.hero-tagline{font-size:26px}.hero-description{font-size:12px}.park-stamp{display:none}.hero-landscape{height:575px;width:130%;left:-15%;bottom:47px}.hero-coordinate{display:none}.hero-bottom{justify-content:center}.hero-buttons{gap:22px}.hero-buttons .button{font-size:11px;padding:15px 17px;gap:20px}.hero-buttons .text-link{font-size:11px}.section{padding:80px 0}.section-inner{width:79%}.section h2{font-size:48px}.about-grid{gap:36px}.about-copy>p:not(.eyebrow){font-size:12px}.about-photos{min-height:330px}.about-photo-main{width:100%;height:300px}.about-photo-small{height:164px;width:52%;left:-28px;bottom:-2px}.photo-outline{width:94%;height:305px;right:-10px}.photo-spark{font-size:52px;top:-32px;left:-27px}.photo-note{bottom:-35px;font-size:6px;right:-10px}.handwritten{font-size:18px;gap:4px}.handwritten span{font-size:27px}.handwritten svg{width:45px}.book-grid{gap:40px}.book-display{min-height:440px}.book-object{width:220px}.book-orbit{width:290px;height:300px;left:-20px}.orbit-two{width:260px;height:330px;left:0}.book-sun{right:-10px;font-size:65px}.book-note{bottom:10px;font-size:13px}.book-copy>p:not(.eyebrow):not(.shop-note){font-size:12px}.book-copy h3{font-size:15px}.book-details{font-size:9px}.book-details li{gap:8px}.product-actions{flex-wrap:wrap}.product-actions .button{width:100%}.section-heading{align-items:start;gap:20px}.section-heading>p{max-width:200px;font-size:11px}.hat-grid{gap:17px}.hat-image-wrap{height:230px}.hat-heading h3{font-size:21px}.hat-price{font-size:10px}.hat-card>p{font-size:8px}.hat-tag{font-size:5px;left:12px;padding:5px 6px}.hat-heading{align-items:start;gap:3px}.hat-bottom{padding:15px 0;align-items:flex-start;gap:15px;flex-direction:column}.add-button{padding:2px 0;font-size:10px;justify-content:space-between;width:100%}.contact-grid{gap:35px}.contact h2{font-size:56px}.contact h2 em{font-size:42px}.contact-copy>p:not(.eyebrow){font-size:12px}.form-row{grid-template-columns:1fr;gap:0}.camp-doodle{display:block}.camp-doodle span{display:block;margin:10px 0 0 20px;font-size:7px}.footer-message{font-size:25px}.footer-wordmark{font-size:65px}.footer-wordmark span{font-size:10px;letter-spacing:3.7px}.footer-bottom{flex-wrap:wrap}.footer-bottom nav{gap:19px}.back-top{margin-left:auto}}
@media(max-width:600px){html{scroll-padding-top:24px}.site-header{padding:0 6%;height:78px}.site-header:after{left:6%;right:6%}.desktop-nav{display:none}.menu-toggle{display:block}.brand{gap:7px}.brand b{font-size:25px}.brand svg{width:41px}.brand small{font-size:5.5px;letter-spacing:1px}.header-actions{gap:6px}.cart-trigger{gap:6px}.hero{min-height:860px}.hero-copy{padding:139px 20px 0;width:100%}.hero-eyebrow{font-size:7px;letter-spacing:2px;gap:12px;margin-bottom:20px}.tiny-star{font-size:15px}.hero h1{font-size:clamp(99px,25vw,151px);letter-spacing:-2px}.hero h1>span{font-size:clamp(15px,4vw,23px);letter-spacing:4px;margin:14px 0 0 4px}.hero-tagline{font-size:24px;margin-top:30px}.hero-description{font-size:11px;line-height:1.9;margin-top:15px}.hero-buttons{flex-direction:column;gap:16px;margin-top:26px}.hero-buttons .button{font-size:11px;padding:15px 21px;gap:35px}.hero-buttons .text-link{font-size:10px;padding-bottom:4px}.hero-landscape{height:465px;width:200%;left:-46%;bottom:55px;opacity:.72}.hero-bottom{bottom:25px}.scroll-cue{font-size:7px;letter-spacing:1.8px;gap:10px}.trail-ribbon{height:46px;justify-content:flex-start;gap:22px;padding-left:20px;font-size:16px}.trail-ribbon i{font-size:22px}.section{padding:70px 0 75px}.section-inner{width:auto;margin-left:15%;margin-right:7%}.section h2{font-size:50px;line-height:1.03;margin-bottom:22px}.eyebrow{font-size:8px;letter-spacing:1.5px;gap:11px;margin-bottom:20px}.stop-number{width:22px;height:22px;font-size:7px}.about-grid{grid-template-columns:1fr;gap:57px}.about-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;max-width:none}.text-link{font-size:11px}.handwritten{font-size:20px;margin-top:24px}.handwritten span{font-size:30px}.about-photos{min-height:380px;max-width:320px;width:100%;margin:0 auto 10px}.about-photo-main{height:350px;width:87%;right:0}.photo-outline{width:85%;height:350px;right:-5px;top:-10px}.about-photo-small{height:193px;width:43%;left:0;bottom:2px}.photo-note{bottom:-15px;right:0;font-size:6px}.photo-spark{font-size:55px;left:10px}.book-grid{grid-template-columns:1fr;gap:45px}.book-display{min-height:425px;grid-row:2;max-width:340px;width:100%;margin:auto}.book-object{width:240px}.book-orbit{width:320px;height:300px;top:50px;left:0}.orbit-two{width:280px;height:360px;left:20px;top:25px}.book-sun{font-size:75px;right:-10px;top:0}.book-note{bottom:-5px;right:0;font-size:14px}.cover-caption{bottom:-34px;font-size:6px}.book{padding-bottom:91px}.book-copy h3{font-size:17px}.book-copy>p:not(.eyebrow):not(.shop-note){font-size:12px}.book-details{font-size:10px;margin:22px 0}.product-actions{flex-wrap:nowrap;gap:9px}.product-actions .button{width:auto;flex:1;gap:15px;padding:15px;font-size:11px}.shop-note{font-size:8px}.section-heading{display:block;margin-bottom:31px}.section-heading h2{margin-bottom:18px}.section-heading>p{max-width:none;font-size:12px;line-height:1.85}.hat-grid{grid-template-columns:1fr;gap:42px}.hat-image-wrap{height:340px;max-height:98vw}.hat-image-wrap img{object-position:center 53%}.hat-tag{font-size:7px;left:24px;bottom:26px;padding:7px 10px}.hat-heading{margin-top:19px;align-items:center}.hat-heading h3{font-size:30px}.hat-price{font-size:13px}.hat-card>p{font-size:10px;margin-top:5px}.hat-bottom{flex-direction:row;align-items:center;padding:18px 0}.add-button{width:auto;gap:40px;font-size:12px}.color-dot{width:17px;height:17px}.hats-shop-note{text-align:left;font-size:8px;line-height:1.8;margin-top:30px}.contact-grid{grid-template-columns:1fr;gap:37px}.contact h2{font-size:65px}.contact h2 em{font-size:53px}.contact-copy>p:not(.eyebrow){font-size:12px}.camp-doodle{display:flex;margin-top:23px;gap:15px}.camp-doodle svg{width:145px}.camp-doodle span{font-size:6px;white-space:nowrap;margin:0 0 14px}.contact-form{margin-top:0}.form-heading{padding-bottom:22px;font-size:8px}.form-row{grid-template-columns:1fr}.field label{font-size:10px}.field input,.field select,.field textarea{font-size:13px}.form-note{font-size:8px}.site-footer{padding:50px 7% 25px 15%}.footer-top{display:block;padding-bottom:31px}.footer-wordmark{display:inline-block;font-size:79px}.footer-wordmark span{font-size:12px;letter-spacing:4.5px}.footer-message{font-size:25px;margin:35px 70px 0 0}.footer-message>span{right:-55px;font-size:56px;top:-5px}.footer-bottom{display:flex;align-items:start;gap:23px;font-size:8px}.footer-bottom nav{width:100%;order:-1;gap:0;justify-content:space-between;font-size:10px}.back-top{margin-left:0;gap:15px}.footer-bottom p{flex:1}.toast{font-size:11px;padding:13px 20px;width:max-content;bottom:15px}dialog{padding:27px 23px}.cart-head h2{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal.pending{opacity:1;transform:none}}
/* Keep the decorative details within the page on narrow screens. */
.book { overflow: clip; }
.park-stamp { width: 138px; height: 166px; padding: 14px 12px; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.park-stamp span { max-width: 100%; white-space: nowrap; line-height: 1.15; }
.park-stamp svg { flex: 0 0 auto; width: 58px; height: 32px; margin: 0; }
.park-stamp b { font-size: 18px; line-height: 1.05; letter-spacing: .5px; margin: 0; }
@media (min-width: 801px) { .park-stamp { display: flex; } }
.hero-coordinate:last-child { align-self: flex-start; margin-top: -27px; }
.cart-row { grid-template-columns: 68px minmax(0, 1fr) auto; }
.quantity-control { flex-wrap: wrap; gap: 10px; }
@media (max-width: 1100px) { .park-stamp { width: 113px; height: 148px; padding: 14px 10px; } .park-stamp b { font-size: 16px; } .park-stamp svg { width: 50px; height: 27px; } }
@media (max-width: 360px) { .book-object { width: 212px; } .book-note { font-size: 12px; } .contact h2 { font-size: 58px; } .contact h2 em { font-size: 47px; } .camp-doodle { gap: 5px; } .camp-doodle svg { width: 130px; } }
.about { overflow: clip; }
/* The supplied cover includes outer padding; frame it without editing the image. */
.book-cover-frame { position: relative; width: 100%; aspect-ratio: 3 / 4; overflow: hidden; background: #cfac87; border-radius: 2px; }
.book-cover-frame img { position: absolute; top: 50%; left: 50%; width: 134.1%; height: 134.1%; max-width: none; border: 0; transform: translate(-50%, -50%); }
.book-object:before { background: #af835e; border-left-color: #8d6549; }
.book-object:after { border-bottom-color: #9b7454; }
.about-photo-main, .about-photo-small, .hat-image-wrap, .photo-outline { clip-path: none; border-radius: 24px; }
.hat-image-wrap img { border-radius: inherit; }
.cart-photo { position: relative; width: 68px; height: 87px; overflow: hidden; border-radius: 12px; }
.cart-photo img { width: 100%; height: 100%; object-fit: cover; }
.cart-book-photo { height: auto; aspect-ratio: 3 / 4; border-radius: 2px; background: #cfac87; }
.cart-book-photo img { position: absolute; top: 50%; left: 50%; width: 134.1%; height: 134.1%; max-width: none; transform: translate(-50%, -50%); }
/* Rounded display lettering echoes the title on Al's supplied book cover. */
.brand b, .hero h1, .section h2, .book-copy h3, .hat-heading h3, .cart-head h2, .cart-row h3, .footer-wordmark, .footer-message, .footer-message em { font-family: var(--display); font-weight: 400; }
.brand b { font-size: 27px; letter-spacing: 0; }
.hero h1 { font-size: clamp(110px, 13.5vw, 195px); letter-spacing: -3px; }
.hero h1 > span { font-family: var(--display); font-size: clamp(19px, 2.25vw, 32px); font-weight: 400; letter-spacing: 3px; }
.section h2 { font-size: 52px; line-height: 1.08; letter-spacing: -.5px; }
.book-copy h3 { font-size: 25px; }
.hat-heading h3 { font-size: 24px; line-height: 1.15; }
.contact h2 { font-size: 60px; }
.contact h2 em { font-family: var(--display); font-size: 51px; font-weight: 400; font-style: normal; line-height: 1.2; }
.cart-head h2 { font-size: 40px; }
.footer-wordmark { font-size: 72px; letter-spacing: -1.5px; }
.footer-message { font-size: 27px; }
.footer-message em { font-style: normal; }
.park-stamp b, .trail-ribbon { font-weight: 400; }
@media (max-width: 1100px) {
  .hero h1 { font-size: clamp(130px, 15vw, 165px); }
  .section h2 { font-size: 44px; }
  .contact h2 { font-size: 51px; }
  .contact h2 em { font-size: 44px; }
  .hat-heading h3 { font-size: 21px; }
}
@media (max-width: 800px) {
  .hero h1 { font-size: 137px; }
  .brand b { font-size: 24px; }
  .section h2 { font-size: 38px; }
  .book-copy h3 { font-size: 22px; }
  .contact h2 { font-size: 44px; }
  .contact h2 em { font-size: 38px; }
  .hat-heading h3 { font-size: 20px; }
  .footer-wordmark { font-size: 62px; }
  .footer-message { font-size: 23px; }
}
@media (max-width: 600px) {
  .brand b { font-size: 22px; }
  .hero h1 { font-size: clamp(85px, 24vw, 136px); letter-spacing: -2px; }
  .hero h1 > span { font-size: clamp(15px, 4vw, 23px); }
  .section h2 { font-size: 40px; }
  .contact h2 { font-size: 48px; }
  .contact h2 em { font-size: 42px; }
  .hat-heading h3 { font-size: 24px; }
  .cart-head h2 { font-size: 34px; }
  .footer-wordmark { font-size: 67px; }
}
@media (max-width: 360px) {
  .section h2 { font-size: 37px; }
  .contact h2 { font-size: 43px; }
  .contact h2 em { font-size: 38px; }
  .footer-wordmark { font-size: 60px; }
}

.hero-eyebrow { font-size: 14px; letter-spacing: 1.8px; }
.tiny-star { display: block; width: 1em; height: 1em; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.footer-message { margin-right: 0; }
.trail-ribbon { display: block; padding: 0; }
.trail-ribbon-copy { display: flex; align-items: center; justify-content: space-around; gap: 25px; height: 100%; margin-right: max(120px, 15vw, calc((100vw - 1100px) / 2)); overflow: hidden; }
.trail-ribbon-copy > * { flex-shrink: 0; }
@media (max-width: 760px) {
  .trail-ribbon { height: auto; min-height: 46px; }
  .trail-ribbon-copy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin-left: 52px; margin-right: 0; padding: 12px 14px 12px 0; gap: 16px; text-align: center; }
  .trail-ribbon-copy > span { white-space: nowrap; font-size: clamp(14px, 4vw, 16px); line-height: 1.35; letter-spacing: .4px; }
  .trail-ribbon-copy > i, .trail-ribbon-copy > span:nth-of-type(even), .trail-ribbon-copy > span:last-of-type { display: none; }
}

/* Keep mobile copy and controls comfortably readable, with room to wrap. */
@media (max-width: 600px) {
  .hero { min-height: 0; }
  .hero-copy { padding-bottom: 320px; }
  .eyebrow, .hero-eyebrow, .cart-head .eyebrow {
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: 1.2px;
    gap: 10px;
  }
  .stop-number { flex: 0 0 28px; width: 28px; height: 28px; font-size: 10px; }
  .hero-description,
  .about-copy > p:not(.eyebrow),
  .book-copy > p:not(.eyebrow):not(.shop-note),
  .section-heading > p,
  .contact-copy > p:not(.eyebrow) { font-size: 16px; line-height: 1.75; }
  .book-details { font-size: 14px; line-height: 1.65; }
  .hat-card > p, .cart-row p { font-size: 14px; line-height: 1.6; }
  .shop-note, .hats-shop-note, .form-note, .footer-bottom p { font-size: 12px; line-height: 1.65; }
  .cart-demo, .cart-empty, .checkout-status, .form-status { font-size: 15px; line-height: 1.7; }
  .form-heading { font-size: 12px; letter-spacing: 1.2px; }
  .hero-eyebrow { font-size: 14px; }
  .brand { gap: 7px; }
  .brand b { font-size: 28px; }
  .brand small { font-size: 12px; letter-spacing: .1px; line-height: 1.3; }
  .hero h1 > span { font-size: clamp(20px, 5vw, 28px); letter-spacing: 1.5px; }
  .header-actions { gap: 2px; }
  .cart-trigger, .menu-toggle, .icon-button { min-width: 44px; min-height: 44px; flex-shrink: 0; }
  .cart-trigger { padding: 8px; }
  .cart-trigger span { font-size: 14px; }
  .menu-toggle { padding: 9px; }
  .button, .hero-buttons .button, .product-actions .button {
    font-size: 16px;
    line-height: 1.4;
    min-height: 52px;
    padding: 14px 16px;
    gap: 16px;
  }
  .text-link, .hero-buttons .text-link, .add-button, .continue-shopping {
    font-size: 16px;
    line-height: 1.5;
    min-height: 44px;
  }
  .hero-buttons .text-link { padding: 8px 0; }
  .product-actions { flex-direction: column; gap: 12px; }
  .product-actions .button { width: 100%; flex: auto; }
  .hat-heading { gap: 12px; }
  .hat-price { font-size: 16px; flex-shrink: 0; }
  .hat-tag { font-size: 12px; letter-spacing: .5px; }
  .hat-bottom { flex-wrap: wrap; gap: 12px; }
  .add-button { margin-left: auto; padding: 8px 0 8px 10px; gap: 16px; }
  .color-dot { width: 22px; height: 22px; }
  .color-swatches { gap: 4px; }
  .color-swatches .color-dot { width: 44px; height: 44px; border: 10px solid var(--cream); }
  .color-dot.selected:after { inset: -5px; }
  .field label { font-size: 14px; }
  .field input, .field select, .field textarea { font-size: 16px; min-height: 48px; }
  .field input::placeholder, .field textarea::placeholder { color: #536356; }
  .scroll-cue { font-size: 13px; letter-spacing: 1px; }
  .scroll-arrow { width: 44px; height: 44px; }
  .photo-note { font-size: 12px; letter-spacing: .5px; bottom: -36px; max-width: 100%; }
  .camp-doodle { flex-direction: column; align-items: flex-start; gap: 12px; }
  .camp-doodle span { font-size: 12px; white-space: normal; margin: 0; }
  .footer-bottom { gap: 20px; }
  .footer-wordmark span { font-size: 14px; letter-spacing: 2px; }
  .footer-bottom nav { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; font-size: 16px; }
  .footer-bottom nav a { display: flex; align-items: center; min-height: 44px; }
  .back-top { width: 100%; min-height: 44px; font-size: 16px; }
  .footer-bottom p > span { opacity: .8; }
  dialog { padding: 24px 20px; }
  .cart-head { gap: 12px; }
  .cart-row { grid-template-columns: 56px minmax(0, 1fr); gap: 12px 14px; }
  .cart-photo { width: 56px; }
  .cart-row > strong { grid-column: 2; font-size: 16px; }
  .quantity-control { gap: 8px; font-size: 16px; }
  .quantity-control button { width: 44px; height: 44px; font-size: 20px; }
  .quantity-control .remove-item { min-height: 44px; margin-left: 0; padding: 8px; font-size: 14px; }
  .cart-totals { font-size: 16px; align-items: center; gap: 16px; }
  .continue-shopping { padding: 8px; }
  .toast { font-size: 14px; line-height: 1.5; }
}
