/* Off to the Test Match: shared expansion styles, mobile first. */
:root{--focus:#A3242A}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.site-head :focus-visible,.tm-hero :focus-visible,.tm-band :focus-visible{outline-color:#F2C94C}
.site-head .wrap{max-width:1240px}.brand b{white-space:normal;line-height:1.05;font-size:1.35rem;max-width:210px}.brand b small{display:block;font:500 .63em var(--body);letter-spacing:.08em;margin-bottom:4px}.brand svg{width:44px;height:44px}.nav{gap:16px}.nav a{font-size:.9rem}
.tm-wrap{max-width:1200px;margin:auto;padding:0 24px}.tm-section{padding:56px 0;border-bottom:1px solid var(--line)}.tm-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:700;margin-bottom:16px}.tm-hero{background:#17301f;color:#f7f8f3;position:relative;overflow:hidden}.tm-hero-grid{display:grid;grid-template-columns:1fr;gap:28px;padding-top:42px;padding-bottom:36px}.tm-hero h1{font-size:clamp(2.6rem,5.6vw,4.7rem);line-height:1.04;font-weight:600;max-width:12ch;letter-spacing:-.035em}.tm-hero h1 em{color:#e9cb84;font-style:normal}.tm-hero .tm-deck{max-width:43ch;color:#dce6d9;font-size:1.04rem;line-height:1.7}.tm-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:24px}.tm-actions .btn{padding:12px 20px}.tm-text-link{color:inherit;text-underline-offset:5px;font-size:.9rem}.tm-hero figure{margin:0;min-width:0;position:relative}.tm-hero img{display:block;aspect-ratio:1.45;width:100%;object-fit:cover;border-radius:3px}.tm-caption{font-size:.7rem;line-height:1.6;color:#dce6d9;margin:10px 0 0}.tm-caption a{color:inherit}.tm-photo-label{position:absolute;left:16px;top:16px;padding:7px 12px;background:#17301fe6;font-size:.72rem;font-weight:600;letter-spacing:.08em}.tm-strip{background:#e7d3a6;color:#253322;border-bottom:1px solid #c7b790}.tm-strip .tm-wrap{display:flex;gap:12px 32px;flex-wrap:wrap;padding-top:15px;padding-bottom:15px;font-size:.78rem}.tm-strip b{font-weight:700}.tm-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;flex-wrap:wrap}.tm-head h2{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:8px}.tm-head p{margin:0;color:var(--muted);max-width:58ch}.tm-destinations{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.tm-destination{display:grid;grid-template-columns:38px 1fr 20px;gap:12px;padding:25px 8px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.tm-destination:hover{background:var(--slot)}.tm-destination .tm-number{font:500 1rem var(--head);color:var(--muted)}.tm-destination h3{font-size:1.6rem}.tm-destination p{font-size:.85rem;color:var(--muted);margin:0 0 10px}.tm-destination small{font-size:.72rem;font-weight:600}.tm-destination .tm-arrow{font-size:1.2rem}.tm-feature-grid{display:grid;gap:24px;grid-template-columns:1fr}.tm-feature{border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column}.tm-feature-top{padding:27px 24px;background:#e8ece1;border-bottom:1px solid var(--line);color:#233626;min-height:145px;position:relative;overflow:hidden}.tm-feature-top:after{content:'';position:absolute;width:180px;height:100px;border:1px solid #23362633;border-radius:50%;right:-55px;bottom:-40px;box-shadow:0 0 0 18px #23362608,0 0 0 36px #23362606}.tm-feature-top.west-indies{background:#efe1b9}.tm-feature-top.india{background:#f2ddd0}.tm-feature-top h3{font-size:1.9rem;position:relative;z-index:1}.tm-feature-top .tm-kicker{font-size:.65rem;margin-bottom:13px}.tm-feature-body{padding:23px;display:flex;flex-direction:column;flex:1}.tm-feature-body p{color:var(--muted);font-size:.9rem}.tm-feature-body a{margin-top:auto;font-weight:600;text-underline-offset:4px}.tm-tag{display:inline-block;border:1px solid var(--line);padding:3px 8px;font-size:.7rem;font-weight:600;border-radius:3px;margin-bottom:12px;width:fit-content}.tm-band{background:#17301f;color:#f7f8f3;padding:40px 0}.tm-band .tm-wrap{display:grid;gap:22px}.tm-band p{color:#dce6d9;margin:0}.tm-band a{color:#f2c94c}.tm-link-list{list-style:none;padding:0;margin:0}.tm-link-list li{padding:15px 0;border-bottom:1px solid var(--line)}.tm-link-list a{font-family:var(--head);font-size:1.35rem;text-underline-offset:4px}.tm-link-list p{font-size:.86rem;color:var(--muted);margin:5px 0 0}.tm-intro{padding:36px 0 38px}.tm-intro h1{font-size:clamp(2.4rem,5vw,3.7rem);max-width:20ch}.tm-intro .lede{max-width:66ch}.tm-breadcrumb{font-size:.78rem;margin-bottom:24px;color:var(--muted)}.tm-breadcrumb a{color:inherit}.tm-notice{border-left:3px solid #a88335;background:var(--slot);padding:16px 20px;margin:24px 0;font-size:.88rem}.tm-notice p:last-child{margin-bottom:0}.tm-content-grid{display:grid;gap:34px;padding-top:36px;padding-bottom:48px}.tm-prose section{padding-bottom:26px;margin-bottom:28px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.tm-prose p,.tm-prose li{max-width:72ch;font-size:.96rem;line-height:1.8}.tm-prose h2{font-size:1.85rem}.tm-prose ul{padding-left:22px}.tm-aside{padding:24px;background:var(--slot);align-self:start}.tm-aside h2{font-size:1.3rem}.tm-aside ul{padding-left:18px;font-size:.86rem}.tm-aside p{font-size:.84rem}.tm-aside .btn{font-size:.85rem}.tm-source-list{padding-left:23px}.tm-source-list li{padding:7px 0;font-size:.86rem;overflow-wrap:anywhere}.tm-source-list a{overflow-wrap:anywhere}.tm-updated{font-size:.76rem;color:var(--muted)}.tm-filter{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.tm-filter button{font:600 .82rem var(--body);background:var(--card);border:1px solid var(--line);color:var(--ink);padding:10px 15px;border-radius:25px;cursor:pointer;min-height:44px}.tm-filter button[aria-pressed="true"]{background:#17301f;color:#fff;border-color:#17301f}.tm-search label{display:block;font-size:.84rem;font-weight:600;margin-bottom:7px}.tm-search input{font:inherit;padding:12px 14px;width:100%;max-width:520px;background:var(--card);color:var(--ink);border:1px solid var(--muted);border-radius:4px}.tm-results{font-size:.8rem;color:var(--muted)}.tm-guide-grid{display:grid;grid-template-columns:1fr;gap:20px}.tm-guide-card{border:1px solid var(--line);padding:24px;background:var(--card);min-width:0}.tm-guide-card h2{font-size:1.55rem}.tm-guide-card p{font-size:.88rem;color:var(--muted)}.tm-guide-card .tm-country{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.tm-guide-card a{color:var(--ink);text-underline-offset:4px}.tm-guide-card[hidden],[hidden]{display:none!important}.tm-table{border-collapse:collapse;width:100%;font-size:.9rem}.tm-table th,.tm-table td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line);vertical-align:top}.tm-table th{font-size:.75rem;color:var(--muted)}.tm-table th:first-child,.tm-table td:first-child{padding-left:0}.tm-table td small{display:block;color:var(--muted);margin-top:5px}.tm-table-scroll{overflow-x:auto}.tm-table-scroll .tm-table{min-width:540px}.tm-scope{font-size:.8rem;background:var(--slot);border-bottom:1px solid var(--line);padding:10px 0}.tm-scope p{margin:0;max-width:none}.tm-scope a{font-weight:600}.tm-local-links{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:.84rem;margin-top:20px}.tm-english-intro{padding:20px 0}.tm-feature-link{color:inherit;text-decoration:none}.tm-feature-link:hover{text-decoration:underline}.tm-footer-note{font-size:.75rem;color:var(--muted)}
@media(min-width:650px){.tm-destinations{grid-template-columns:1fr 1fr}.tm-destination:nth-child(odd){margin-right:24px}.tm-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tm-feature-top{padding:25px 18px}.tm-feature-body{padding:20px}.tm-feature-top h3{font-size:1.7rem}.tm-band .tm-wrap{grid-template-columns:1.5fr 1fr;align-items:center}}
@media(min-width:960px){.tm-hero-grid{grid-template-columns:1fr 1.03fr;align-items:center;gap:50px;padding-top:60px;padding-bottom:55px}.tm-hero img{aspect-ratio:1.13}.tm-destinations{grid-template-columns:repeat(4,minmax(0,1fr))}.tm-destination{padding:28px 12px 28px 0}.tm-destination:nth-child(odd){margin-right:0}.tm-destination h3{font-size:1.45rem}.tm-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tm-content-grid{grid-template-columns:minmax(0,1fr) 290px;gap:64px}.tm-aside{position:sticky;top:24px}.tm-feature-top{padding:30px 24px}.tm-feature-top h3{font-size:2rem}}
@media(max-width:959px) and (min-width:821px){.brand b{font-size:1.15rem}.brand svg{width:36px}.nav{gap:11px}.nav a{font-size:.8rem}.theme-btn{padding:4px 8px}}
@media(max-width:420px){.tm-wrap{padding-left:20px;padding-right:20px}.tm-section{padding:38px 0}.site-head .wrap{padding-left:16px;padding-right:16px;gap:8px}.brand{gap:7px}.brand svg{width:35px;height:35px}.brand b{font-size:1.2rem;max-width:190px}.brand b small{font-size:.6em}.menu-btn{font-size:.8rem;padding:9px 8px;gap:6px}.tm-hero h1{font-size:2.75rem}.tm-hero .tm-deck{font-size:.96rem}.tm-strip .tm-wrap{gap:7px 20px}.tm-intro{padding-top:26px}.tm-actions{gap:16px}.tm-prose h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Instruction 1: grid items must shrink to the viewport, not their min-content width.
   Keep wide tables scrollable inside their own labelled region. */
.tm-content-grid{grid-template-columns:minmax(0,1fr)}
.tm-content-grid>*,.tm-prose,.tm-prose section,.tm-wrap>*,.wrap>*,.two>*,.ground-head>*,.tm-guide-card,.tm-feature{min-width:0}
.tm-prose,.tm-aside,.tm-source-list,.tm-notice{overflow-wrap:anywhere}
.tm-table-scroll,.scroll{max-width:100%;min-width:0}
.tm-table-scroll table{max-width:none}
.tm-prose img,.tm-prose svg{height:auto;max-width:100%}
.tm-prose .booking-group{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.tm-prose .booking-group>.label{grid-column:1/-1}
.tm-prose .book{min-width:0}.tm-prose .book p,.tm-prose .book a{overflow-wrap:anywhere}
.tm-faq details{border-top:1px solid var(--line);padding:16px 0}.tm-faq summary{cursor:pointer;font-weight:600;min-height:44px}.tm-faq details p{margin-top:12px}
.tm-toc{columns:1;list-style:none;padding-left:0}.tm-toc li{margin:8px 0}
@media(min-width:700px){.tm-prose .booking-group{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.tm-content-grid{grid-template-columns:minmax(0,1fr) 290px}}
.tm-ground-photo{margin:0 0 32px}.tm-ground-photo img{width:100%;height:auto;max-height:380px;object-fit:cover;display:block}.tm-ground-photo figcaption{line-height:1.6;margin-top:8px}

/* Existing jump-menu icons share the site icon scale. */
.jump .nav-ic{display:inline-flex;vertical-align:middle;margin-right:5px}.jump .nav-ic svg{width:18px;height:18px;flex:none}.jump a{flex-shrink:0}

/* Shared hub tables retain their header associations in the mobile card view. */
@media(max-width:599px){
 .stack-table-wrap{overflow:visible}
 .stack-table{display:block;width:100%;min-width:0!important;max-width:100%;border:0}
 .stack-table caption{display:block}
 .stack-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .stack-table tbody{display:grid;gap:14px}
 .stack-table tbody tr{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
 .stack-table tbody td{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.3fr);gap:10px;align-items:start;padding:9px 0;border:0;white-space:normal;width:auto}
 .stack-table tbody td+td{border-top:1px solid var(--line)}
 .stack-table td::before{content:attr(data-label);font-weight:700;color:var(--ink)}
 .stack-table .cell-value{min-width:0;overflow-wrap:anywhere}
}
@media(min-width:900px){
 #stay .booking-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
 #stay .booking-group>.label{grid-column:1/-1}
 #stay .booking-group>.book{margin:0;min-width:0}
}

/* Instruction 6: compact licensed Ashes photos and a shallow mobile hero. */
.tm-ashes-photo{margin:0;min-width:0}
.tm-ashes-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.tm-ashes-photo figcaption{padding:10px 16px 0;font-size:.7rem;line-height:1.5;color:var(--muted)}
.tm-ashes-photo figcaption a{color:inherit;text-underline-offset:3px}
.tm-ashes-card h3{font-size:1.7rem;margin-bottom:12px}
.tm-ashes-card h3 a{font-weight:inherit}
@media(max-width:599px){.tm-hero img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}}

/* Keep local and UK clocks on distinct lines on desktop and stacked tables. */
.uk-time{display:block;margin-top:.3em;font-size:.85em;color:var(--muted)}

/* Readable desktop comparison columns; phone cards keep their existing layout. */
@media(min-width:600px){
 table th,table td,table td .cell-value,table td p,table td a{overflow-wrap:normal;word-break:normal;hyphens:none}
 .stack-table{table-layout:auto;width:100%}
 .stack-table th,.stack-table td{min-width:8rem}
 .stack-table th:first-child,.stack-table td:first-child{min-width:9rem;width:9rem}
 .stack-table .column-short{min-width:8rem;width:8rem}
 .stack-table .column-prose{min-width:12rem;width:auto}
 .tm-table th:first-child,.tm-table td:first-child{min-width:9rem}
 .tm-table th,.tm-table td{min-width:8rem}
 .stack-table-wrap{max-width:100%;overflow-x:auto}
}
.comparison-sources{margin:12px 0 24px;font-size:.82rem}
.comparison-sources ul{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0;padding-left:20px}
.comparison-sources li{font-size:.82rem}
