/* Coastal refinement, 5 October 2026. One shared treatment for calls to action.
   Loaded last; display headings, eyebrow styles and brand typography stay intact. */
html[data-tw-refinement] {
  --action-red:#243536;
  --action-hover:#30494a;
  --action-radius:14px;
}
html[data-tw-refinement] body :is(.button,.btn,.submit-button,.back-button,.hero-btn,.hero-btn-outline) {
  border-radius:var(--action-radius);
  min-height:52px;
  padding:15px 22px;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:0;
  text-shadow:none;
  text-decoration:none;
  transition:background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
html[data-tw-refinement] body :is(.button-red,.dock-appraisal,.btn-primary,.submit-button,.cta-block .btn:not(.ghost):not(.outline):first-of-type,.form-card .button) {
  color:#fff;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-color:#263638;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.045' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E"),radial-gradient(ellipse at 94% 100%,rgba(110,177,166,.39),transparent 62%),linear-gradient(115deg,rgba(255,255,255,.11),transparent 38%),linear-gradient(165deg,#374345,#1d2b2e 65%,#334749);
  border:1px solid rgba(205,211,201,.7);
  border-radius:var(--action-radius);
  box-shadow:inset 0 1px 1px rgba(255,248,229,.3),inset 0 -1px 1px rgba(139,216,205,.3),0 7px 18px rgba(19,38,41,.22);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  text-shadow:none;
}
html[data-tw-refinement] body :is(.button-red,.dock-appraisal,.btn-primary,.submit-button,.form-card .button)::before,
html[data-tw-refinement] body :is(.button-red,.dock-appraisal,.btn-primary,.submit-button,.form-card .button)::after {
  content:none;
}
@media (hover:hover) {
  html[data-tw-refinement] body :is(.button-red,.dock-appraisal,.btn-primary,.submit-button,.cta-block .btn:not(.ghost):not(.outline):first-of-type,.form-card .button):hover {
    color:#fff;
    background-color:var(--action-hover);
    border-color:rgba(232,236,222,.9);
    box-shadow:inset 0 1px 1px rgba(255,248,229,.4),inset 0 -1px 12px rgba(139,216,205,.16),0 10px 22px rgba(19,38,41,.26);
    transform:translateY(-1px);
  }
}
html[data-tw-refinement] body :is(.button,.btn,.submit-button,.dock-appraisal):active {
  transform:translateY(1px);
  box-shadow:0 2px 5px rgb(19 38 41 / .2);
}
html[data-tw-refinement] body :is(.button,.btn,.submit-button,.dock-appraisal):focus-visible {
  outline:3px solid #172d33;
  outline-offset:4px;
  box-shadow:0 0 0 3px #fff;
}
html[data-tw-refinement] body :is(.button,.btn,.submit-button):disabled {
  opacity:.6;transform:none;cursor:wait;
}
html[data-tw-refinement] body :is(.button,.btn) .icon {flex-shrink:0}
/* Keep secondary controls quiet and consistent, including article actions. */
html[data-tw-refinement] body :is(.icon-button,.insights-controls .icon-button) {
  box-shadow:none;
  background:transparent;
}
html[data-tw-refinement] body :is(.text-link,.hero-results,.tool-action,.embed-toggle,.read-more) {font-size:14px;line-height:1.5}
/* Explicit reading selectors avoid scaling headings, eyebrows or result figures. */
html[data-tw-refinement] body :is(.section-intro,.hero-description,.about-copy>p:not(.about-lead),.reviews-heading>p:not(.eyebrow),.journal-card p,.tool p,.appraisal-copy>p:not(.eyebrow),.hero-deck,.next-step p:not(.eyebrow),.chat-dialog-body>p,.form-intro,.lead) {
  font-size:clamp(16px,1.3vw,18px);
  line-height:1.7;
}
html[data-tw-refinement] body .hero-description {max-width:530px}
html[data-tw-refinement] body .article-content {font-size:18px;line-height:1.8}
html[data-tw-refinement] body .article-content :is(p,li,td,th) {font-size:inherit;line-height:1.8}
html[data-tw-refinement] body :is(.source-note,.form-privacy,.privacy,.embed-note,.review-swipe-hint,.byline-details,.consultation figcaption,.journal-meta,.footer-bottom,.result-numbers dt,.result-numbers dd small,.result-tab small,.listing-routes small,.pathways small,.agent-name>span,.review-sheet small) {font-size:13px;line-height:1.6}
html[data-tw-refinement] body :is(.hero-proof q,.review-sheet figcaption>span,.result-tab strong,.topic-tabs label,.review-filters label) {font-size:15px;line-height:1.5}
html[data-tw-refinement] body .hero-proof>span:last-child {font-size:13px;line-height:1.5}
html[data-tw-refinement] body :is(#appraisalForm label,.field label,.form-extras>summary) {font-size:15px;line-height:1.5}
html[data-tw-refinement] body :is(#appraisalForm label>span,.form-extras>summary>span) {font-size:13px}
html[data-tw-refinement] body #appraisalForm :is(input,textarea)::placeholder {font-size:15px}
html[data-tw-refinement] body .hero-actions {flex-wrap:wrap;row-gap:12px}
html[data-tw-refinement] body .mobile-dock>:is(a,button) {font-size:12px;min-height:48px;border-radius:10px}
html[data-tw-refinement] body .mobile-dock>.dock-appraisal {padding:10px 12px}
html[data-tw-refinement] body .mobile-dock {border-radius:14px}
/* Stable results stage and accessible playback controls. */
.result-playback {display:flex;align-items:center;justify-content:flex-end;gap:16px;margin:-2px 0 18px;font-size:13px;color:var(--muted)}
.result-playback button {display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 14px;border:1px solid #bacbcd;border-radius:8px;background:transparent;font:inherit;color:var(--ink);cursor:pointer}
.result-playback .icon {width:15px;height:15px}
.result-playback button:focus-visible {outline:3px solid #172d33;outline-offset:3px}
.results.is-rotating .result-panels {contain:layout}
.results .result-panel[hidden] {display:none}
@media(max-width:600px) {
 html[data-tw-refinement] body .article-content {font-size:17px}
 html[data-tw-refinement] body :is(.button,.btn,.submit-button) {font-size:14px;padding:14px 18px;min-height:50px}
 html[data-tw-refinement] body .hero-results {font-size:13px}
 html[data-tw-refinement] body .hero-actions .button {border-radius:10px;white-space:normal}
 html[data-tw-refinement] body .hero-proof q {font-size:14px}
 html[data-tw-refinement] body .result-tab {padding-inline:10px;gap:8px}
 html[data-tw-refinement] body .result-tab strong {font-size:14px}
 html[data-tw-refinement] body .result-tab small {font-size:12px}
 html[data-tw-refinement] body .topic-tabs label {font-size:13px}
 html[data-tw-refinement] body .mobile-dock>:is(a,button) {gap:5px}
 html[data-tw-refinement] body .mobile-dock .icon {width:17px;height:17px}
}
@media(prefers-reduced-motion:reduce) {
 html[data-tw-refinement] body :is(.button,.btn,.dock-appraisal,.submit-button,.button .icon) {transition:none;transform:none}
}
@media print {
 .result-playback {display:none!important}
 html[data-tw-refinement] body .article-content {font-size:11pt}
 html[data-tw-refinement] body :is(.button,.btn,.submit-button) {box-shadow:none;background:white;color:black;border:1px solid #999}
}

/* Smoked crystal: fine northeast icon, no separate arrow compartment. */
html[data-tw-refinement] body .tw-action-arrow {width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform 240ms cubic-bezier(.2,.7,.3,1)}
html[data-tw-refinement] body .mobile-dock .tw-action-arrow {width:18px;height:18px;flex-basis:18px}
html[data-tw-refinement] body .form-card .button {display:flex;align-items:center;justify-content:center;gap:14px}
@media(hover:hover) {
 html[data-tw-refinement] body :is(a,button):hover>.tw-action-arrow {transform:translate(2px,-2px)}
}
@media(prefers-reduced-motion:reduce) {
 html[data-tw-refinement] body .tw-action-arrow {transition:none!important;transform:none!important}
}

html[data-tw-refinement] body :is(.intro>p,.bottom-cta p,.appraisal-benefits span,.form-contact) {font-size:16px;line-height:1.7}
html[data-tw-refinement] body :is(.hint,.control-label,.slabel,.slider-limits,.site-footer) {font-size:13px;line-height:1.6}
