@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Fraunces:opsz,wght@9..144,300;9..144,600&display=swap');
:root{--ink:#17231c;--paper:#f3efe6;--cream:#fbf7ef;--sage:#b9c8ae;--moss:#334b3c;--clay:#c96f52;--sun:#e7cf77;--line:rgba(23,35,28,.18);--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{max-width:1480px;margin:auto}.topline{height:9px;background:var(--ink)}.nav{display:flex;align-items:center;justify-content:space-between;padding:22px 34px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(243,239,230,.94);backdrop-filter:blur(12px);z-index:30}.brand{display:flex;gap:13px;align-items:center;font-weight:600;letter-spacing:.08em}.brandmark{width:38px;height:38px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:Fraunces;font-size:20px;transform:rotate(-7deg)}.navlinks{display:flex;gap:25px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.navright{display:flex;gap:12px;align-items:center}.pill{padding:11px 18px;border:1px solid currentColor;border-radius:999px;font-size:13px;display:inline-block}.pill.dark{background:var(--ink);color:var(--cream);border-color:var(--ink)}.lang{font-size:12px;letter-spacing:.12em}.hero{min-height:800px;display:grid;grid-template-columns:85px 1.18fr .82fr;border-bottom:1px solid var(--line)}.rail{border-right:1px solid var(--line);display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase;letter-spacing:.2em;font-size:11px}.heroMain{padding:80px 6vw 68px;position:relative;overflow:hidden}.eyebrow,.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.22em;margin-bottom:24px}.mega{font-family:Fraunces,serif;font-size:clamp(92px,14vw,220px);line-height:.7;letter-spacing:-.055em;margin:0}.mega .pup{display:block;margin-left:16%;font-weight:300;font-style:italic}.sub{font-family:Fraunces;font-size:clamp(28px,3.6vw,55px);font-weight:300;line-height:1.05;max-width:760px;margin:58px 0 30px}.sub em{color:var(--clay)}.intro{max-width:620px;font-size:17px;line-height:1.65}.actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.stamp{position:absolute;right:5%;top:54%;width:175px;height:175px;border:2px solid var(--clay);border-radius:50%;color:var(--clay);display:grid;place-items:center;text-align:center;text-transform:uppercase;letter-spacing:.15em;font-size:11px;transform:rotate(11deg)}.stamp:before{content:"";position:absolute;inset:9px;border:1px dashed currentColor;border-radius:50%}.stamp strong{font-family:Fraunces;font-size:28px;letter-spacing:0;text-transform:none}.heroArt{background:var(--moss);color:var(--cream);position:relative;overflow:hidden;min-height:800px}.heroArt svg.mountains{position:absolute;inset:0;width:100%;height:100%}.heroArt .dogline{position:absolute;width:86%;left:7%;top:24%}.heroArt .note{position:absolute;top:26px;right:24px;background:var(--sun);color:var(--ink);padding:15px 18px;transform:rotate(3deg);font-family:Fraunces;font-size:21px;max-width:200px}.heroArt .caption{position:absolute;left:30px;bottom:28px;right:30px;display:flex;justify-content:space-between;align-items:end;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.ticker{overflow:hidden;background:var(--sun);border-bottom:1px solid var(--ink);white-space:nowrap}.ticker div{display:inline-block;padding:14px 0;font-family:Fraunces;font-size:20px}.statement{display:grid;grid-template-columns:1.1fr .9fr;border-bottom:1px solid var(--line)}.statement .big{padding:100px 7vw;border-right:1px solid var(--line)}.statement h2,.display{font-family:Fraunces;font-size:clamp(50px,7vw,108px);line-height:.93;font-weight:300;margin:0;letter-spacing:-.035em}.statement h2 em,.display em{color:var(--clay)}.sidecopy{padding:100px 6vw;display:flex;flex-direction:column;justify-content:space-between;gap:50px}.sidecopy p,.lead{font-size:19px;line-height:1.65;margin:0}.proofs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.proof{background:var(--cream);padding:24px 18px;min-height:140px}.proof b{font-family:Fraunces;font-size:33px;font-weight:300;display:block;margin-bottom:8px}.proof span{font-size:12px;line-height:1.45}.services,.journal,.pageSection{padding:100px 4vw 80px;background:var(--cream)}.sectionHead{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:50px}.sectionHead h2{font-family:Fraunces;font-size:clamp(46px,7vw,95px);font-weight:300;line-height:.92;margin:0;letter-spacing:-.04em}.sectionHead p{max-width:450px;line-height:1.6}.serviceRows{border-top:1px solid var(--ink)}.service{display:grid;grid-template-columns:90px 1fr 310px 140px;align-items:center;gap:20px;padding:29px 0;border-bottom:1px solid var(--line);transition:.2s}.service:hover{padding-left:12px;background:rgba(185,200,174,.15)}.num{font-family:Fraunces;font-size:16px}.service h3{font-family:Fraunces;font-size:clamp(31px,4vw,58px);font-weight:300;margin:0}.service p{font-size:13px;line-height:1.5;margin:0}.arrow{justify-self:end;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}.route{display:grid;grid-template-columns:.78fr 1.22fr;background:var(--ink);color:var(--cream);min-height:670px}.routeText{padding:90px 6vw}.routeText h2{font-family:Fraunces;font-size:clamp(48px,6vw,88px);font-weight:300;line-height:.94;margin:18px 0 28px}.routeText p{font-size:17px;line-height:1.7;max-width:520px}.routeMap{position:relative;border-left:1px solid rgba(255,255,255,.18);overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(231,207,119,.2),transparent 20%),linear-gradient(135deg,#274033,#18271f)}.routeMap svg{width:100%;height:100%}.pinLabel{font-family:DM Sans;font-size:18px;fill:var(--cream)}.pinSmall{font-size:11px;fill:var(--sage);letter-spacing:.12em}.adventure{display:grid;grid-template-columns:1.1fr .9fr;background:var(--clay);color:var(--cream);border-bottom:1px solid var(--ink)}.adventureCopy{padding:105px 6vw}.adventureCopy h2{font-family:Fraunces;font-size:clamp(58px,8vw,120px);font-weight:300;line-height:.82;letter-spacing:-.05em;margin:0 0 32px}.adventureCopy p{font-size:18px;line-height:1.7;max-width:650px}.adventureTicket{margin:70px 5vw;background:var(--paper);color:var(--ink);padding:42px;transform:rotate(2deg);align-self:center;box-shadow:0 16px 40px rgba(0,0,0,.12);position:relative}.adventureTicket:before,.adventureTicket:after{content:"";position:absolute;width:28px;height:28px;background:var(--clay);border-radius:50%;left:-14px}.adventureTicket:before{top:30%}.adventureTicket:after{bottom:30%}.ticketTitle{font-family:Fraunces;font-size:42px;line-height:1;margin-bottom:25px}.ticketList{display:grid;gap:12px;font-size:14px;line-height:1.45;border-top:1px dashed var(--ink);padding-top:22px}.ticketPrice{font-family:Fraunces;font-size:33px;margin-top:25px}.challenge{padding:110px 4vw;background:var(--sage);border-bottom:1px solid var(--ink)}.challengeTop{display:grid;grid-template-columns:1fr .6fr;gap:60px;align-items:end}.challenge h2{font-family:Fraunces;font-size:clamp(58px,9vw,130px);font-weight:300;line-height:.8;margin:0;letter-spacing:-.05em}.challenge h2 i{display:block;margin-left:15%;color:var(--cream);font-weight:300}.challengeIntro{font-size:18px;line-height:1.7}.days{display:grid;grid-template-columns:repeat(7,1fr);margin-top:70px;border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.day{min-height:225px;padding:20px 15px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);position:relative;background:rgba(255,255,255,.07)}.day .d{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.day strong{font-family:Fraunces;font-size:24px;font-weight:300;display:block;margin-top:55px;line-height:1.1}.day:nth-child(2n){background:rgba(251,247,239,.22)}.day:after{content:"";position:absolute;width:12px;height:12px;background:var(--paper);border:1px solid var(--ink);border-radius:50%;top:-7px;left:50%}.shop{display:grid;grid-template-columns:.82fr 1.18fr;background:var(--cream);border-bottom:1px solid var(--line)}.shopLead{padding:95px 6vw;border-right:1px solid var(--line)}.shopLead h2{font-family:Fraunces;font-size:clamp(58px,8vw,105px);font-weight:300;line-height:.88;margin:0 0 30px}.shopLead p{line-height:1.7}.fieldseal{margin-top:80px;width:140px;height:140px;border-radius:50%;background:var(--clay);color:var(--cream);display:grid;place-items:center;text-align:center;font-size:12px;text-transform:uppercase;letter-spacing:.12em;transform:rotate(-8deg)}.products{display:grid;grid-template-columns:1fr 1fr}.product{padding:48px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:340px;display:flex;flex-direction:column;justify-content:space-between}.product:nth-child(2n){border-right:0}.product .type{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.product h3{font-family:Fraunces;font-size:36px;font-weight:300;margin:30px 0 10px}.product .price{font-family:Fraunces;font-size:24px}.product.sun{background:var(--sun)}.product.dark{background:var(--moss);color:var(--cream)}.journal{background:var(--paper)}.journalGrid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.story{min-height:390px;padding:36px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between;position:relative}.story:nth-child(2){background:var(--sun)}.story:nth-child(3){background:var(--moss);color:var(--cream)}.story:nth-child(4){background:var(--sage)}.story .tag{font-size:10px;letter-spacing:.18em;text-transform:uppercase}.story h3{font-family:Fraunces;font-size:clamp(34px,4vw,57px);font-weight:300;line-height:1;margin:40px 0 18px}.story p{max-width:530px;line-height:1.6}.story .read{font-size:12px;text-transform:uppercase;letter-spacing:.12em}.memories{padding:110px 5vw;background:var(--cream)}.memGrid{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:center}.postcards{position:relative;height:610px}.card{position:absolute;background:#fff;padding:13px 13px 48px;box-shadow:0 12px 30px rgba(0,0,0,.12);width:52%;height:420px}.card.one{left:6%;top:70px;transform:rotate(-6deg)}.card.two{right:4%;top:5px;transform:rotate(7deg)}.photoMock{height:100%;background:linear-gradient(160deg,#8ea58e,#334b3c 48%,#d5c48e);position:relative;overflow:hidden}.photoMock svg{width:100%;height:100%}.memCopy h2{font-family:Fraunces;font-size:clamp(54px,7vw,96px);font-weight:300;line-height:.9;margin:0 0 35px}.memCopy p{font-size:18px;line-height:1.7}.memCopy .pricebig{font-family:Fraunces;font-size:29px;margin:30px 0}.inquiry{background:var(--clay);color:var(--cream);display:grid;grid-template-columns:1fr 1fr}.inquiryText{padding:95px 6vw}.inquiryText h2{font-family:Fraunces;font-size:clamp(58px,8vw,110px);font-weight:300;line-height:.85;margin:0}.inquiryText p{font-size:18px;line-height:1.65;max-width:520px}.form{padding:90px 6vw;border-left:1px solid rgba(255,255,255,.3)}.field{display:grid;grid-template-columns:150px 1fr;align-items:end;border-bottom:1px solid rgba(255,255,255,.7);padding:20px 0;gap:15px}.field label{text-transform:uppercase;letter-spacing:.15em;font-size:10px}.field input,.field textarea,.field select{background:none;border:0;color:var(--cream);width:100%;outline:0;padding:5px 0}.field select option{color:var(--ink)}.field textarea{min-height:60px;resize:vertical}.send{margin-top:28px;border:1px solid var(--cream);background:var(--cream);color:var(--clay);padding:15px 25px;border-radius:999px;font-weight:600}.pageHero{padding:110px 6vw 80px;border-bottom:1px solid var(--ink);position:relative;overflow:hidden}.pageHero h1{font-family:Fraunces;font-size:clamp(65px,10vw,145px);font-weight:300;line-height:.82;letter-spacing:-.055em;margin:0;max-width:1200px}.pageHero h1 em{color:var(--clay)}.pageHero p{max-width:760px;font-size:20px;line-height:1.65;margin:45px 0 0}.breadcrumb{font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:36px}.contentGrid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:7vw;max-width:1240px;margin:auto;padding:85px 5vw}.article{font-size:17px;line-height:1.78}.article h2{font-family:Fraunces;font-size:48px;line-height:1.02;font-weight:300;margin:62px 0 22px}.article h3{font-family:Fraunces;font-size:32px;font-weight:300;margin:42px 0 16px}.article p{margin:0 0 24px}.article ul{padding-left:20px}.article li{margin:10px 0}.article .noteBox{background:var(--sun);padding:26px;margin:40px 0;transform:rotate(-1deg)}.sidebar{align-self:start;position:sticky;top:100px}.sideCard{border:1px solid var(--ink);padding:26px;background:var(--cream);margin-bottom:20px}.sideCard h3{font-family:Fraunces;font-size:28px;font-weight:300;margin:0 0 16px}.sideCard p{font-size:14px;line-height:1.55}.pricing{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink);margin-top:45px}.priceCard{padding:32px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-height:250px}.priceCard h3{font-family:Fraunces;font-size:30px;font-weight:300;margin:0 0 12px}.priceCard b{font-family:Fraunces;font-size:35px;font-weight:300;display:block;margin:25px 0 10px}.priceCard p{font-size:14px;line-height:1.55}.faq{max-width:1000px;margin:auto;padding:80px 5vw}.faq h2{font-family:Fraunces;font-size:60px;font-weight:300}.faq details{border-top:1px solid var(--ink);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--ink)}.faq summary{font-family:Fraunces;font-size:26px;cursor:pointer}.faq details p{max-width:780px;line-height:1.65}.localBand{background:var(--sage);padding:70px 5vw}.localBand .inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px}.localBand h2{font-family:Fraunces;font-size:58px;line-height:.95;font-weight:300;margin:0}.localBand p{font-size:17px;line-height:1.7}.blogMeta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-top:22px;color:rgba(23,35,28,.65)}footer{padding:38px 34px;background:var(--ink);color:var(--cream);display:flex;justify-content:space-between;gap:30px;align-items:center;font-size:12px}footer .footbrand{font-family:Fraunces;font-size:32px}footer .seo{opacity:.65;max-width:620px;text-align:right;line-height:1.5}
@media(max-width:900px){.navlinks{display:none}.nav{padding:15px 18px}.hero{grid-template-columns:34px 1fr}.heroArt{grid-column:1/-1;min-height:540px}.heroMain{padding:55px 7vw}.stamp{width:130px;height:130px;top:auto;bottom:22px}.statement,.route,.shop,.inquiry,.memGrid,.challengeTop,.adventure,.localBand .inner{grid-template-columns:1fr}.statement .big,.sidecopy,.routeText,.shopLead,.inquiryText,.form,.adventureCopy{padding:65px 7vw}.statement .big,.shopLead{border-right:0;border-bottom:1px solid var(--line)}.service{grid-template-columns:44px 1fr 48px}.service p{display:none}.days{grid-template-columns:repeat(2,1fr)}.day:last-child{grid-column:1/-1}.products{grid-template-columns:1fr}.product{border-right:0}.journalGrid{grid-template-columns:1fr}.postcards{height:500px}.inquiry .form{border-left:0;border-top:1px solid rgba(255,255,255,.3)}.adventureTicket{margin:0 7vw 70px}.contentGrid{grid-template-columns:1fr}.sidebar{position:static}.pricing{grid-template-columns:1fr}footer{flex-direction:column;align-items:flex-start}.seo{text-align:left!important}.hero{min-height:auto}.heroArt{min-height:520px}}
@media(max-width:540px){.mega{font-size:82px}.sub{font-size:34px}.stamp{display:none}.heroMain{padding-bottom:45px}.statement h2{font-size:54px}.proofs{grid-template-columns:1fr}.sectionHead{display:block}.days{grid-template-columns:1fr}.day:last-child{grid-column:auto}.service h3{font-size:32px}.card{width:68%;height:360px}.card.one{left:0}.card.two{right:0}.postcards{height:470px}.field{grid-template-columns:1fr}.rail{font-size:9px}.navright .pill{display:none}.pageHero{padding:75px 7vw 55px}.pageHero h1{font-size:65px}.article h2{font-size:40px}.faq h2{font-size:48px}}

/* Final internal-linking + editorial detail */
.routeMap a{cursor:pointer}.routeMap a text{transition:opacity .2s}.routeMap a:hover text{opacity:.72}.routeMap a:hover circle{stroke:#fbf7ef;stroke-width:3}
.sourceBox{margin-top:58px;padding:26px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);display:grid;gap:12px;background:rgba(185,200,174,.2)}.sourceBox strong{font-family:Fraunces;font-size:25px;font-weight:300}.sourceBox a{font-size:13px;text-decoration:underline;text-underline-offset:4px}
.serviceCta{background:var(--sun)}.serviceCta .kicker{margin-bottom:14px}
.relatedGuides{padding:82px 5vw;background:var(--paper);border-bottom:1px solid var(--ink)}.relatedGuides>h2{font-family:Fraunces;font-size:clamp(46px,6vw,78px);font-weight:300;line-height:.95;margin:0 0 38px}.guideGrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.guideLink{padding:28px;min-height:220px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between}.guideLink:nth-child(2){background:var(--sage)}.guideLink:nth-child(3){background:var(--sun)}.guideLink span{font-size:10px;letter-spacing:.16em;text-transform:uppercase}.guideLink h3{font-family:Fraunces;font-size:31px;font-weight:300;line-height:1.02;margin:30px 0}.guideLink b{font-size:11px;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:900px){.guideGrid{grid-template-columns:1fr}}
.footerPlaces a{text-decoration:underline;text-decoration-color:rgba(251,247,239,.35);text-underline-offset:4px}.footerPlaces a:hover{text-decoration-color:var(--sun)}

/* Brand v3 — photographic hero + cleaner route */
.heroPhoto{background:var(--moss);position:relative;overflow:hidden;min-height:800px;color:var(--cream)}
.heroPhoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.86) contrast(.96)}
.heroPhotoVeil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,35,28,.05),rgba(23,35,28,.12) 55%,rgba(23,35,28,.62))}
.heroPhotoNote{position:absolute;left:28px;top:30px;font-family:Fraunces;font-style:italic;font-size:23px;line-height:1.05;transform:rotate(-5deg);text-shadow:0 2px 14px rgba(0,0,0,.22)}
.heroPhotoBadge{position:absolute;right:24px;top:24px;background:rgba(243,239,230,.92);color:var(--ink);padding:13px 15px;font-size:9px;letter-spacing:.15em;line-height:1.6;transform:rotate(2deg)}
.heroPhotoBadge strong{font-size:10px}
.heroPhotoCaption{position:absolute;left:28px;right:28px;bottom:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.routeClean{min-height:610px}
.trailPanel{border-left:1px solid rgba(255,255,255,.18);padding:76px 6vw;display:grid;grid-template-columns:1fr .52fr;gap:7vw;align-items:center;background:radial-gradient(circle at 35% 45%,rgba(231,207,119,.08),transparent 28%),linear-gradient(145deg,#274033,#18271f)}
.trailMain{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center}
.trailStop{display:flex;gap:15px;align-items:center;min-width:150px;transition:.2s}.trailStop:hover{transform:translateY(-4px)}
.trailNo{width:42px;height:42px;border:1px solid rgba(251,247,239,.65);border-radius:50%;display:grid;place-items:center;font-family:Fraunces;font-size:14px;flex:0 0 auto}
.trailStop.heroStop .trailNo{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.trailStop b{display:block;font-family:Fraunces;font-size:28px;font-weight:300;line-height:1}.trailStop small{display:block;color:var(--sage);margin-top:8px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}
.trailLine{height:1px;background:repeating-linear-gradient(90deg,var(--sage) 0 6px,transparent 6px 13px);min-width:50px;margin:0 12px}
.trailBranches{border-left:1px dashed rgba(251,247,239,.35);padding-left:40px;display:grid;gap:26px}.trailBranches a{display:grid;grid-template-columns:25px 1fr;column-gap:8px;align-items:center}.trailBranches a span{grid-row:1/3;font-size:25px;color:var(--sun)}.trailBranches b{font-family:Fraunces;font-size:25px;font-weight:300}.trailBranches small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage)}
.trailQuote{font-family:Fraunces;font-style:italic;font-size:21px;line-height:1.15;color:var(--sun);margin-top:18px;transform:rotate(-2deg)}
.brandPillars{padding:78px 4vw;background:var(--paper);border-bottom:1px solid var(--ink)}
.brandPillarsGrid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.brandPillar{min-height:225px;padding:28px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;flex-direction:column;justify-content:space-between}.brandPillar:nth-child(2){background:var(--sage)}.brandPillar:nth-child(3){background:var(--sun)}.brandPillar:nth-child(4){background:var(--moss);color:var(--cream)}
.brandPillar span{font-size:10px;letter-spacing:.17em;text-transform:uppercase}.brandPillar h3{font-family:Fraunces;font-size:34px;font-weight:300;margin:28px 0 10px;line-height:1}.brandPillar p{font-size:13px;line-height:1.55;margin:0}
.shop.softSell{background:var(--paper)}.shop.softSell .shopLead h2{font-size:clamp(48px,6vw,80px)}
@media(max-width:900px){.heroPhoto{grid-column:1/-1;min-height:560px}.trailPanel{border-left:0;border-top:1px solid rgba(255,255,255,.18);grid-template-columns:1fr;padding:58px 7vw}.trailMain{grid-template-columns:1fr;gap:18px}.trailLine{width:1px;height:32px;min-width:1px;margin-left:20px;background:repeating-linear-gradient(180deg,var(--sage) 0 6px,transparent 6px 13px)}.trailBranches{border-left:0;border-top:1px dashed rgba(251,247,239,.35);padding:30px 0 0}.brandPillarsGrid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.brandPillarsGrid{grid-template-columns:1fr}.heroPhoto{min-height:470px}.heroPhotoNote{font-size:19px}.heroPhotoCaption{display:block}.heroPhotoCaption span{display:block;margin-top:6px}}

/* Final brand story + pack illustration */
.naniStory{background:linear-gradient(180deg,var(--paper),var(--cream))}
.routeText h2 em{color:var(--sun);font-weight:300}
.compactChallenge{padding-bottom:92px}.compactChallenge .challengeTop{align-items:center}.compactChallenge .challengeIntro{max-width:560px}
.walkProduct{background:rgba(185,200,174,.28)}
.packSection{display:grid;grid-template-columns:.7fr 1.3fr;gap:4vw;align-items:center;padding:82px 5vw 72px;background:var(--ink);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.16)}
.packCopy h2{font-family:Fraunces;font-size:clamp(48px,6vw,84px);font-weight:300;line-height:.9;letter-spacing:-.04em;margin:0 0 28px}.packCopy h2 em{color:var(--sun);font-weight:300}.packCopy p{font-size:17px;line-height:1.7;max-width:520px;color:rgba(251,247,239,.82)}
.packArt{color:var(--cream)}.packArt svg{display:block;width:100%;height:auto;max-height:420px}.packArtCaption{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(251,247,239,.24);padding-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.packArtCaption strong{font-family:Fraunces;font-size:18px;font-weight:300;text-transform:none;letter-spacing:0;text-align:right}.packDogNani{color:var(--sun)}
.footerTagline{opacity:.72;line-height:1.5;text-align:right}.photoMockDog{background:linear-gradient(155deg,#8ea58e 0 30%,#334b3c 30% 58%,#d4bf8e 58% 100%)}.photoMockFamily{background:linear-gradient(165deg,#aab7aa 0 30%,#6d8474 30% 55%,#d4c39a 55% 100%)}
@media(max-width:900px){.packSection{grid-template-columns:1fr;padding:65px 7vw}.packArtCaption{flex-direction:column}.packArtCaption strong{text-align:left}.footerTagline{text-align:left}}
.packPhotoCard{color:var(--cream)}
.packPhotoFrame{position:relative;background:var(--paper);padding:14px 14px 46px;transform:rotate(2deg);box-shadow:0 18px 45px rgba(0,0,0,.2);max-width:650px;margin-left:auto}
.packPhotoFrame img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.9) contrast(.98)}
.packPhotoNote{position:absolute;left:28px;bottom:16px;color:var(--ink);font-family:Fraunces;font-style:italic;font-size:18px;transform:rotate(-2deg)}
@media(max-width:900px){.packPhotoFrame{margin:0;max-width:none}}
