/* TIDE ROOM visual system. Presentation only; existing CMS and routes stay shared. */
.tr-site {
  --tr-blue: #004aad;
  --tr-ink: #12345b;
  --tr-pale: #eaf8fc;
  --tr-line: #9ac8ed;
  --tr-aqua: #58c2d5;
  --tr-space: clamp(64px, 7vw, 112px);
  --tr-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 34'%3E%3Cpath d='M-10 17Q10 0 30 17T70 17T110 17T150 17T190 17T230 17T270 17' fill='none' stroke='%2358c2d5' stroke-width='9' stroke-linecap='round'/%3E%3C/svg%3E");
  color: var(--tr-ink);
  line-height: 1.95;
  letter-spacing: .025em;
}
.tr-site h1,.tr-site h2,.tr-site h3 {font-weight: 800; text-wrap: pretty;}
.tr-site h1,.tr-site h2 {letter-spacing: .035em;}
.tr-site p {text-wrap: pretty;}
.tr-header {border-bottom: 1px solid #dcecf7; padding-inline: 4.5%; gap: 28px;}
.tr-header .tr-logo {width: 160px;}
.tr-desktop-nav {gap: clamp(20px, 2.3vw, 38px);}
.tr-desktop-nav a {font-size: 14px; color: var(--tr-ink); padding-block: 10px; position: relative;}
.tr-desktop-nav [aria-current=page] {color: var(--tr-blue); border: 0; padding-bottom: 10px;}
.tr-desktop-nav [aria-current=page]::after {content: ''; height: 3px; background: var(--tr-blue); position: absolute; bottom: 0; inset-inline: 0;}
.tr-site .tr-button {letter-spacing: .07em; transition: background .2s, box-shadow .2s;}
.tr-site .tr-button:not(.tr-outline) {background: linear-gradient(110deg, #005cc6, #004aad);}
.tr-site .tr-button:hover {box-shadow: 0 5px 18px #004aad18;}
.tr-header-contact::after,.tr-contact-actions .tr-button::after {content: '→'; display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid currentColor; border-radius: 50%; font-size: 23px; line-height: 1; margin-left: 22px; font-weight: 400;}
.tr-header .tr-header-contact {padding: 9px 12px 9px 26px; font-size: 14px;}
.tr-header-contact::after {background: #fff; color: var(--tr-blue); border-color: white;}
.tr-site .tr-eyebrow {display: flex; align-items: center; gap: 22px; font-size: 14px !important; letter-spacing: .16em; margin-bottom: 24px !important;}
.tr-eyebrow::after {content: ''; width: clamp(45px, 12vw, 170px); height: 1px; background: #4b94e7;}
.tr-site .tr-section {padding-block: var(--tr-space);}
.tr-site .tr-section h2 {font-size: clamp(32px, 3.8vw, 58px); line-height: 1.5;}
.tr-section-heading {margin-bottom: 48px; align-items: end;}
.tr-site .tr-pale {background: linear-gradient(115deg, #e5f7fc, #f0fbff);}
.tr-site .tr-text-link {padding-bottom: 12px; letter-spacing: .06em;}
.tr-site .tr-note,.tr-site .tr-muted {color: #526d88;}
/* Hero: a bright photographic edge, with a soft fade into the copy. */
.tp-breadcrumb,.tw-breadcrumb {font-size: 12px; letter-spacing: .06em; color: #486787; margin-block: 28px;}
.tp-hero {grid-template-columns: 48% 52%; min-height: 440px; isolation: isolate; margin-bottom: 0;}
.tp-hero>div {padding: 42px 24px 58px 10.4%;}
.tp-hero h1 {font-size: clamp(34px, 4.2vw, 66px); line-height: 1.48; margin: 18px 0 22px; letter-spacing: .02em;}
.tp-hero>div>p:not(.tr-eyebrow) {font-size: clamp(16px, 1.45vw, 22px); line-height: 2; color: var(--tr-ink);}
.tp-hero>figure {z-index: -1; margin-left: -20%; overflow: hidden; align-self: stretch;}
.tp-hero>figure::after {content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#fff, #ffffffa0 12%, transparent 38%); pointer-events: none;}
.tp-hero img {min-height: 440px; height: 100%;}
.tp-hero figcaption {z-index: 1; background: #ffffffd9; border-radius: 2px; font-size: 11px;}
.tp-hero::after {content: ''; position: absolute; bottom: -14px; right: 0; width: 200px; height: 34px; background: var(--tr-wave) right center / 240px 34px; z-index: 2; pointer-events: none;}
.tp-anchor,.tr-detail-nav {padding-block: 26px; margin-inline: 5%; border-block: 1px solid var(--tr-line); gap: 0;}
.tp-anchor>a,.tr-detail-nav>a {flex: 1; text-align: center; padding: 4px 12px; font-size: 15px;}
.tp-anchor>a+a,.tr-detail-nav>a+a {border-left: 1px solid var(--tr-line);}
.tp-anchor a:hover,.tr-detail-nav a:hover {color: #008ca5;}
/* Alternating story spreads, distinct from compact listing cards. */
.tp-site #philosophy {padding-block: 84px; border-bottom: 1px solid #d4e7f5; margin-inline: 5%; padding-inline: 0;}
.tp-split {gap: 7%;}
.tp-split p+p {margin-top: 24px;}
.tp-feature {margin-block: 56px; grid-template-columns: 43% 57%;}
.tp-feature>div {padding: 50px 10% 50px 11.6%;}
.tp-feature h2 {color: var(--tr-blue); font-size: clamp(32px, 3.7vw, 54px); line-height: 1.5; margin-bottom: 28px;}
.tp-feature p:not(.tr-eyebrow) {line-height: 2.05;}
.tp-feature>figure {min-height: 520px;}
.tp-feature img {min-height: 520px;}
.tp-feature-label {display: inline-block; margin-top: 26px; padding: 9px 22px; background: #ffffffb0; border-color: #78b7e9; font-size: 17px;}
.tp-feature.tp-reverse {grid-template-columns: 55% 45%; padding: 38px 5% 38px 3%; margin-block: 0;}
.tp-reverse>div {padding: 30px 0 30px 12%;}
.tp-site #storage {margin-bottom: 0;}
.tp-lines {list-style: none; counter-reset: storage; padding: 0; margin: 20px 0;}
.tp-lines li {counter-increment: storage; display: flex; align-items: baseline; gap: 16px; font-size: 15px; font-weight: 700; color: var(--tr-blue); padding-block: 9px;}
.tp-lines li::before {content: counter(storage,decimal-leading-zero); font-size: 23px; font-weight: 800;}
.tp-site #quality {background: linear-gradient(180deg, white, #f2fbfd); border-block: 1px solid #d6ebf7;}
.tp-quality {margin-top: 44px; counter-reset: quality; gap: 32px;}
.tp-quality>div {counter-increment: quality; padding: 0 0 0 22px;}
.tp-quality>div::before {content: counter(quality,decimal-leading-zero); display: block; font-size: 35px; font-weight: 800; color: #71c6df; line-height: 1.3; margin-bottom: 12px;}
.tp-quality h3 {margin: 0 0 12px; font-size: 21px;}
.tp-quality p {font-size: 15px;}
/* Listing filters and cards: clear type hierarchy, finer rules, room for photos. */
.tp-filter,.tw-filters {background: #eaf8fc; padding-block: 32px; border-block: 1px solid #d9eff8; gap: 24px;}
.tp-filter label {font-size: 13px; letter-spacing: .04em;}
.tp-filter input,.tp-filter select {border-color: #bdd7e9; border-radius: 6px; padding-inline: 15px;}
.tp-category-pills {gap: 10px;}
.tp-category-pills a,.tw-filters a,.tp-faq-tabs button {font-weight: 700; transition: background .2s, color .2s;}
.tp-category-pills a:hover,.tw-filters a:hover,.tp-faq-tabs button:hover {background: #d8f0fa; color: var(--tr-blue);}
.tp-category-pills a[aria-current=true],.tw-filters a.is-active,.tp-faq-tabs button[aria-pressed=true] {background: var(--tr-blue); color: #fff;}
.tp-site .tp-featured {padding-top: 54px; padding-bottom: 64px; grid-template-columns: 56% 1fr; gap: 4%;}
.tp-featured>img {aspect-ratio: 1.55; height: 100%; min-height: 360px;}
.tp-site .tp-featured h2 {font-size: clamp(27px,2.7vw,40px); line-height: 1.65; margin-bottom: 22px;}
.tp-featured .tr-button {margin-top: 25px; min-width: 220px;}
.tp-grid,.tw-grid {gap: 44px 26px; margin-top: 32px;}
.tp-card {border: 1px solid #dcebf5; border-radius: 3px; overflow: hidden;}
.tp-card a {position: relative; padding-bottom: 20px;}
.tp-card a>div {padding: 22px 24px 25px;}
.tp-site .tp-card h3 {font-size: clamp(19px,1.65vw,25px); line-height: 1.65; padding-right: 26px; margin-bottom: 12px;}
.tp-card a>div>span {position: absolute; right: 20px; bottom: 20px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--tr-blue); border-radius: 50%; color: var(--tr-blue);}
.tp-card small {display: block; padding-right: 35px; font-size: 11px; color: #5c7389;}
.tp-meta {letter-spacing: .015em; font-weight: 500;}
.tp-card img,.tw-card img,.tm-card img {transition: filter .25s;}
.tp-card:hover img,.tw-card:hover img,.tm-card:hover img {filter: brightness(1.05);}
.tw-card h3 {color: var(--tr-ink); font-size: clamp(21px,1.9vw,28px); margin-block: 12px;}
.tw-card .tr-category {font-size: 15px;}
.tw-arrow {width: 46px; height: 46px; line-height: 43px; font-size: 24px; background: white;}
.tw-site .tw-intro {padding-top: 18px; padding-bottom: 62px; position: relative;}
.tw-intro::after,.tw-title::after {content: ''; position: absolute; bottom: 18px; right: 0; width: 190px; height: 28px; background: var(--tr-wave) right center / 210px 28px;}
.tw-site .tw-title {padding-bottom: 42px;}
.tw-story {align-items: center;}
.tw-story h2 {margin-bottom: 28px;}
.tw-story img {min-height: 400px;}
.tw-point {border-top: 0; border-left: 1px solid var(--tr-line); padding: 0 0 0 25px;}
.tw-point>span {font-size: 76px; line-height: 1.2;}
.tw-point h3 {margin: 18px 0;}
.tw-gallery figcaption {display: flex; align-items: center; font-weight: 700; font-size: 20px;}
.tw-gallery figcaption b {font-size: 36px; padding-right: 22px; border-right: 1px solid var(--tr-blue);}
/* Model house: price and viewing information read as a separate panel. */
.tm-grid {gap: 34px; margin-top: 30px;}
.tm-card {border-radius: 4px; overflow: hidden; background: white;}
.tm-card a>div:not(.tm-badges) {padding: 26px 30px 32px;}
.tp-site .tm-card h2 {font-size: clamp(24px,2.4vw,36px); margin: 8px 0 20px;}
.tm-price {font-size: clamp(32px,3.4vw,48px); letter-spacing: -.025em; line-height: 1.35; margin-block: 20px;}
.tm-badges>span {font-size: 12px; font-weight: 700; padding: 4px 16px;}
.tm-card .tr-button {margin-top: 16px; min-width: 190px;}
.tm-hero {gap: 30px;}
.tm-hero aside {padding: 30px; border-top: 3px solid var(--tr-blue); background: linear-gradient(145deg,#ecf9fd,#f8fcff);}
.tm-hero aside p {margin-bottom: 15px;}
.tm-gallery {margin-top: 28px; gap: 20px;}
.tm-gallery figcaption {padding-top: 10px; color: var(--tr-blue); font-weight: 700;}
.tm-gallery button {cursor: zoom-in;}
.tm-specs {margin-top: 32px; gap: 0 40px;}
.tm-specs dt {background: #edf7fb;}
.tm-specs dt,.tm-specs dd {font-size: 15px; padding: 15px 18px;}
.tm-form,.tr-reservation {border: 1px solid #e0eef7; border-radius: 14px; padding: 40px; box-shadow: 0 14px 45px #004aad06;}
/* Journal reading rhythm and a numbered, light policy page. */
.tp-article>header {padding-block: 10px 16px;}
.tp-article>header h1 {line-height: 1.45; font-size: clamp(34px,4.3vw,60px); margin: 22px 0;}
.tp-article-hero {margin-bottom: 48px;}
.tp-toc {border-left: 3px solid var(--tr-blue); border-radius: 0 6px 6px 0; padding: 28px 38px; margin-block: 38px 56px;}
.tp-toc h2 {color: var(--tr-blue); margin-bottom: 14px;}
.tp-toc ol {padding-left: 25px;}
.tp-toc a {color: var(--tr-blue); text-underline-offset: 5px;}
.tp-toc a:hover {text-decoration: underline;}
.tp-prose {font-size: 17px; line-height: 2.15;}
.tp-prose p {margin: 20px 0;}
.tp-prose h2 {padding: 0 0 18px; margin-top: 60px; margin-bottom: 24px; font-size: clamp(25px,2.6vw,36px); color: var(--tr-blue); border-color: var(--tr-line);}
.tp-site .tp-policy {max-width: 1150px; padding-top: 55px;}
.tp-policy>h2 {font-size: 24px; margin-top: 12px; padding-bottom: 30px;}
.tp-policy>h2::after {content: ''; display: block; background: #549de7; width: 52px; height: 3px; margin-top: 24px;}
.tp-policy .tp-prose h2 {font-size: 25px; padding-top: 26px; margin-top: 36px; border-bottom: 0; border-top: 1px solid #c5e7f5;}
.tp-notice {border-radius: 6px; background: #edf9fc; border-left: 3px solid #9dddeb; color: #375777; font-size: 13px;}
.tp-notice strong {color: var(--tr-blue); font-size: 17px;}
/* Flow/FAQ: the step line and Q/A markers make this page visibly different. */
.tp-flow {position: relative; margin-top: 34px;}
.tp-flow::before {content: ''; position: absolute; top: 20px; bottom: 60px; left: 23px; width: 1px; background: #82bde6;}
.tp-flow li {position: relative; margin-bottom: 25px; gap: 24px;}
.tp-flow li>span {outline: 8px solid white; background: #c9f3fc; font-size: 20px;}
.tp-flow li>div {padding-bottom: 9px;}
.tp-flow li p {font-size: 15px; line-height: 1.9;}
.tp-flow-photos {gap: 65px; padding-top: 35px; align-self: stretch; align-content: space-around;}
.tp-flow-photos img:nth-child(2) {width: 88%; margin-left: auto;}
.tp-faq-tabs {justify-content: flex-end; margin-block: 24px 30px;}
.tp-faq {padding: 22px 25px; margin-bottom: 8px; border: 1px solid #d5ebf5; border-radius: 3px;}
.tp-faq summary {list-style: none; display: flex; gap: 20px; align-items: center; font-size: 17px;}
.tp-faq summary::-webkit-details-marker {display: none;}
.tp-faq summary>span {display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; background: var(--tr-blue); color: white; border-radius: 50%; padding: 0;}
.tp-faq summary::after {content: '+'; margin-left: auto; border: 1px solid #95c8ed; color: var(--tr-blue); border-radius: 50%; width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; font-size: 20px; line-height: 1; font-weight: 400;}
.tp-faq[open] summary::after {content: '−';}
.tp-faq p {padding-left: 54px; margin: 18px 0 5px; font-size: 15px;}
.tp-faq p b {color: var(--tr-blue); margin-right: 12px;}
/* Events and top retain their layouts, with the same visual vocabulary. */
.tr-hero h1 {color: var(--tr-blue);}
.tr-event-card {border: 1px solid #dbedf5;}
.tr-event-card h3 {color: var(--tr-blue);}
.tr-event-row {padding: 18px; border: 1px solid #deedf5; border-radius: 6px; gap: 28px;}
.tr-event-row h3 {font-size: clamp(23px,2.1vw,30px); color: var(--tr-ink);}
.tr-event-search {background: linear-gradient(120deg,#e8f7fc,#f2fbff); border: 1px solid #e2f2fa; padding: 40px;}
.tr-event-info {background: linear-gradient(130deg,#e5f7fc,#f1faff); border-top: 3px solid var(--tr-blue); border-radius: 0 0 6px 6px;}
.tr-detail-title h1 {color: #0c3056; font-weight: 800; line-height: 1.4;}
.tr-detail-gallery h2 {margin-bottom: 28px;}
.tr-first-card {border: 1px solid #b0d1ed; border-radius: 4px;}
.tr-service-label {margin-top: 30px;}
.tr-service-label>span {font-size: 42px; color: #79cbdc; font-weight: 800;}
/* Wide, wave-edged closing section and clean footer. */
.tr-site .tr-contact {padding-block: 78px 110px; background: #eaf8fc; gap: 7%;}
.tr-site .tr-contact h2 {font-size: clamp(32px,3.8vw,58px); line-height: 1.5; max-width: 750px;}
.tr-contact-actions .tr-button {min-height: 76px; justify-content: space-between; padding: 15px 20px 15px 34px; font-size: clamp(15px,1.5vw,21px);}
.tr-contact-actions .tr-button::after {width: 46px; height: 46px; flex-basis: 46px; margin-left: 12px;}
.tr-contact-actions .tr-button:not(.tr-outline)::after {background: white; color: var(--tr-blue); border-color: white;}
.tr-contact .tr-waves {height: 100px; bottom: -22px; color: #9ddfeb; opacity: .85;}
.tr-contact .tr-moon {width: 40px; height: 40px; bottom: 35px; left: 14%;}
.tr-contact .tr-moon::after {width: 37px; height: 37px;}
.tr-footer {padding-top: 50px; border-top-color: #78b3e7; color: var(--tr-ink);}
.tr-footer nav {align-items: start;}
.tr-footer nav a {font-size: 14px; line-height: 1.8;}
.tr-footer nav a:hover {color: var(--tr-blue); text-decoration: underline; text-underline-offset: 5px;}
.tr-footer small {border-top: 1px solid #c4dff2; padding-top: 20px; text-align: right; color: var(--tr-blue);}
.tr-menu {border-top: 4px solid var(--tr-blue);}
.tr-menu nav a {color: var(--tr-blue); padding: 20px 0; font-size: 18px;}
@media(min-width:1600px) {
 .tr-site .tr-section,.tp-filter,.tw-filters {padding-inline: max(5%,calc((100vw - 1440px)/2));}
}
@media(max-width:1100px) {
 .tr-header {gap: 18px;}
 .tp-hero h1 {font-size: 42px;}
 .tp-feature h2 {font-size: 34px;}
 .tp-feature>div {padding-inline: 9%;}
 .tp-feature>figure,.tp-feature img {min-height: 480px;}
 .tr-contact-actions .tr-button {font-size: 15px; padding-left: 22px;}
 .tr-site .tr-contact h2 {font-size: 36px;}
}
@media(max-width:700px) {
 .tr-site {--tr-space: 58px; font-size: 15px; letter-spacing: .015em;}
 .tr-header {padding: 10px 18px; gap: 12px;}
 .tr-header .tr-logo {width: 112px;}
 .tr-header .tr-header-contact {font-size: 10px; padding: 9px 12px; min-height: 40px; letter-spacing: 0;}
 .tr-header-contact::after {display: none;}
 .tr-site .tr-eyebrow {font-size: 11px !important; margin-bottom: 18px !important; gap: 16px;}
 .tr-eyebrow::after {width: 70px;}
 .tr-site .tr-section h2 {font-size: 30px; line-height: 1.6;}
 .tp-breadcrumb,.tw-breadcrumb {font-size: 11px; margin: 21px 5%;}
 .tp-hero {display: flex; flex-direction: column; min-height: 0;}
 .tp-hero>div {width: 100%; padding: 28px 6% 34px;}
 .tp-hero h1 {font-size: clamp(30px,7.8vw,38px); line-height: 1.5; margin: 15px 0 18px;}
 .tp-hero>div>p:not(.tr-eyebrow) {font-size: 15px; line-height: 1.9;}
 .tp-hero>figure {width: 94%; margin: 0 0 0 auto; height: 265px;}
 .tp-hero img {min-height: 0; height: 265px;}
 .tp-hero>figure::after {background: linear-gradient(180deg,#ffffff55,transparent 30%);}
 .tp-hero::after {width: 120px; height: 23px; background-size: 160px 23px; bottom: -10px;}
 .tp-anchor,.tr-detail-nav {padding-block: 22px; gap: 12px 0; justify-content: center;}
 .tp-anchor>a,.tr-detail-nav>a {flex: 0 1 auto; font-size: 12px; padding-inline: 13px;}
 .tp-site #philosophy {padding-block: 58px;}
 .tp-split {gap: 25px;}
 .tp-feature {display: flex; flex-direction: column; margin-block: 0; padding-top: 12px;}
 .tp-feature>div {padding: 42px 6% 30px; width: 100%;}
 .tp-feature h2 {font-size: 32px; line-height: 1.55; margin-bottom: 22px;}
 .tp-feature>figure {width: 94%; margin-left: auto; min-height: 0;}
 .tp-feature img {min-height: 0; height: 290px;}
 .tp-feature.tp-reverse {padding: 12px 0 34px; margin-top: 38px;}
 .tp-reverse>figure {margin: 0 auto 0 0;}
 .tp-feature-label {font-size: 15px; margin-top: 20px;}
 .tp-quality {gap: 28px 18px; margin-top: 28px;}
 .tp-quality>div {padding-left: 12px;}
 .tp-quality h3 {font-size: 18px;}
 .tp-quality p {font-size: 13px;}
 .tp-quality>div::before {font-size: 28px;}
 .tp-filter,.tw-filters {padding-block: 28px; gap: 15px;}
 .tp-category-pills {gap: 8px;}
 .tp-category-pills a {font-size: 12px; padding: 9px 14px;}
 .tp-site .tp-featured {grid-template-columns: 1fr; padding-top: 38px; gap: 28px;}
 .tp-featured>img {min-height: 0; aspect-ratio: 1.4;}
 .tp-site .tp-featured h2 {font-size: 27px;}
 .tp-card a>div {padding: 20px;}
 .tp-site .tp-card h3 {font-size: 21px;}
 .tp-grid,.tw-grid {margin-top: 25px; gap: 30px;}
 .tw-intro::after,.tw-title::after {width: 115px; height: 22px; background-size: 170px 22px; bottom: 10px;}
 .tw-site .tw-intro {padding-top: 10px; padding-bottom: 40px;}
 .tw-story img {min-height: 0;}
 .tw-point>span {font-size: 58px;}
 .tw-gallery figcaption {font-size: 17px;}
 .tw-gallery figcaption b {font-size: 28px;}
 .tm-grid {gap: 26px;}
 .tm-card a>div:not(.tm-badges) {padding: 22px;}
 .tp-site .tm-card h2 {font-size: 27px;}
 .tm-hero {gap: 26px;}
 .tm-hero aside {padding: 25px;}
 .tm-gallery {gap: 20px 12px;}
 .tm-specs dt,.tm-specs dd {font-size: 14px; padding: 12px;}
 .tm-form,.tr-reservation {padding: 25px 18px;}
 .tp-article>header h1 {font-size: 32px;}
 .tp-article-hero {margin-bottom: 25px;}
 .tp-prose {font-size: 15px;}
 .tp-toc {padding: 22px; margin-block: 30px;}
 .tp-site .tp-toc h2 {font-size: 23px;}
 .tp-site .tp-prose h2 {font-size: 25px; margin-top: 38px;}
 .tp-site .tp-policy {padding-top: 32px;}
 .tp-policy>h2 {font-size: 20px !important;}
 .tp-notice {padding: 18px; font-size: 12px;}
 .tp-flow li {gap: 18px;}
 .tp-site .tp-flow li h3 {font-size: 19px;}
 .tp-flow li p {font-size: 14px;}
 .tp-faq-tabs {justify-content: flex-start; gap: 8px;}
 .tp-faq-tabs button {font-size: 12px; padding: 8px 13px;}
 .tp-faq {padding: 18px 14px;}
 .tp-faq summary {font-size: 15px; gap: 10px;}
 .tp-faq summary>span {width: 28px; height: 28px; flex-basis: 28px; font-size: 14px;}
 .tp-faq summary::after {width: 24px; height: 24px; flex-basis: 24px;}
 .tp-faq p {padding-left: 38px; font-size: 14px;}
 .tr-event-search {padding: 25px 18px;}
 .tr-event-row {padding: 15px; gap: 20px;}
 .tr-site .tr-contact {padding-block: 55px 100px; gap: 30px;}
 .tr-site .tr-contact h2 {font-size: 31px;}
 .tr-contact-actions .tr-button {min-height: 64px; font-size: 14px; padding: 12px 15px 12px 24px;}
 .tr-contact-actions .tr-button::after {width: 35px; height: 35px; flex-basis: 35px; font-size: 21px;}
 .tr-contact .tr-waves {height: 68px; bottom: -14px;}
 .tr-footer nav a {font-size: 13px;}
 .tr-footer .tr-logo {width: 170px;}
}
@media(prefers-reduced-motion:reduce) {.tr-site * {transition: none !important;}}
/* Keep image intrinsic dimensions from inflating the introductory spread. */
@media(min-width:701px) {
 .tp-hero>figure {position: absolute; inset: 0 0 0 auto; width: 62%; height: 100%; margin: 0;}
 .tp-hero>figure img {position: absolute; inset: 0; min-height: 0; height: 100%;}
 .tp-site .tm-hero {padding-top: 42px;}
}
.tr-site h1 {text-wrap: balance;}
.tr-site .tr-eyebrow {white-space: nowrap;}
.tr-eyebrow::after {flex: 1 1 50px; max-width: 170px; min-width: 24px;}
.tr-site .tr-detail-title {padding-top: 40px; padding-bottom: 0;}
@media(max-width:700px) {.tr-eyebrow::after {max-width: 80px;}.tr-site .tr-detail-title {padding-top: 28px;}}
