.hub{--paper:#f4f1eb;--ink:#20211d;--accent:#db5837;--muted:#686960;--line:#d5d2c8;background:var(--paper)}
.hub em{font-style:normal;color:var(--accent)}
.hub-topbar{height:76px}.hub-nav{gap:34px}.hub-nav a{transition:color .2s}
.hub-hero{display:grid;grid-template-columns:47% 53%;gap:0;min-height:670px;padding-top:30px;padding-bottom:34px}
.hub-hero-copy{padding:55px 5% 42px 0;display:flex;flex-direction:column;align-items:flex-start}
.hub-hero h1{font-size:clamp(76px,8.8vw,142px);line-height:.83;margin:37px 0 36px;letter-spacing:-.085em}
.hub-hero-copy>p{font-size:19px;line-height:1.55;max-width:490px;margin-bottom:30px;color:#45463e}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}.pill-button{border-radius:100px;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:16px 22px;font-size:12px;text-transform:uppercase;letter-spacing:.065em;font-weight:700;transition:transform .2s,background .2s}
.pill-button:hover{transform:translateY(-3px)}.pill-button.primary{background:var(--accent);color:#fff}.pill-button.primary:hover{background:#bd4127}.pill-button.secondary{border:1px solid var(--line)}.pill-button.dark{background:var(--ink);color:#fff;width:fit-content}.pill-button.dark:hover{background:var(--accent)}
.hero-dateline{display:flex;align-items:center;gap:9px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:auto;padding-top:28px}.status-dot{background:#93a65d;border-radius:50%;width:7px;height:7px}
.hub-hero-visual{position:relative;min-height:600px;overflow:hidden;background:#1c261b}.hub-hero-visual:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.48));pointer-events:none}.hub-hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:55% 45%}.photo-tag{position:absolute;z-index:1;bottom:28px;left:30px;color:#fff;display:grid;gap:5px}.photo-tag span{font-size:10px;letter-spacing:.15em;text-transform:uppercase}.photo-tag strong{font:700 clamp(28px,3vw,42px) 'Space Grotesk',sans-serif;letter-spacing:-.05em}.vertical-label{position:absolute;right:17px;top:23px;z-index:1;color:#fff;font-size:10px;font-weight:700;letter-spacing:.17em;writing-mode:vertical-rl}
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;padding-top:17px;padding-bottom:17px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ticker span:not(:last-child):after{content:"●";color:var(--accent);padding-left:26px;font-size:8px}
.hub-section{padding-top:100px;padding-bottom:102px}.hub-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:32px}.hub-section-head h2,.beyond-copy h2,.social-intro h2{font-size:clamp(58px,6.7vw,105px);line-height:.9;margin:22px 0 0;letter-spacing:-.075em}.hub-section-head>p{max-width:370px;font-size:18px;line-height:1.55;color:var(--muted);margin-bottom:5px}
.gallery-feature{display:grid;grid-template-columns:59% 41%;min-height:510px;background:#e7e4da}.gallery-feature-image{position:relative;display:block;overflow:hidden;min-height:510px;background:#8a8f74}.gallery-feature-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-feature-image:hover img{transform:scale(1.035)}.image-corner{position:absolute;bottom:22px;left:22px;background:var(--paper);color:var(--ink);padding:12px 15px;font-size:11px;font-weight:700;letter-spacing:.1em}.gallery-feature-copy{display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden;padding:48px 45px 0}.gallery-feature-copy h3{font-size:clamp(50px,5vw,82px);line-height:.9;margin:29px 0 20px}.gallery-feature-copy h3 span{color:var(--accent)}.gallery-feature-copy p{max-width:340px;line-height:1.6;font-size:17px;color:#55564f;margin-bottom:27px}.mini-collage{display:flex;gap:8px;width:100%;margin-top:auto;transform:translateY(16px)}.mini-collage img{width:32%;height:100px;object-fit:cover;transform:rotate(-4deg)}.mini-collage img:nth-child(2){transform:rotate(3deg) translateY(-5px)}.mini-collage img:nth-child(3){transform:rotate(-2deg)}
.gallery-next{display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line);padding:26px 0;font-size:13px}.gallery-next>span{font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-right:auto}.gallery-next a{font-weight:700}.gallery-next a:hover{color:var(--accent)}.gallery-next small{font-size:10px;text-transform:uppercase;color:var(--muted);margin-left:6px}
.explore-band{background:#e7e2d8;padding:105px 0 112px}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.explore-card{min-height:410px;position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:26px 30px 28px;color:#fff;overflow:hidden;transition:transform .25s}.explore-card:hover{transform:translateY(-5px)}.race-video{background:#30392e}.ride-video{background:#865e43}.strava-card{background:#d65b3c}.explore-number{font-size:10px;font-weight:700;letter-spacing:.16em}.explore-icon{font:700 100px 'Space Grotesk',sans-serif;line-height:1;margin:auto;opacity:.18}.explore-card h3{font-size:clamp(38px,4.1vw,60px);line-height:.92;margin:0 0 15px}.explore-card p{max-width:240px;line-height:1.5;font-size:14px;opacity:.88;margin:0}.explore-arrow{position:absolute;right:27px;bottom:29px;font-size:30px}
.beyond-section{display:grid;grid-template-columns:1fr 1fr;min-height:580px;padding-top:110px;padding-bottom:110px;gap:10%}.beyond-visual{min-height:450px;position:relative;background:#d9d6ca}.beyond-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.beyond-copy{align-self:center}.beyond-copy p{font-size:20px;line-height:1.55;max-width:470px;color:var(--muted);margin:29px 0 30px}
.social-band{background:#242822;color:#f4f1eb;padding:105px 0}.social-band .shell{display:grid;grid-template-columns:1fr 1fr;gap:9%}.social-band .eyebrow{color:#ff906c}.social-intro p{font-size:18px;line-height:1.5;color:#c9c9be;max-width:350px;margin-top:30px}.social-links{border-top:1px solid #666b60}.social-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 4px;border-bottom:1px solid #666b60}.social-links a:hover{color:#ff906c}.social-links a span:first-child{font:600 clamp(25px,2.7vw,39px) 'Space Grotesk',sans-serif;letter-spacing:-.05em}.social-links a span:last-child{font-size:12px;text-transform:uppercase;letter-spacing:.04em}.hub-foot{align-items:center}.professional-links{display:flex;flex-wrap:wrap;gap:17px}
.gallery-landing{padding:70px 0 120px}.gallery-landing .eyebrow,.gallery-detail .eyebrow{display:block}.gallery-landing h1,.gallery-detail h1{font-size:clamp(60px,9vw,128px);line-height:.85;margin:20px 0 28px;letter-spacing:-.08em}.gallery-landing>.intro,.gallery-detail .intro{max-width:760px;font-size:20px;line-height:1.55;color:var(--muted)}.album-list{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:58px}.album-card{display:flex;flex-direction:column;background:#e6e3d9;min-height:420px}.album-card .album-cover{display:block;position:relative;height:310px;overflow:hidden}.album-card .album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.album-card:hover img{transform:scale(1.04)}.album-card .album-copy{padding:25px;display:flex;justify-content:space-between;gap:18px}.album-card strong{font:700 28px 'Space Grotesk',sans-serif;letter-spacing:-.05em}.album-card small{color:var(--muted);font-size:12px;text-align:right}.album-card.external{background:#d8dfca}.album-card.external .album-cover{background:#38483b;display:grid;place-items:center;color:#f4f1eb;font:700 76px 'Space Grotesk',sans-serif;letter-spacing:-.08em}
.gallery-detail{padding-top:65px;padding-bottom:120px}.gallery-detail .intro{margin-bottom:35px}.gallery-stats{display:flex;gap:30px;flex-wrap:wrap;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.gallery-controls{display:flex;flex-wrap:wrap;gap:8px;margin:35px 0 28px}.gallery-filter{border:1px solid var(--line);border-radius:100px;background:transparent;padding:10px 16px;cursor:pointer;font-size:12px;font-weight:700}.gallery-filter:hover,.gallery-filter.active{background:var(--ink);color:#fff;border-color:var(--ink)}.race-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.race-photo{display:block;border:0;padding:0;background:#e4e0d8;aspect-ratio:1.31;overflow:hidden;cursor:pointer}.race-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.race-photo:hover img{transform:scale(1.05)}.gallery-more{display:block;margin:38px auto 0;border:1px solid var(--ink);background:transparent;border-radius:100px;padding:14px 25px;cursor:pointer;font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.gallery-more:hover{background:var(--ink);color:#fff}.gallery-count{text-align:center;color:var(--muted);font-size:12px;margin-top:18px}
.lightbox{border:0;padding:0;max-width:none;max-height:none;width:100vw;height:100dvh;background:rgba(19,20,18,.97);color:#fff}.lightbox::backdrop{background:#12130f}.lightbox-layout{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;padding:18px}.lightbox-top,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px}.lightbox-top{font-size:12px;letter-spacing:.08em;text-transform:uppercase}.lightbox button{border:1px solid #767a70;border-radius:50%;background:#30342c;color:white;width:44px;height:44px;cursor:pointer;font-size:20px}.lightbox-main{display:grid;grid-template-columns:55px 1fr 55px;gap:8px;min-height:0;align-items:center}.lightbox-main img{max-width:100%;max-height:calc(100dvh - 160px);object-fit:contain;justify-self:center}.lightbox-bottom{font-size:12px;color:#c2c4bb}.lightbox-bottom a{color:#fff;text-decoration:underline}.gallery-error{padding:30px;background:#f0ddd5}
@media(max-width:1050px){.hub-hero h1{font-size:clamp(68px,9vw,105px)}.hub-hero-copy>p{font-size:17px}.gallery-feature-copy{padding:35px 30px 0}.explore-card{min-height:360px}.album-list{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.hub-topbar{display:flex;height:auto;padding:17px 0;align-items:flex-start;gap:20px}.hub-nav{margin:4px 0 0;gap:14px;justify-content:flex-end;flex-wrap:wrap;font-size:10px}.hub-hero{grid-template-columns:1fr;padding-top:25px}.hub-hero-copy{padding:27px 0 35px}.hub-hero h1{font-size:clamp(76px,17vw,118px);margin:28px 0}.hub-hero-visual{min-height:470px}.hero-dateline{margin-top:8px}.ticker{overflow:auto;white-space:nowrap}.ticker span:not(:last-child):after{padding-left:14px}.hub-section{padding-top:75px;padding-bottom:75px}.hub-section-head{display:block}.hub-section-head>p{margin:22px 0 0}.gallery-feature{display:block}.gallery-feature-image{min-height:350px}.gallery-feature-copy{min-height:345px;padding:35px 25px 0}.gallery-next{flex-wrap:wrap;gap:14px}.gallery-next>span{width:100%}.explore-band{padding:75px 0}.explore-grid{grid-template-columns:1fr}.explore-card{min-height:300px}.explore-icon{position:absolute;right:65px;top:80px}.beyond-section{grid-template-columns:1fr;padding-top:75px;padding-bottom:75px;gap:45px}.beyond-visual{min-height:340px}.social-band{padding:75px 0}.social-band .shell{grid-template-columns:1fr;gap:35px}.album-list{grid-template-columns:1fr}.race-gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.hub-nav{gap:10px;font-size:9px}.hub-hero h1{font-size:20vw}.hub-hero-visual{min-height:380px}.hero-cta{width:100%}.hero-cta .pill-button{width:100%}.photo-tag{left:18px;bottom:20px}.vertical-label{right:10px}.hub-section-head h2,.beyond-copy h2,.social-intro h2{font-size:clamp(52px,13vw,75px)}.gallery-feature-image{min-height:270px}.gallery-feature-copy h3{font-size:60px}.mini-collage img{height:80px}.gallery-next a{width:100%}.gallery-next small{display:block;margin:3px 0 0}.race-gallery-grid{grid-template-columns:repeat(2,1fr);gap:5px}.gallery-detail{padding-top:50px}.gallery-detail .intro,.gallery-landing>.intro{font-size:17px}.lightbox-layout{padding:10px}.lightbox-main{grid-template-columns:40px 1fr 40px}.lightbox button{width:38px;height:38px}.lightbox-top{font-size:10px}}
@media(max-width:520px){.hub-topbar{display:block}.hub-nav{justify-content:space-between;gap:10px;font-size:11px;margin-top:17px}.hub-hero h1{font-size:20vw}.hub-hero-visual{min-height:380px}.hero-cta{width:100%}.hero-cta .pill-button{width:100%}.photo-tag{left:18px;bottom:20px}.vertical-label{right:10px}.hub-section-head h2,.beyond-copy h2,.social-intro h2{font-size:clamp(52px,13vw,75px)}.gallery-feature-image{min-height:270px}.gallery-feature-copy h3{font-size:60px}.mini-collage img{height:80px}.gallery-next a{width:100%}.gallery-next small{display:block;margin:3px 0 0}.race-gallery-grid{grid-template-columns:repeat(2,1fr);gap:5px}.gallery-detail{padding-top:50px}.gallery-detail .intro,.gallery-landing>.intro{font-size:17px}.lightbox-layout{padding:10px}.lightbox-main{grid-template-columns:40px 1fr 40px}.lightbox button{width:38px;height:38px}.lightbox-top{font-size:10px}}
@media(max-width:520px){.lightbox-main{display:flex;justify-content:center;position:relative}.lightbox-main img{max-width:100%}.lightbox-main button{position:absolute;top:50%;transform:translateY(-50%);z-index:1;background:#30342cdd}.lightbox-main button:first-child{left:0}.lightbox-main button:last-child{right:0}}
.hub-nav{gap:20px;font-size:11px;white-space:nowrap}.hub-nav a[aria-current="page"]{color:var(--accent)}
.race-photo{background:#282a24}.race-photo img{object-fit:contain}.gallery-feature-image img,.album-card .album-cover img,.beyond-visual img{object-position:center bottom}.mini-collage img{object-fit:contain;background:#282a24}
@media(max-width:900px){.hub-topbar{display:block;height:auto;padding:17px 0}.hub-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px;width:100%;margin:17px 0 0;font-size:11px;justify-content:unset;white-space:normal}}
.story-intro{max-width:980px}.story-intro h1{font-size:clamp(68px,9vw,126px)}.story-layout{display:grid;grid-template-columns:1fr 2fr;gap:8%;padding:95px 0 130px}.story-aside{align-self:start;position:sticky;top:35px}.story-aside p{font:600 23px/1.4 'Space Grotesk',sans-serif;letter-spacing:-.04em;max-width:270px;margin-top:28px}.story-copy h2{font-size:clamp(42px,5vw,70px);line-height:1;max-width:750px;margin:17px 0 25px}.story-copy p{font-size:19px;line-height:1.65;max-width:770px;color:#4f504b;margin-bottom:25px}.story-copy p a{border-bottom:1px solid var(--accent)}.story-copy>.eyebrow:not(:first-child){display:block;margin-top:75px}.story-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px}.contact-intro h1{font-size:clamp(60px,7.2vw,108px)}.site-nav a[aria-current="page"]{color:var(--accent)}
@media(max-width:760px){.story-layout{grid-template-columns:1fr;gap:45px;padding:65px 0 90px}.story-aside{position:static}.story-aside p{max-width:500px}.story-copy p{font-size:17px}.story-copy>.eyebrow:not(:first-child){margin-top:55px}.contact-intro h1{font-size:clamp(54px,10vw,75px)}}
.hub-hero-visual .photo-tag{top:22px;bottom:auto;left:22px;padding:12px 15px;background:rgba(22,28,21,.68);backdrop-filter:blur(3px)}.hub-hero-visual .photo-tag strong{font-size:clamp(22px,2.2vw,32px)}

/* Keep signed album thumbnails full bleed, with the signature at the lower edge. */
.race-photo img{object-fit:cover;object-position:center bottom}.mini-collage img{object-fit:cover;background:transparent}

/* Personal palette from the supplied avatar */
.pill-button.primary{background:var(--accent)}.pill-button.primary:hover{background:var(--accent-dark)}.strava-card{background:var(--accent-dark)}.social-band .eyebrow,.social-links a:hover{color:#d7a4bb}.about .eyebrow{color:#d7a4bb}
/* Territorio Coloma gallery guide */
.coloma-gallery .intro{max-width:900px}.gallery-credit{margin:27px 0 60px;padding:20px 24px;border-left:4px solid var(--accent);background:#eae2e4;max-width:900px}.gallery-credit strong{font:700 13px 'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.08em}.gallery-credit p{margin:8px 0 0;line-height:1.55}.gallery-credit a{text-decoration:underline;text-underline-offset:3px}.coloma-section-head{display:grid;grid-template-columns:1fr 1fr;gap:10px 50px;align-items:end;margin-bottom:28px}.coloma-section-head .eyebrow{grid-column:1/-1}.coloma-section-head h2{font-size:clamp(45px,6vw,90px);line-height:.92;margin:0}.coloma-section-head h2 em{font-style:normal;color:var(--accent)}.coloma-section-head p{font-size:17px;line-height:1.55;color:var(--muted);max-width:360px;margin:0 0 5px}.section-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:65px}.section-card{display:grid;grid-template-columns:38% 62%;text-align:left;border:1px solid var(--line);padding:0;background:#ede9e2;color:var(--ink);min-height:190px;cursor:pointer;overflow:hidden}.section-card:hover,.section-card.active{border-color:var(--accent);background:#f4e7eb}.section-card-image{display:block;overflow:hidden}.section-card-image img{width:100%;height:100%;object-fit:cover;object-position:center bottom;transition:transform .25s}.section-card:hover img{transform:scale(1.04)}.section-card-copy{display:flex;flex-direction:column;gap:8px;padding:19px 22px}.section-card-copy small,.section-card-copy em{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;font-style:normal;color:var(--accent)}.section-card-copy strong{font:700 clamp(20px,2.1vw,30px)/1.04 'Space Grotesk',sans-serif;letter-spacing:-.045em}.section-card-desc{font-size:12px;line-height:1.4;color:#5d5b58}.section-card-copy em{margin-top:auto}.section-summary{font-size:17px;line-height:1.55;background:#eae2e4;padding:18px 22px;margin:0 0 24px}.section-summary strong{font-family:'Space Grotesk',sans-serif}@media(max-width:900px){.section-guide{grid-template-columns:1fr}}@media(max-width:600px){.coloma-section-head{display:block}.coloma-section-head h2{margin:15px 0}.section-card{grid-template-columns:35% 65%;min-height:170px}.section-card-copy{padding:13px}.section-card-desc{font-size:11px}.gallery-credit{margin-bottom:45px}.section-guide{gap:10px}}

.hub{--accent:#7a1b48}.hub .social-band{background:#4d001f}.hub .photo-tag{background:rgba(77,0,31,.78)}

/* Consistent mauve surfaces; Strava uses its recognizable orange. */
.hub{--paper:#f6eff4;--ink:#211b20;--muted:#665d65;--line:#deced9}
.gallery-feature{background:#eee2e9}.explore-band{background:#eadde6}.beyond-visual{background:#eadde6}
.album-card,.section-card{background:#eee3ea}.album-card.external{background:#e6d5df}.race-photo{background:#e9dce5}
.race-video{background:var(--accent-dark)}.strava-card{background:#fc5200}
