/* Shared rhythm and stronger hierarchy across the English and Spanish pages. */
html,body{overflow-x:clip}
.eyebrow{font-size:.8rem;font-weight:850;letter-spacing:.15em;margin-bottom:14px}
.section{padding:clamp(42px,5vw,70px) 0}
.section-heading{gap:32px;margin-bottom:26px}
.section-heading h2{font-weight:800}
.section-heading p{font-size:1.05rem;line-height:1.5}
.page-intro{padding-top:clamp(32px,4vw,52px);padding-bottom:30px}
.page-intro h1{font-weight:800}
.service h3{font-weight:750}
.book-meeting{padding-top:clamp(35px,4vw,58px);padding-bottom:clamp(45px,5vw,68px)}
.quick-hub{padding-top:36px;padding-bottom:42px}

/* The two home cards have matching content starts and one shared action baseline. */
.journey-paths>a{display:flex;flex-direction:column}
.journey-paths h2{min-height:2.5lh;font-weight:800}
.journey-paths p{min-height:3lh}
.journey-paths strong{margin-top:auto;font-size:1rem;font-weight:850;line-height:1.35}
@media(min-width:1101px){
 .map-home .site-header .nav>a{color:#24343a;font-weight:750}
 .map-home .site-header .nav .seo-nav{color:#9b4f2d}
 .map-home .site-header .nav a[href="/about/"]{color:#0b6670}
 .map-home .site-header .nav .nav-cta{background:#0d7076;border-color:#0d7076;color:#fff}
 .map-home .site-header .nav>a:hover{color:#a4512a}
}

/* Case studies: fewer stacked gaps, with the artwork at its own proportion. */
.case-hero{padding-top:clamp(28px,4vw,54px);padding-bottom:36px}
.case-hero .map-back-link{margin-bottom:20px}
.case-section{padding:clamp(42px,5vw,64px) 0}
.case-section-heading{margin-bottom:22px}
.case-section-heading h2{margin-bottom:14px}
.case-gallery{gap:16px}
.case-figure figcaption{font-size:.96rem;font-weight:800;padding-top:10px}
.case-cta{margin:45px 0 58px;padding:clamp(28px,4vw,48px)}
.case-doorways{padding:44px 0}
.archive-proofs .archive-proof-grid{gap:16px;margin-top:18px}
.archive-proof-download{margin-top:16px}
.story-sign{padding:clamp(40px,5vw,70px) 0}
.bowling-case .bowling-flipbook .case-figure a{aspect-ratio:auto}
.bowling-case .bowling-flipbook .case-figure img{height:auto;max-height:640px;object-fit:contain}
.bowling-case .bowling-flipbook .case-figure{align-self:start}

/* Portfolio pages: tighten the handoff between introduction, images, and captions. */
.project-page-intro{padding-top:38px;padding-bottom:20px}
.project-page .print-group{margin:30px 0 42px;padding-top:22px}
.project-page .print-group-heading{margin-bottom:18px}
.project-page .print-group-heading h2{font-weight:800}
.project-page .print-tagline{font-weight:850}
.project-jumps{margin-top:20px}
.project-jumps a{font-weight:800}
.project-page .print-grid{gap:18px}
.project-page .print-piece figcaption,.digital-piece figcaption{font-weight:800}
.digital-gallery{padding:18px 0 44px}
.digital-piece{margin-bottom:18px}
.framework-identity{margin-bottom:25px;padding-top:24px;padding-bottom:22px}
.andres-collection{padding-bottom:14px}

/* Longer story and review pages retain their sections without empty bands. */
.review-letter{padding:clamp(28px,4vw,48px);margin-bottom:28px}
.review-letter h2{margin-bottom:18px}
.reviews-grid{gap:20px;padding-bottom:48px}
.review-open img{height:320px;max-height:none;object-fit:contain}
.family-intro{padding-bottom:30px}
.azcona-roots{padding-top:28px;padding-bottom:35px}
.insight-guide{padding-bottom:30px}
.insights-contact-link{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,620px);margin-top:26px;padding:19px 22px;border:1px solid #0d7076;border-left:6px solid #75b7ad;border-radius:8px;background:#0d7076;color:#fff;font:850 clamp(1rem,1.6vw,1.2rem)/1.3 Manrope,Arial,sans-serif;text-decoration:none;box-shadow:0 7px 18px rgba(13,70,74,.13)}
.insights-contact-link span{font-size:1.5rem;line-height:1;flex:none}
.insights-contact-link:hover,.insights-contact-link:focus-visible{background:#105b62;border-color:#105b62;color:#fff}

@media(max-width:760px){
 .section{padding:42px 0}
 .page-intro{padding-top:32px;padding-bottom:24px}
 .journey-paths h2{min-height:3lh}
 .journey-paths p{min-height:3.5lh}
 .journey-paths strong{font-size:.92rem}
 .quick-hub{padding-top:30px;padding-bottom:35px}
 .book-meeting{padding-top:38px;padding-bottom:52px}
 .case-hero{padding-top:32px;padding-bottom:28px}
 .case-section{padding:40px 0}
 .case-cta{margin:34px 0 45px}
 .project-page .print-group{margin:28px 0 36px}
 .project-page .print-piece img{max-height:560px}
 .reviews-grid{padding-bottom:38px}
 .review-open img{height:300px}
}
@media(max-width:370px){
 .journey-paths h2,.journey-paths p{min-height:0}
}
@media(min-width:1051px){.site-header .nav{gap:clamp(8px,1.35vw,19px);font-size:clamp(.82rem,1.03vw,.94rem)}}
.map-home .book-meeting{padding-bottom:clamp(28px,4vw,46px)}
.map-home .map-footer .footer-countdown{display:flex;justify-content:center;padding:18px 20px 4px}
.map-home .map-footer .secret-countdown{display:block;width:max-content;background:none;border:0;padding:0;margin:0;color:#fff;font:800 clamp(1.35rem,3.8vw,2.7rem)/1.15 'DejaVu Sans Mono',ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.07em;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:760px){.map-home .map-footer .secret-countdown{font-size:clamp(1.5rem,6vw,2.4rem);letter-spacing:.04em}}
.q-hero .map-back-link,.why-boom .map-back-link{color:#c6eae3}
.family-voice .map-back-link{margin:0 0 15px}

/* Shared clickthrough system: substantial teal actions and open gold arrows. */
main .btn, main .q-primary, main .case-cta a {
  display:inline-flex;align-items:center;justify-content:space-between;gap:clamp(20px,4vw,50px);
  min-height:64px;padding:17px 24px;border:1px solid #0d7076;border-radius:7px;
  background:#0d7076;color:#fff;font:800 clamp(1rem,1.6vw,1.18rem)/1.3 Manrope,Arial,sans-serif;
  text-decoration:none;box-shadow:0 7px 18px rgba(13,70,74,.13);
}
main .btn:not(.no-action-arrow):not(.light)::after,main .btn.light::after,main .case-cta a::after{content:none!important;display:none!important}
main .btn:hover,main .btn:focus-visible,main .q-primary:hover,main .q-primary:focus-visible,main .case-cta a:hover,main .case-cta a:focus-visible{background:#105b62;border-color:#105b62;color:#fff}
main .text-link,main .case-tabs a,main .service-go{
  display:inline-flex;align-items:center;gap:9px;width:auto;height:auto;min-height:44px;
  padding:4px 0;border:0;border-bottom:1px solid #c6923e;border-radius:0;
  background:transparent;box-shadow:none;color:#805617;font-weight:800;text-decoration:none;
}
main .text-link::after,main .case-tabs a::after{content:none!important;display:none!important}
main .service-go{justify-content:center;min-width:44px;font-size:1.55rem;color:#b77c24}
main .text-link:hover,main .case-tabs a:hover,main .service-go:hover{color:#10343d;background:transparent;border-color:#10343d}
main .insights-contact-link{min-height:64px}
.map-footer-bottom .footer-est{display:inline-block;margin-left:.55em;color:#e9b75e;font-weight:800;white-space:nowrap}
@media(max-width:600px){main .btn,main .q-primary,main .case-cta a{width:100%;box-sizing:border-box}main .case-tabs a{width:auto;min-height:44px}}
/* Obvious click targets across MAP, with the home decision cards as the strongest cue. */
.journey-paths>a{position:relative;cursor:pointer;border-width:2px;border-top-width:5px;box-shadow:0 9px 24px #001a2252;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,border-color .18s ease}
.journey-paths>a::after{content:none!important;display:none!important}
.journey-paths>a:nth-child(2)::after{color:#a4e3dc}
.journey-paths>a strong{display:inline-flex;align-items:center;gap:9px;border-bottom:2px solid currentColor;text-decoration:none;padding-bottom:5px;font-weight:900}
.journey-paths>a strong::after{content:none!important;display:none!important}
.journey-paths>a:hover,.journey-paths>a:focus-visible{transform:translateY(-5px);background:#ffffff25;box-shadow:0 18px 34px #00141f80;outline:3px solid #ffe18b;outline-offset:4px}
.journey-paths>a:nth-child(2):hover,.journey-paths>a:nth-child(2):focus-visible{outline-color:#99ded6}
.compact-access a,.project-hub-card,.project-jumps a{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.compact-access a:hover,.compact-access a:focus-visible,.project-hub-card:hover,.project-hub-card:focus-visible,.project-jumps a:hover,.project-jumps a:focus-visible{transform:translateY(-3px);box-shadow:0 12px 25px #0b3d4440;outline:3px solid #cf934f;outline-offset:3px}
.compact-access a:focus-visible,.project-hub-card:focus-visible,.project-jumps a:focus-visible{outline-color:#0d7076}
main .text-link{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.studio-booking{margin:18px 0 80px;padding:clamp(28px,5vw,60px);background:linear-gradient(125deg,#0c2a35,#14575d);color:#fff7ed;border-radius:12px}
.studio-booking .eyebrow{color:#bce7df}
.studio-booking h2{font:900 clamp(2.1rem,4.7vw,4rem)/1.07 'Manrope',Arial,sans-serif;letter-spacing:-.045em;margin:0 0 18px}
.studio-booking p:not(.eyebrow){font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.5;max-width:770px}
.studio-book{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,650px);margin:25px 0 17px;padding:22px 26px;background:#80d6cd;color:#0c3137!important;text-decoration:none;font:900 clamp(1.4rem,3.4vw,2.6rem)/1.08 'Manrope',Arial,sans-serif;border-radius:6px;box-shadow:0 10px 25px #001b205e;transition:transform .18s,filter .18s}
.studio-book:hover,.studio-book:focus-visible{transform:translateY(-4px);filter:brightness(1.09);outline:3px solid #ffe18b;outline-offset:4px}
@media(max-width:760px){.journey-paths>a::after{top:10px;right:10px;width:30px;height:30px;font-size:1.18rem}.journey-paths>a{padding-right:15px}.journey-paths .path-word{padding-right:28px}.studio-book{padding:18px 20px}}

/* Readable interior headings without altering the approved home artwork. */
.project-page-intro h1,.page-intro h1,.studio-booking h2,.framework-web-feature h2,.resource-page h2,.why-boom h2,.why-close h2{letter-spacing:-.01em;word-spacing:.06em;line-height:1.15}
/* Stable rows prevent Safari multicolumn reflow during lazy image decoding. */
.digital-gallery{display:grid;columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.digital-gallery .digital-piece{min-width:0;margin:0;break-inside:auto}
.digital-piece img{height:auto;max-width:100%;object-fit:contain}
@media(max-width:900px){.digital-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.digital-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}}

/* A two-sided card is one project at every screen size. */
.digital-card-project{grid-column:1/-1;min-width:0;background:#e8f0ed;padding:20px;border-radius:10px}
.digital-card-project h3{margin:0 0 18px;font-size:1.3rem;line-height:1.25}
.digital-card-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.digital-card-sides .digital-piece{margin:0;min-width:0}
@media(max-width:600px){.digital-card-project{padding:14px}.digital-card-sides{gap:12px}.digital-card-project h3{font-size:1.1rem}}

/* Mobile navigation overlays the current page without expanding its layout. */
.menu-backdrop[hidden]{display:none!important}
.menu-backdrop{position:fixed;inset:0;background:rgba(5,16,23,.68);z-index:100;touch-action:none}
body.menu-is-open .site-header{z-index:101;position:relative}
body.menu-is-open .site-header .nav.open{position:fixed!important;top:var(--menu-top,90px)!important;left:12px!important;right:12px!important;bottom:auto;width:auto!important;max-height:calc(100dvh - var(--menu-top,90px) - 16px);overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;background:#f7f4ef!important;color:#18343a!important;padding:16px!important;gap:6px!important;border:1px solid #c8d9d3!important;border-radius:0 0 12px 12px;box-shadow:0 20px 50px #0005;grid-column:auto;grid-row:auto}
body.menu-is-open .site-header .nav.open>a{color:#18343a!important;background:#fff;padding:12px 15px;min-height:46px}
body.menu-is-open .site-header .nav.open .nav-cta{background:#0d7076!important;color:#fff!important}
@media print{.menu-backdrop{display:none!important}}

/* Package link shares the content gutter and uses the existing single CTA arrow. */
.package-content-link{margin-block:24px 28px;box-sizing:border-box}
.package-content-link .btn{width:100%;box-sizing:border-box;margin:0;min-width:0;white-space:normal}

/* Review: keep long bilingual copy inside its columns and simplify home cards. */
.studio-layout>* ,.book-meeting>*,.section-heading>*,.project-hub-grid>*,.case-doorway-grid>*{min-width:0}
.page-intro h1,.project-page-intro h1,.case-hero h1,.print-group-heading h2,.book-meeting h2{overflow-wrap:break-word}
.journey-paths>a::after{content:none}
@media(max-width:600px){
 .studio-form .choice-grid{grid-template-columns:minmax(0,1fr)}
 .print-showcase .project-jumps{grid-template-columns:minmax(0,1fr)}
 .project-jumps a{max-width:100%;min-width:0;overflow-wrap:break-word}
 .site-header>.language-switch-mobile{min-height:44px}
}

/* Original Luna campaign context spans both gallery columns. */
.luna-story{grid-column:1/-1;margin:1rem 0 .5rem}.luna-story h3{margin-bottom:.6rem}.luna-story p{max-width:65ch;line-height:1.65}
