:root{color-scheme:light;--ink:#111;--muted:#606060;--accent:#2155b7;--line:#dedede}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}img{display:block;max-width:100%}a:focus-visible{outline:3px solid #17418f;outline-offset:5px}
.site-frame{max-width:1240px;margin:32px auto;border:1px solid var(--line);border-radius:3px;overflow:hidden}.shell{max-width:1140px;margin:auto;padding-inline:36px}.nav{min-height:100px;display:flex;align-items:center;gap:34px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:.875rem;font-weight:750;letter-spacing:.025em}.monogram{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#111;color:#fff;font-size:1.25rem;letter-spacing:-.07em}.brand-name{max-width:110px;line-height:1.2}.navlinks{display:flex;flex-wrap:wrap;gap:28px;align-items:center}.navlinks a{text-decoration:none;font-size:.9375rem;font-weight:600}.navlinks a:hover,.navlinks a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}.nav-cta{margin-left:auto;text-decoration:none;background:var(--accent);color:#fff;padding:8px 16px;font-size:.875rem;white-space:nowrap}
.hero{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:50px;padding-top:16px;padding-bottom:36px}.hero h1{font-size:clamp(2.8rem,5.4vw,4.75rem);line-height:1.04;letter-spacing:-.055em;margin:0 0 22px;font-weight:800}.hero p{font-size:1.18rem;line-height:1.55;max-width:560px;margin:0 0 26px}.hero-photo{background:#efe6db;max-height:420px;overflow:hidden}.hero-photo img{width:100%;height:420px;object-fit:cover;object-position:center 40%}.actions{display:flex;gap:13px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 18px;border:1px solid #333;text-decoration:none;font-size:.9375rem;line-height:1.3;background:#fff}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button:hover{background:#eef3fc}.button.primary:hover,.nav-cta:hover{background:#17418f;color:#fff}
.catalog{padding-top:12px;padding-bottom:56px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px}.catalog-card{min-width:0;scroll-margin-top:24px}.card-media{width:100%;aspect-ratio:4/3;object-fit:cover;background:#eee}.category{font-size:.875rem;color:var(--muted);margin:17px 0 6px}.catalog-card h2{font-size:1.45rem;line-height:1.2;letter-spacing:-.03em;margin:0 0 10px}.description{font-size:1rem;color:#555;max-width:480px;margin:0 0 14px}.price{display:block;font-weight:700;font-size:1rem;margin-bottom:16px}.fineprint{font-size:.875rem;color:#666;margin:12px 0 0}.upcoming{display:inline-block;border:1px solid #ccc;padding:8px 18px;font-size:.9375rem;color:#555}.foot{display:flex;justify-content:space-between;gap:20px;padding-block:24px;border-top:1px solid var(--line);font-size:.875rem}.foot a{text-underline-offset:4px}
.story-hero{padding:48px 0 28px;max-width:850px}.eyebrow{font-size:.9375rem;margin:0 0 18px;color:#555}.story-hero h1{font-size:clamp(3rem,6vw,5rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 24px}.lead{font-size:1.18rem;line-height:1.6;max-width:760px;margin:0}.story-main{padding-block:26px 64px}.story-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:60px;align-items:start}.story-image{margin:0}.story-image img{width:100%;height:auto}.story-copy h2{font-size:1.8rem;letter-spacing:-.035em;margin:0 0 22px}.story-copy p{font-size:1.0625rem;line-height:1.8;margin:0 0 22px}.story-signature{border-top:1px solid var(--line);padding-top:20px;font-weight:700}
@media(max-width:800px){.site-frame{margin:16px}.shell{padding-inline:24px}.nav{gap:20px;flex-wrap:wrap;padding-block:22px}.brand-name{display:none}.navlinks{gap:20px}.hero{gap:24px}.hero-photo img{height:350px}.hero h1{font-size:clamp(2.6rem,6vw,3.8rem)}.catalog{gap:28px}.story-layout{gap:32px;grid-template-columns:1fr 1.3fr}}
@media(max-width:600px){.site-frame{margin:0;border:0;border-radius:0}.nav{min-height:88px;gap:18px}.monogram{width:44px;height:44px}.navlinks{gap:15px}.navlinks a{font-size:.875rem}.nav-cta{display:none}.hero{grid-template-columns:1fr;padding-top:25px;gap:30px}.hero-photo{max-height:none}.hero-photo img{height:auto;max-height:480px;object-fit:contain}.hero p{font-size:1.0625rem}.catalog{grid-template-columns:1fr;gap:36px;padding-top:0}.card-media{aspect-ratio:4/3}.story-layout{grid-template-columns:1fr}.story-image{max-width:420px;margin:auto}.story-hero{padding-top:28px}.foot{flex-wrap:wrap}.story-main{padding-bottom:40px}}
.category-content{padding:12px 0 60px}.category-content .catalog-card{max-width:640px}.category-content .card-media{aspect-ratio:4/3}.category-image-link{display:block}.category-image-link:hover{opacity:.92}
/* Keny's travel portrait */
.category-content #viajes{max-width:520px}
.category-content #viajes .card-media{aspect-ratio:3/4;object-position:center}

/* Show the full portrait photos in the category cards on every screen size. */
.category-image-link .card-media{aspect-ratio:3/4;object-fit:contain;object-position:center;background:#fff}

/* Compact, evenly spaced guide cards on the Fitness page. */
.fitness-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.fitness-guides .catalog-card{min-width:0;max-width:none}
.fitness-guides .card-media{display:block;width:100%;height:260px;aspect-ratio:auto;object-fit:contain;object-position:center;background:#fff}
@media(max-width:900px){.fitness-guides{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fitness-guides{grid-template-columns:1fr;gap:36px}.fitness-guides .catalog-card{max-width:420px}}
.fitness-guides .guide-title-link{text-decoration:none}
.fitness-guides .guide-title-link:hover,.fitness-guides .guide-title-link:focus-visible{text-decoration:underline;text-underline-offset:3px}
.fitness-guides .price a{text-underline-offset:3px}
/* Balanced home cards with equal image frames. */
.hero.hero-text-only{grid-template-columns:1fr;padding-top:32px;padding-bottom:40px}
.hero-text-only p{max-width:680px}
.home-catalog{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:40px}
.home-catalog .catalog-card{width:100%;max-width:300px}
.home-catalog .category-image-link{width:100%}
.home-catalog .category-image-link .card-media{width:100%;height:auto;max-height:none;aspect-ratio:676/657;object-fit:cover;object-position:center;background:#fff}
.home-catalog .category-image-link[href="/viajes/"] .card-media{object-position:center bottom}
@media(max-width:600px){.home-catalog{grid-template-columns:1fr;gap:32px}.hero.hero-text-only{padding-top:25px;padding-bottom:32px}}
/* Contact page */
.contact-page{background:#f6f7fa;padding:64px 36px 48px}
.contact-inner{max-width:920px;margin:auto}
.contact-page h1{text-align:center;font-size:clamp(2rem,4vw,2.7rem);letter-spacing:-.025em;margin:0 0 56px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
.contact-field label{display:block;font-size:.875rem;margin:0 0 8px 18px;color:#4d5664}
.contact-field input,.contact-field textarea{display:block;width:100%;border:1px solid transparent;background:#e9ebef;color:#17202b;font:inherit;font-size:1rem;padding:17px 23px;border-radius:32px}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#59616d;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{outline:3px solid #2155b7;outline-offset:3px}
.contact-field textarea{min-height:230px;border-radius:24px;resize:vertical}
.contact-message{grid-column:1/-1}
.contact-help{font-size:.9375rem;color:#525d6c;text-align:center;margin:24px auto;max-width:650px}
.contact-help a{overflow-wrap:anywhere;text-underline-offset:3px}
.contact-submit{display:block;margin:24px auto 0;background:var(--accent);border:0;border-radius:30px;padding:16px 28px;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.contact-submit:hover{background:#17418f}
.contact-submit:focus-visible{outline:3px solid #17418f;outline-offset:4px}
@media(max-width:600px){.contact-page{padding:38px 24px}.contact-page h1{margin-bottom:30px}.contact-grid{grid-template-columns:1fr;gap:18px}.contact-field input,.contact-field textarea{padding:15px 19px}.navlinks{flex-wrap:wrap}}
