/* Route storefront: editorial product presentation, isolated from the name studio. */
.route-page{--paper:#f5f3ee;--ink:#202d29;--muted:#65716b;background:var(--paper);color:var(--ink)}
.route-page .nav{background:var(--paper);border-bottom:1px solid #d6d9d0}
.route-page .nav-links{gap:26px}
.route-page .route-nav-cta{background:var(--ink);color:var(--paper);padding:10px 16px}
.route-skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--paper);padding:14px}
.route-skip:focus{top:12px}
.route-page :focus-visible{outline:2px solid #b94f36;outline-offset:4px}
.route-page .rhero{min-height:720px;display:grid;grid-template-columns:1fr 1fr;background:#eaece4;align-items:stretch;border:0;padding-top:54px}
.route-page .rhero::after,.route-page .rhero-scroll{display:none}
.route-page .rhero-inner{grid-column:1;grid-row:1;padding:64px clamp(24px,5vw,80px);color:var(--ink);align-self:center}
.route-page .rhero-eyebrow{color:#59665e;font-size:10px;letter-spacing:.16em}
.route-page .rhero-title{font-size:clamp(64px,7.7vw,112px);line-height:.91;letter-spacing:-.065em;text-shadow:none;font-weight:500;margin-top:28px}
.route-page .rhero-title em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}
.route-page .rhero-sub{font-family:var(--grotesk);font-size:17px;line-height:1.65;color:#526056;max-width:37ch;margin-top:28px}
.route-page .rhero-meta{color:#59665e;font-size:10px;line-height:1.9;letter-spacing:.02em}
.route-page .rhero .btn.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.route-page .rhero .btn.solid:hover{background:#354d41}
.route-page .rhero .rhero-ghost{color:var(--ink);border:0;border-bottom:1px solid #9da89d;padding-left:0;padding-right:0}
.route-page .rhero-media{position:relative;inset:auto;grid-column:2;grid-row:1;overflow:hidden;background:#111;min-height:620px}
.route-page .rhero-media img{position:absolute;width:100%;height:180%;object-fit:cover;object-position:50% 0;top:-8%;opacity:.95}
.route-image-label{position:absolute;left:30px;bottom:25px;color:#e8e9df;font:10px/1.9 var(--mono);letter-spacing:.13em}
.route-proof{display:flex;justify-content:space-between;gap:20px;padding:22px 5vw;border-bottom:1px solid #d6d9d0;font:10px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.05em}
.route-proof a{color:var(--ink)}
.route-stories{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:64px 5vw}
.route-story{display:grid;grid-template-columns:38% 1fr;gap:26px;text-decoration:none;color:var(--ink);align-items:center}
.route-story img{width:100%;height:250px;object-fit:cover;filter:saturate(.6);border-radius:2px}
.route-story span,.route-story b{font:10px/1.5 var(--mono);letter-spacing:.08em}
.route-story h2{font:400 clamp(25px,2.4vw,36px)/1.1 var(--grotesk);letter-spacing:-.04em;margin:14px 0}
.route-story p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:18px}
.route-story b{border-bottom:1px solid #9da89d;padding-bottom:5px}
.route-page #design,.route-page #how,.route-page #faq,.route-page #examples{scroll-margin-top:75px}
.route-page .lab{padding-top:0}
.route-page .lab-grid{border-top:1px solid #d6d9d0;border-bottom:1px solid #d6d9d0;grid-template-columns:1.15fr 1fr}
.route-page .control-inner{max-width:620px}
.route-page .lab .stage{background:radial-gradient(ellipse at 50% 30%,#303b35,#121916)}
.route-stage-badge{position:absolute;top:18px;left:20px;z-index:4;color:#e7ebe3;display:flex;flex-direction:column;gap:3px;pointer-events:none;text-shadow:0 1px 12px #000}
.route-stage-badge span{font:9px var(--mono);letter-spacing:.15em;opacity:.72}.route-stage-badge b{font:500 13px var(--grotesk);letter-spacing:-.01em}
.route-page .panel-title{font-weight:400;letter-spacing:-.05em}
.route-page .lab-drop{position:relative;background:#e9ede4;border:1px dashed #8f9c8c;border-radius:4px;min-height:100px}
.route-file-input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.lab-drop:focus-within{outline:2px solid #b94f36;outline-offset:4px}
.route-step-title{font:500 12px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.08em;border-top:1px solid #d6d9d0;padding-top:28px;margin:28px 0 18px}
.route-options{border-bottom:1px solid #d6d9d0;margin:16px 0;padding:0 0 12px}
.route-options>summary{cursor:pointer;font-size:13px;font-weight:500;padding:10px 0;list-style:none;display:flex;justify-content:space-between}
.route-options>summary::after{content:'+';font-size:18px}
.route-options[open]>summary::after{content:'−'}
.route-options>summary::-webkit-details-marker{display:none}
.route-page .lab-textfields label{font-size:11px;margin-top:8px;color:var(--muted)}
.route-page .lab-text{border:1px solid #aeb6ab;border-radius:3px;font-size:12px}
.route-page .lab-trust{border-color:#d6d9d0}
.route-page .lab-trust a{color:inherit}
.route-gift-note{margin:18px 0 4px;padding:16px 18px;background:#e8eee5;border-left:3px solid #cf4e2f;display:flex;flex-direction:column;gap:5px}
.route-gift-note span{font:10px var(--mono);letter-spacing:.12em;color:#6d766d}
.route-gift-note b{font:500 15px/1.35 var(--grotesk);letter-spacing:-.01em}
.route-gift-note small{font:12px/1.5 var(--grotesk);color:var(--muted)}
.route-print-spec{display:flex;flex-direction:column;gap:5px;padding:15px 17px;margin:0 0 20px;border:1px solid #ccd4ca;background:#f0f2ec}
.route-print-spec span{font:9px var(--mono);letter-spacing:.13em;color:#6d766d}.route-print-spec b{font:500 15px var(--grotesk)}.route-print-spec small{font:12px/1.5 var(--grotesk);color:var(--muted)}
.route-page .lab-hint{font-size:12px;line-height:1.6;margin:10px 0;color:var(--muted)}
.route-page .sec-title{font-weight:400;letter-spacing:-.045em}
.route-page .route-band .gallery-head{border-color:#d6d9d0}
.route-page .rfaq details{border-color:#d6d9d0}
.route-page .reveal{opacity:1;transform:none}
.route-layer-status{list-style:none;margin:12px 0 0;padding:0;font:11px/1.7 var(--grotesk);color:var(--muted)}
.route-layer-status li[data-state=loading]{color:var(--ink)}
.route-layer-status li[data-state=error],.route-layer-status li[data-state=unavailable]{color:#9f4229}
.route-layer-status li[data-state=ready]{color:#286341}
.route-checkout-status{position:fixed;inset:auto 20px 20px;z-index:100;background:var(--paper);color:var(--ink);padding:24px;border:1px solid var(--ink);box-shadow:0 8px 40px #0003;max-width:600px;margin:auto}
.route-checkout-status h2{font-size:23px;margin-bottom:10px}.route-checkout-status p{line-height:1.6}.route-checkout-status button{margin-top:16px;padding:10px 18px;background:var(--ink);color:var(--paper);border:0;cursor:pointer}
.route-gifting{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:48px 5vw;background:#e7ebe2;border-block:1px solid #cbd3c6;scroll-margin-top:80px}
.route-gifting h2{font:400 clamp(30px,4vw,54px)/1.08 var(--grotesk);letter-spacing:-.045em;margin:18px 0 0}
.route-gifting p{font-size:16px;line-height:1.7;color:#526056;max-width:48ch;margin:0 0 22px}
.route-gifting details{margin-top:20px;font-size:13px}.route-gifting summary{cursor:pointer}.route-gifting details p{font-size:13px;margin:12px 0 0}
.route-intent{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#e8ebe3;padding:4px;border-radius:4px}
.route-intent button{border:0;background:none;padding:12px 8px;color:var(--ink);font:500 12px var(--grotesk);cursor:pointer;border-radius:3px}
.route-intent button[aria-pressed=true]{background:var(--paper);box-shadow:0 1px 3px #0001}
.route-editions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.route-editions button{padding:10px;border:1px solid #cbd3c6;background:transparent;color:var(--ink);text-align:left;cursor:pointer;border-radius:4px}
.route-editions button[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.route-editions i{display:block;height:55px;background:var(--edition-body);position:relative;border-radius:2px;margin-bottom:10px;border:1px solid #0001}
.route-editions i::after{content:'';position:absolute;inset:13px 20px;border:3px solid var(--edition-line);border-radius:40% 20% 55% 20%;transform:rotate(-15deg)}
.route-editions b{display:block;font:500 14px var(--grotesk)}.route-editions small{display:block;font:10px/1.5 var(--grotesk);color:var(--muted);margin-top:3px}
.route-sizes{display:flex;gap:8px;margin:14px 0}.route-sizes button{flex:1;padding:10px 6px;background:transparent;border:1px solid #cbd3c6;color:var(--ink);font:500 13px var(--grotesk);cursor:pointer}.route-sizes small{display:block;font-size:9px;margin-top:4px;color:var(--muted)}
.route-page .rex[hidden],.route-more[hidden],.route-page .strava-connect[hidden]{display:none}
.route-more{display:block;margin:24px auto;padding:12px 24px;border:1px solid #aab6a4;background:none;font:12px var(--mono);cursor:pointer;color:var(--ink)}
.route-page .strava-connect:disabled{opacity:.55;cursor:default}
@media(max-width:600px){.route-gifting{grid-template-columns:1fr;gap:24px;padding:32px 22px}.route-editions{gap:6px}.route-editions button{padding:8px}.route-editions small{font-size:9px}.route-page .rhero-title{font-size:clamp(52px,12vw,72px)}}
@media(min-width:981px){.route-page .viewer-col{top:65px;max-height:calc(100svh - 65px)}}
@media(max-width:1100px){.route-stories{gap:30px}.route-story{grid-template-columns:1fr}.route-story img{height:220px}.route-proof a{display:none}}
@media(max-width:980px){.route-page .lab-grid{grid-template-columns:1fr}.route-page .rhero-inner{padding:45px 25px}.route-page .rhero-title{font-size:78px}.route-page .rhero{min-height:640px}.route-page .rhero-media{min-height:580px}}
@media(max-width:600px){.route-page .nav-links>a:not(.route-nav-cta){display:none}.route-page .route-nav-cta{font-size:10px;padding:9px 11px}.route-page .rhero{grid-template-columns:1fr;padding-top:45px}.route-page .rhero-inner{padding:42px 22px 32px}.route-page .rhero-title{font-size:76px}.route-page .rhero-sub{font-size:16px}.route-page .rhero-media{grid-row:2;grid-column:1;min-height:380px}.route-page .rhero-media img{height:195%;top:-24%}.route-page .rhero-cta{gap:18px}.route-page .rhero .btn{font-size:11px}.route-proof{padding:18px 20px;gap:15px;font-size:8px}.route-stories{padding:36px 22px;grid-template-columns:1fr;gap:32px}.route-story{grid-template-columns:34% 1fr;gap:18px}.route-story img{height:220px}.route-story h2{font-size:27px}.route-story p{font-size:13px}.route-page .viewer-col{position:relative;top:auto}.route-page .lab .stage{min-height:380px}.route-page .stage-foot .sf-name{max-width:35vw}.route-page .control-inner{padding:28px 20px}.route-page .rhero-meta{font-size:10px}}
@media(max-width:600px){.route-page .nav-links{display:flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route-page *, .route-page *::before,.route-page *::after{animation:none!important;transition:none!important}}

/* Buyer flow: product, occasion, essentials, then a checked order summary. */
.route-page .rhero{min-height:640px;grid-template-columns:1fr 1.05fr;padding-top:54px;background:#e8ece3}
.route-page .rhero-inner{padding:48px clamp(24px,4.5vw,72px)}
.route-page .rhero-title{font-size:clamp(60px,6.5vw,96px);margin-top:20px}
.route-page .rhero-sub{font-size:17px;max-width:34ch;margin-top:24px}
.route-page .rhero-media{min-height:590px;background:#111315}
.route-page .rhero-media img{inset:0;width:100%;height:100%;object-fit:contain;opacity:1}
.route-hero-facts{display:flex;flex-direction:column;gap:8px;margin:22px 0;color:var(--ink);font-size:13px}
.route-hero-facts b{font-size:17px;font-weight:500}
.route-page .rhero-cta{flex-wrap:wrap;gap:14px 22px;margin-top:22px}
.route-page .rhero-meta{font:12px/1.7 var(--grotesk);margin-top:18px}
.route-page .route-small{font-size:13px;line-height:1.7;margin-top:18px}
.route-product-details{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;padding:54px 5vw;border-bottom:1px solid #d6d9d0;background:#eeeee7}
.route-product-details h2{font:400 clamp(32px,3.5vw,48px)/1.06 var(--grotesk);letter-spacing:-.04em;margin:18px 0}
.route-product-details p{max-width:42ch;font-size:15px;line-height:1.7;color:var(--muted)}
.route-product-details dl{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:0}
.route-product-details dt{font-size:15px;font-weight:500;margin-bottom:8px}
.route-product-details dd{margin:0;color:#526056;font-size:14px;line-height:1.7}
.route-product-details a,.route-delivery a,.route-small a{color:inherit;text-underline-offset:3px}
.route-surprise,.route-confirm{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;margin:18px 0;cursor:pointer}
.route-surprise input,.route-confirm input{width:19px;height:19px;flex:none;margin:2px 0;accent-color:var(--ink)}
.route-step-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:14px 0 0}
.route-step-nav a{padding:13px 4px;color:var(--ink);text-decoration:none;border-bottom:1px solid #abb8aa;text-align:center;font-size:12px}
.route-step-nav a:hover{background:#e7ebe2}
.route-flow-step{padding:26px 0;border-bottom:1px solid #d6d9d0;scroll-margin-top:75px}
.route-flow-step>.route-step-title{margin:0 0 18px;font-size:12px}
.route-field-label,.route-help label{display:block;font-size:13px;margin:12px 0 8px}
.route-page select.lab-text{appearance:auto;height:auto;min-height:48px;padding:12px 10px;max-width:100%;font-size:14px;background:var(--paper);color:var(--ink)}
.route-use-course{width:100%;justify-content:center;margin-top:12px;min-height:48px}
.route-use-course:disabled{opacity:.5;cursor:default}
.route-course-warning{border-left:2px solid #b2bdac;padding:0 0 0 12px;font-size:12px;line-height:1.7;color:#59665e;margin:14px 0 20px}
.route-import,.route-help{margin-top:18px;border-top:1px solid #d6d9d0;padding-top:16px}
.route-import>summary,.route-help>summary,.route-advanced>summary{font:500 14px/1.5 var(--grotesk);cursor:pointer;min-height:32px}
.route-help p{font-size:13px;color:var(--muted);line-height:1.6}
.route-help .btn{margin-top:12px;min-height:44px}
.route-advanced{margin-top:22px;padding:18px 14px;border:1px solid #cbd3c6;border-radius:4px}
.route-page .route-sizes button[aria-pressed=true]{border-color:var(--ink);background:#e5eadd;box-shadow:inset 0 0 0 1px var(--ink)}
.route-page .route-sizes button{min-height:58px}
.route-page .lab-textfields label{font-size:13px;font-family:var(--grotesk);text-transform:none;letter-spacing:0;margin-top:14px}
.route-page .lab-text{font-size:16px;min-height:46px}
.route-page .lab-note,.route-page .lab-hint{font:12px/1.7 var(--grotesk)}
.route-page .route-editions small{font-size:11px}
.route-page .route-editions i{height:65px}
.route-page .route-print-spec{margin-top:20px}
.route-review-card{padding:24px 20px;background:#e9ede3;border:1px solid #d0d8c9;border-radius:4px}
#route-review-lines{margin:18px 0;font:500 17px/1.5 var(--grotesk);text-transform:uppercase;overflow-wrap:anywhere}
#route-review-lines p{margin:5px 0}
#route-review-spec{font-size:12px;line-height:1.6;color:var(--muted)}
.route-preview-link{display:inline-block;margin-top:12px;color:var(--ink);font-size:13px;text-underline-offset:4px;min-height:32px}
.route-total{margin:22px 0}
.route-total div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;font-size:14px}
.route-total dd{margin:0;font-variant-numeric:tabular-nums}
.route-total div:last-child{border-top:1px solid #bec9b8;margin-top:4px;padding-top:16px;font-weight:500;font-size:16px}
.route-delivery{font-size:13px;line-height:1.7;color:#526056}
.route-page .order:disabled{opacity:.55;cursor:default}
.route-mobile-review{display:none}
#route-start,#product-details{scroll-margin-top:74px}
.route-page .route-flow-step[hidden],.route-page [hidden]{display:none!important}
@media(max-width:980px){
  .route-page .rhero{grid-template-columns:1fr 1fr;min-height:540px}
  .route-page .rhero-title{font-size:62px}
  .route-page .rhero-inner{padding:32px 24px}
  .route-page .rhero-media{min-height:540px}
  .route-product-details{gap:35px}
}
@media(max-width:600px){
  .route-page .rhero{grid-template-columns:1fr;padding-top:49px;min-height:0}
  .route-page .rhero-media{grid-column:1;grid-row:1;min-height:0;height:280px}
  .route-page .rhero-media img{inset:0;height:100%;width:100%;object-fit:contain}
  .route-page .route-image-label{left:18px;bottom:12px;font-size:8px;line-height:1.65}
  .route-page .rhero-inner{grid-column:1;grid-row:2;padding:24px 22px 26px}
  .route-page .rhero-title{font-size:54px;line-height:.95;margin-top:13px;letter-spacing:-.055em}
  .route-page .rhero-sub{font-size:15px;line-height:1.55;margin-top:18px;max-width:38ch}
  .route-page .rhero-eyebrow{font-size:9px}
  .route-hero-facts{margin:16px 0;gap:5px;font-size:12px}
  .route-hero-facts b{font-size:15px}
  .route-page .rhero-cta{margin-top:18px;gap:12px}
  .route-page .rhero .btn{min-height:46px;font-size:11px;padding:14px 15px}
  .route-page .rhero-meta{font-size:11px;margin-top:14px}
  .route-gifting{padding:32px 22px;gap:20px}
  .route-product-details{grid-template-columns:1fr;padding:32px 22px;gap:24px}
  .route-product-details dl{gap:22px 18px}
  .route-product-details dd{font-size:13px}
  .route-product-details p{font-size:14px}
  .route-page .lab .stage{min-height:320px;height:340px}
  .route-page .control-inner{padding:26px 20px}
  .route-page .lab-drop{min-height:80px}
  .route-mobile-review{position:fixed;z-index:30;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:14px;padding:16px 22px calc(16px + env(safe-area-inset-bottom));background:#202d29;color:#f5f3ee;text-decoration:none;box-shadow:0 -3px 16px #0002;font-size:14px}
  .route-page .footer{padding-bottom:90px}
}
@media(max-width:360px){.route-page .rhero-title{font-size:48px}.route-page .rhero-media{height:245px}.route-product-details dl{grid-template-columns:1fr}.route-page .rhero-cta{gap:8px}.route-page .rhero .btn{font-size:10px;padding:14px 12px}}
.route-page:is([data-route-occasion=cycling],[data-route-occasion=sailing]) :is(label[for=route-course],#route-course,#route-use-course,.route-course-warning){display:none}
