*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.62;letter-spacing:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
button,input{font:inherit}
button,a,summary{outline-offset:4px}
.skip{position:absolute;left:12px;top:-80px;background:#fff;color:#111;z-index:100;padding:10px 16px}
.skip:focus{top:12px}
.site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(24px,calc((100vw - 1280px)/2));background:var(--paper);border-bottom:1px solid var(--rule)}
.brand{display:block;flex:none;text-decoration:none}
.brand img{width:min(330px,33vw);height:auto;max-height:68px;object-fit:contain;object-position:left center}
.site-header nav{display:flex;gap:17px;align-items:center;flex-wrap:wrap}
.site-header nav a{text-decoration:none;font-size:14px;font-weight:700;line-height:1.2;padding:9px 0}
.site-header nav a:hover,.site-header nav a:focus-visible{text-decoration:underline}
.mobile-nav{display:none}
main{min-height:70vh}
.hero{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:560px;align-items:stretch}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:72px clamp(30px,5vw,86px)}
.hero h1{font-family:var(--display);font-size:clamp(48px,5rem,80px);font-weight:700;line-height:1.05;max-width:12ch;margin:17px 0 22px;letter-spacing:0}
.hero p{max-width:32ch;font-size:20px;line-height:1.45;margin:0 0 28px}
.hero-photo{min-height:520px;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.eyebrow,.kicker{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0}
.action{display:inline-block;background:var(--action);color:var(--action-text);padding:12px 20px;text-decoration:none;font-weight:800;border:2px solid var(--action);border-radius:2px}
.action:hover{filter:brightness(.9)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.section-head h2,.guides-section h2{font-family:var(--display);font-size:40px;line-height:1.1;margin:0}
.section-head a{font-weight:700;white-space:nowrap}
.guides-section{max-width:1240px;margin:0 auto;padding:70px 24px}
.feature-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.guide-card{min-width:0;border-top:2px solid var(--ink);padding-top:14px;position:relative}
.card-image{display:block;aspect-ratio:3/2;overflow:hidden}
.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.card-image:hover img{transform:scale(1.02)}
.card-text{padding:14px 0}
.card-text h3{font-family:var(--display);font-size:29px;line-height:1.17;margin:9px 0}
.card-text h3 a{text-decoration:none}
.card-text h3 a:hover{text-decoration:underline}
.card-text p{font-size:16px;line-height:1.55;margin:0 0 14px}
.read-link{font-size:14px;font-weight:800}
.card-number{position:absolute;right:0;top:14px;background:var(--action);color:var(--action-text);padding:2px 9px;z-index:1;font-size:13px}
.creator-note{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:60px max(24px,calc((100vw - 1220px)/2));background:var(--pale)}
.creator-note img{width:100%;max-height:510px;object-fit:cover}
.creator-note h2{font:700 44px/1.12 var(--display);margin:0 0 20px}
.creator-note p{max-width:54ch}
.creator-note a{font-weight:800}
.footer{background:var(--footer);color:var(--footer-ink);padding:48px max(24px,calc((100vw - 1220px)/2)) 20px}
.footer-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1fr);gap:30px;align-items:start}
.footer-line{font:700 29px/1.2 var(--display);margin:0}
.footer-main>p:nth-child(2){margin:4px 0;font-size:15px}
.footer-main>a,.footer-main>div a{font-size:15px;font-weight:700;justify-self:end}
.footer-main>div{font-size:15px}
.footer-main>div p{margin:3px 0 11px}
.footer-route{display:flex;flex-wrap:wrap;gap:8px}
.footer-route span{border-top:1px solid currentColor;padding-top:8px}
.footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:15px}
.footer small{display:block;margin-top:50px;font-size:12px;opacity:.7}
.archive-head,.about-head,.policy-head{padding:70px max(24px,calc((100vw - 1200px)/2)) 44px;background:var(--pale)}
.archive-head h1,.about-head h1,.policy-head h1,.contact-page h1{font:700 60px/1.08 var(--display);margin:9px 0 16px;max-width:18ch}
.archive-head p{max-width:60ch;margin:0}
.archive-body{max-width:1240px;margin:auto;padding:36px 24px 90px}
.filter-tabs{display:flex;gap:10px 22px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding-bottom:14px}
.filter-tabs a{font-size:15px;font-weight:700;text-decoration:none}
.filter-tabs a:hover{text-decoration:underline}
.search{display:flex;align-items:center;gap:12px;margin:28px 0 12px}
.search label{font-weight:700;font-size:15px}
.search input{min-width:0;flex:1;max-width:420px;border:1px solid var(--rule);padding:9px 11px;background:#fff;color:var(--ink)}
.search button{background:var(--action);color:var(--action-text);border:0;padding:10px 16px;cursor:pointer}
.result-count{font-size:14px;color:var(--muted);margin:0 0 25px}
.archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 34px}
.archive-list .guide-card{display:grid;grid-template-columns:38% 1fr;gap:18px}
.archive-list .card-image{align-self:start}
.archive-list .card-text{padding:0}
.archive-list .card-text h3{font-size:25px}
.story{max-width:880px;margin:auto;padding:42px 24px 75px}
.crumb{font-size:13px;color:var(--muted)}
.story-head{padding:42px 0 28px;border-bottom:1px solid var(--rule)}
.story-head h1{font:700 64px/1.06 var(--display);margin:12px 0 20px;max-width:16ch}
.story-head>p{font-size:23px;line-height:1.4;max-width:58ch}
.story-meta{font-size:14px;color:var(--muted)}
.story-body{max-width:730px;margin:28px auto 0}
.story-body .lead{font-size:23px;line-height:1.45}
.story-body h2{font:700 34px/1.2 var(--display);margin:42px 0 15px}
.story-body p{margin:16px 0 23px}
.disclosure{background:var(--pale);padding:12px 15px;font-size:13px;line-height:1.5}
.story-body figure{margin:34px 0 38px}
.story-body figure img{width:100%;height:auto}
.story-body figcaption{font-size:13px;color:var(--muted);margin-top:8px}
.related{max-width:1100px;margin:0 auto 90px;padding:25px 24px;border-top:2px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:20px}
.related h2{grid-column:1/-1;font:700 32px/1.1 var(--display);margin:0 0 10px}
.about-layout{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding:65px 24px}
.about-photo img{width:100%;max-height:680px;object-fit:cover}
.about-copy{font-size:21px;line-height:1.6;max-width:58ch}
.about-copy p:first-child{margin-top:0}
.about-scenes{max-width:1220px;margin:0 auto 76px;padding:0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.about-scenes figure{margin:0;min-width:0}
.about-scenes img{width:100%;aspect-ratio:4/3;object-fit:cover}
.about-scenes figcaption{display:flex;gap:14px;align-items:center;border-top:2px solid var(--action);padding:10px 2px;font-weight:700}
.about-scenes figcaption span{font-size:13px;color:var(--muted)}
.about-next{padding:55px 24px;text-align:center;background:var(--pale)}
.about-next h2{font:700 36px/1.15 var(--display);margin:0 0 18px}
.policy-body{max-width:820px;margin:0 auto;padding:55px 24px 85px}
.policy-body section{border-bottom:1px solid var(--rule);padding:0 0 24px;margin-bottom:28px}
.policy-body h2{font:700 29px/1.2 var(--display);margin:0 0 10px}
.contact-page{max-width:900px;margin:auto;padding:100px 24px}
.contact-page>p{font-size:22px;max-width:50ch}
.contact-mail{font-weight:700;font-size:26px;overflow-wrap:anywhere}
@media(max-width:900px){.site-header{padding:12px 20px}.site-header>nav{display:none}.brand img{width:min(285px,63vw)}.mobile-nav{display:block;position:relative}.mobile-nav summary{cursor:pointer;font-size:15px;font-weight:800;list-style:none;padding:10px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] nav{position:absolute;right:0;top:100%;width:min(300px,85vw);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px;background:var(--paper);border:1px solid var(--rule);box-shadow:0 12px 25px #0002}.mobile-nav nav a{padding:9px 0}.hero{min-height:0}.hero h1{font-size:54px}.hero-copy{padding:45px 30px}.hero-photo{min-height:420px}.feature-list{grid-template-columns:1fr 1fr}.archive-list{grid-template-columns:1fr}}
@media(max-width:700px){body{font-size:16px}.site-header{min-height:72px}.hero{display:flex;flex-direction:column}.hero-copy{order:1;padding:34px 22px 39px}.hero h1{font-size:47px;max-width:13ch}.hero p{font-size:18px}.hero-photo{order:0;min-height:0;height:42vh;max-height:390px}.hero-photo img{height:100%;object-fit:cover}.guides-section{padding:52px 20px}.section-head{align-items:flex-start}.section-head h2{font-size:33px}.feature-list{display:block}.feature-list .guide-card{margin-bottom:34px}.creator-note,.about-layout{display:flex;flex-direction:column;gap:25px;padding:48px 20px}.creator-note img,.about-photo img{max-height:460px}.creator-note h2{font-size:36px}.footer{padding:42px 20px 20px}.footer-main{display:block}.footer-main>p{margin:0 0 20px}.footer-legal{margin-top:22px}.archive-head,.about-head,.policy-head{padding:55px 20px 36px}.archive-head h1,.about-head h1,.policy-head h1,.contact-page h1{font-size:43px}.archive-body{padding:30px 20px 70px}.search{flex-wrap:wrap}.search label{width:100%}.archive-list .guide-card{display:block}.archive-list .card-text{padding:12px 0}.story{padding:30px 20px 50px}.story-head{padding:25px 0}.story-head h1{font-size:45px}.story-head>p{font-size:19px}.story-body .lead{font-size:19px}.story-body h2{font-size:29px}.related{display:block;padding:20px;margin-bottom:50px}.related .guide-card{margin-top:25px}.about-copy{font-size:18px}.about-scenes{display:block;padding:0 20px;margin-bottom:55px}.about-scenes figure{margin-bottom:22px}.policy-body{padding:40px 20px 70px}}


:root{--paper:#f5f7f7;--ink:#25292d;--muted:#596167;--rule:#d9e0e3;--pale:#e7ebed;--action:#55354f;--action-text:#fff;--footer:#25292d;--footer-ink:#fff;--display:Arial,sans-serif;--body:Arial,sans-serif}
.site-header{border-bottom:1px solid #25292d}.site-header .brand img{width:350px}.site-header>nav a{font-size:12px;text-transform:uppercase}.site-header>nav a:hover{color:#55354f}
.route-hero{grid-template-columns:1fr 1fr;min-height:520px}.route-hero .hero-copy{padding-left:max(24px,calc((100vw - 1200px)/2))}.route-hero h1{font:800 69px/1 Arial,sans-serif;text-transform:uppercase;max-width:11ch}.route-hero .hero-photo{min-height:520px}
.circuit{max-width:1100px;margin:auto;padding:70px 24px;display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.circuit h2{font:800 40px/1.1 Arial,sans-serif;text-transform:uppercase;margin:0}.circuit ol{position:relative;list-style:none;margin:0;padding:0 0 0 40px;border-left:3px solid #55354f}.circuit li{padding:0 0 28px;position:relative}.circuit li span{position:absolute;left:-61px;top:0;width:40px;height:40px;border-radius:50%;background:#d5e65a;text-align:center;line-height:40px;font-size:13px;font-weight:800}.circuit li a{font-weight:700;text-decoration:none}
.feature-list{display:block}.feature-list .guide-card{display:grid;grid-template-columns:44% 1fr;gap:25px;padding:20px 0;border-top:1px solid #d9e0e3}.feature-list .card-image{aspect-ratio:16/9}.creator-note{background:#d5e65a}.footer-line{text-transform:uppercase;font-family:Arial,sans-serif}
@media(max-width:700px){.route-hero .hero-copy{padding-left:22px}.route-hero h1{font-size:47px}.route-hero .hero-photo{min-height:0}.circuit{display:block;padding:45px 20px}.circuit h2{font-size:32px;margin-bottom:30px}.feature-list .guide-card{display:block}}

.about-scenes{gap:40px;border-top:1px solid #25292d;padding-top:22px}.about-scenes figure:nth-child(2){margin-top:40px}.about-scenes figcaption{text-transform:uppercase;border-color:#d5e65a}

.field-index-head{max-width:1100px;margin:auto;padding:43px 24px 30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);gap:20px 50px;align-items:end}.field-index-head .eyebrow{grid-column:1/-1}.field-index-head h1{font:900 clamp(44px,5vw,72px)/.98 Arial,sans-serif;text-transform:uppercase;margin:0}.field-index-head p{font-size:19px;max-width:32ch;margin:0 0 4px}.field-index-tools{max-width:1100px;margin:auto;padding:0 24px 18px;border-bottom:2px solid #25292d;display:grid;grid-template-columns:1fr 1fr;gap:15px 25px}.field-index-tools .search{grid-column:2;grid-row:1;margin:0}.field-index-tools .filter-tabs{grid-column:1;grid-row:1;border:0}.field-index-tools .filter-tabs a[aria-current="page"]{color:#55354f;text-decoration:underline}.field-index-tools .result-count{grid-column:1/-1;margin:0}.field-entries{max-width:1100px;margin:auto;padding:0 24px 95px}.field-entry{display:grid;grid-template-columns:125px minmax(0,1fr) 205px;gap:35px;align-items:start;padding:25px 0;border-bottom:1px solid #d9e0e3}.field-entry-date{font-size:13px;text-transform:uppercase}.field-entry-date span{display:block;font:900 38px/1 Arial,sans-serif;color:#55354f;margin-bottom:12px}.field-entry-copy small{text-transform:uppercase;font-weight:800}.field-entry-copy h2{font:800 30px/1.08 Arial,sans-serif;text-transform:uppercase;margin:8px 0}.field-entry-copy h2 a{text-decoration:none}.field-entry-copy h2 a:hover{text-decoration:underline}.field-entry-copy p{font-size:16px;margin:0}.field-entry-image img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:850px){.field-index-tools{display:block}.field-index-tools .search{margin:15px 0}.field-entry{grid-template-columns:80px minmax(0,1fr);gap:20px}.field-entry-image{grid-column:2}.field-entry-image img{max-height:230px}}
@media(max-width:600px){.field-index-head{display:block;padding:45px 20px 25px}.field-index-head h1{margin:12px 0}.field-index-tools,.field-entries{padding-left:20px;padding-right:20px}.field-entry{grid-template-columns:44px minmax(0,1fr);gap:12px}.field-entry-date span{font-size:26px}.field-entry-date time{display:none}.field-entry-copy h2{font-size:23px}.field-entry-image{grid-column:2}}


.field-about>header{max-width:1100px;margin:auto;padding:75px 24px 40px}.field-about h1{font:900 clamp(48px,6vw,82px)/.98 Arial,sans-serif;text-transform:uppercase;max-width:14ch;margin:15px 0}.field-about>header p{font-size:20px;max-width:57ch}.field-about-grid{max-width:1100px;margin:auto;padding:0 24px 100px;display:grid;grid-template-columns:38% 1fr;gap:70px}.field-about-grid aside img{width:100%;height:500px;object-fit:cover}.field-about-grid aside span{display:block;font-size:13px;text-transform:uppercase;font-weight:800;margin-top:10px}.field-answer{border-top:1px solid #596167;padding:18px 0 25px}.field-answer h2{font:800 25px/1.1 Arial,sans-serif;text-transform:uppercase;margin:0 0 10px}.field-answer p{font-size:17px;margin:0}.field-about-grid .action{margin-top:15px}
@media(max-width:700px){.field-about>header{padding:50px 20px 30px}.field-about-grid{display:block;padding:0 20px 70px}.field-about-grid aside{margin-bottom:35px}.field-about-grid aside img{height:340px}}

.archive-empty{padding:30px 0;font-size:18px;font-weight:700}
@media(max-width:700px){
  .site-header{display:flex;min-width:0;padding:10px 15px;gap:10px}
  .site-header .brand{min-width:0;max-width:calc(100% - 68px)}
  .site-header .brand img{width:min(250px,58vw);max-width:100%;height:auto}
  .mobile-nav{flex:none;display:block}
  .hero,.batch-hero,.sheet-hero,.table-hero{display:flex;flex-direction:column;min-height:0;height:auto;padding:0;gap:0}
  .hero .hero-photo,.batch-hero .hero-photo,.sheet-hero .hero-photo,.table-hero .hero-photo{position:static;order:0;min-height:0;height:240px;max-height:240px;margin:0;transform:none}
  .hero .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
  .hero .hero-copy,.batch-hero .hero-copy,.sheet-hero .hero-copy,.table-hero .hero-copy{position:static;order:1;width:100%;height:auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:24px 20px 28px;margin:0;box-shadow:none}
  .hero h1,.batch-hero h1,.sheet-hero h1,.table-hero h1{font-size:40px;line-height:1.03;margin:10px 0 14px;max-width:14ch;overflow-wrap:break-word}
  .hero p{font-size:16px;line-height:1.4;margin:0 0 17px}
  .hero .action{padding:9px 15px;font-size:15px}
  .route-hero h1{font-size:34px;max-width:16ch}
  .utility-hero h1{font-size:37px;max-width:14ch}
  .swim-hero h1,.table-hero h1{font-size:40px}
  .contact-sheet h1{font-size:40px}
  .about-scenes figure:nth-child(n){transform:none;margin-top:0}
}
