
/* Golden Tor editorial design. Shared chrome and standalone homepage. */
:root {
  --forest:#1b251e;
  --sage:#668272;
  --ivory:#f8f3ee;
  --citron:#ebf150;
  --text:#1b251e;
  --quiet:#60685f;
  --hairline:#d6dcd2;
  --serif:Georgia,'Times New Roman',serif;
  --sans:'Montserrat',Arial,sans-serif;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}
body {
  margin:0;
  color:var(--text);
  background:var(--ivory);
  font-family:var(--sans);
  font-size:15px;
  line-height:1.65;
}
body.gt-home {
  background:var(--ivory);
  background-image:none;
}
button,input,textarea,select {
  font:inherit;
}
button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent;
}
a {
  color:inherit;
}
img {
  max-width:100%;
  display:block;
}
button,a {
  touch-action:manipulation;
}
button {
  cursor:pointer;
}
button:disabled {
  opacity:.55;
  cursor:wait;
}
[hidden] {
  display:none!important;
}
:focus-visible {
  outline:2px solid var(--sage);
  outline-offset:5px;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip-link {
  position:fixed;
  left:20px;
  top:-80px;
  z-index:1000;
  padding:12px 20px;
  background:var(--forest);
  color:white;
}
.skip-link:focus {
  top:10px;
}
.gt-wrap {
  width:min(1200px,calc(100% - 96px));
  margin-inline:auto;
}
.gt-section {
  padding:100px 0;
}
.gt-home h1,.gt-home h2,.gt-home h3 {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.12;
  margin:0;
  overflow-wrap:normal;
}
.gt-home h2 {
  font-size:clamp(36px,4.15vw,56px);
}
.gt-home h2 em {
  color:var(--sage);
  font-weight:400;
}
.gt-home p {
  margin:0;
}
.gt-home .eyebrow {
  margin:0 0 30px;
  font:500 10px/1.5 var(--sans);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:#c2cfc2;
}
.gt-section-label {
  display:flex;
  align-items:center;
  gap:26px;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#50614f;
}
.gt-small-rule {
  width:54px;
  height:1px;
  background:#a8b7a6;
}
.gt-heading-row {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  margin:28px 0 48px;
}
.gt-heading-row>p {
  font-size:14px;
  color:var(--quiet);
  line-height:1.8;
}

/* A quiet, full-width header rather than a floating dashboard toolbar. */
body .site-header {
  position:sticky;
  top:0;
  left:auto;
  right:auto;
  transform:none;
  width:100%;
  max-width:none;
  min-height:88px;
  height:auto;
  margin:0;
  padding:16px 4%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  background:#f8f3eefa;
  border:0;
  border-bottom:1px solid #1b251e12;
  border-radius:0;
  box-shadow:none;
  z-index:100;
  backdrop-filter:blur(12px);
}
body .site-header.scrolled {
  background:#f8f3eef5;
  box-shadow:none;
}
body .site-header .brand {
  flex:none;
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:400;
  color:var(--forest);
  text-decoration:none;
  min-width:175px;
}
body .site-header .brand-mark {
  display:block;
  width:32px;
  height:40px;
  padding:0;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body .site-header .brand-mark img {
  width:100%;
  height:100%;
  object-fit:contain;
  filter:none;
}
body .site-header .brand>.brand-name {
  display:block;
  max-width:none;
  white-space:nowrap;
  font:25px/1.05 var(--serif);
  letter-spacing:-.05em;
  overflow:visible;
}
body .brand-name small {
  display:block;
  font:8px/1.6 var(--sans);
  letter-spacing:.34em;
  margin-top:5px;
}
body .site-header .site-nav {
  position:static;
  display:flex;
  align-items:center;
  gap:24px;
  max-height:none;
  width:auto;
  background:none;
  border:0;
  box-shadow:none;
  padding:0;
  margin:0;
  overflow:visible;
}
body .site-header .site-nav a {
  padding:9px 0;
  font:500 11px/1.5 var(--sans);
  color:var(--forest);
  text-decoration:none;
  white-space:nowrap;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
body .site-header .site-nav a::after {
  display:none;
}
body .site-header .site-nav a:hover,body .site-header .site-nav a.active {
  color:#507457;
  background:none;
  text-decoration:underline;
  text-underline-offset:6px;
  box-shadow:none;
}
body .site-header .site-nav .account-nav-link {
  padding:10px 15px;
  border:1px solid #99a594;
  border-radius:0;
}
body .site-header .language-switcher {
  position:static;
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  padding:0;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body .site-header .language-switcher button {
  min-width:0;
  min-height:0;
  padding:3px 0;
  border:0;
  background:none;
  border-radius:0;
  box-shadow:none;
  color:#7f887d;
  font:500 10px var(--sans);
}
body .site-header .language-switcher button.active {
  color:var(--forest);
  text-decoration:underline;
  text-underline-offset:5px;
  background:none;
}
body .site-header .menu-toggle {
  display:none;
  width:40px;
  height:40px;
  padding:10px;
  border:1px solid #bcc6b7;
  border-radius:0;
  background:none;
  box-shadow:none;
}
body .menu-toggle>span:not(.sr-only) {
  display:block;
  height:1px;
  width:19px;
  margin:4px 0;
  background:var(--forest);
}
body .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  min-height:48px;
  width:auto;
  padding:15px 22px;
  border:1px solid var(--forest);
  border-radius:0;
  background:var(--forest);
  color:var(--ivory);
  box-shadow:none;
  font:500 11px/1.5 var(--sans);
  text-transform:none;
  letter-spacing:.015em;
  text-decoration:none;
  transition:background .2s,color .2s;
  transform:none;
}
body .button:hover {
  background:#304735;
  color:#fff;
  box-shadow:none;
  transform:none;
}
body .button-gold {
  background:var(--citron);
  border-color:var(--citron);
  color:var(--forest);
}
body .button-gold:hover {
  background:#dae04b;
  border-color:#dae04b;
  color:var(--forest);
}
body .button-ghost {
  background:transparent;
  border-color:#afbcaa;
  color:var(--forest);
}
.gt-text-link {
  display:inline-flex;
  align-items:center;
  gap:25px;
  font-size:11px;
  font-weight:500;
  text-decoration:none;
  padding-block:10px;
  border-bottom:1px solid #a9b5a4;
}
.gt-text-link:hover {
  border-color:currentColor;
}
.gt-text-link span {
  font-size:18px;
}

/* Hero */
.gt-home .gt-hero {
  display:block;
  min-height:650px;
  margin:0;
  padding:62px 0 0;
  background:var(--forest);
  color:var(--ivory);
  overflow:hidden;
  position:relative;
  isolation:isolate;
}
.gt-home .gt-hero::before,.gt-home .gt-hero::after {
  content:"";
  display:block;
  position:absolute;
  inset:0;
  pointer-events:none;
}
.gt-home .gt-hero::before {
  z-index:-1;
  background:linear-gradient(90deg,rgba(18,30,23,.96) 0%,rgba(20,34,26,.9) 34%,rgba(22,37,28,.46) 61%,rgba(18,31,23,.35) 100%);
}
.gt-home .gt-hero::after {
  z-index:-1;
  background:linear-gradient(0deg,rgba(18,30,23,.82) 0%,transparent 38%);
}
.gt-hero-background {
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.78) contrast(.98);
}
.gt-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,610px) 1fr;
  gap:0;
  align-items:center;
  min-height:548px;
}
.gt-hero-copy {
  padding:20px 0 28px;
}
.gt-home .gt-hero h1 {
  font-size:clamp(56px,6.2vw,88px);
  color:var(--ivory);
  line-height:1.02;
  text-transform:none;
  text-align:left;
  letter-spacing:-.055em;
  text-shadow:none;
  max-width:600px;
  margin:0 0 30px;
}
.gt-hero h1 em {
  font-weight:400;
  color:#bdcbb9;
}
.gt-home .gt-hero .gt-lead {
  font:400 15px/1.9 var(--sans);
  color:#c9d1c6;
  max-width:440px;
  margin:0;
}
.gt-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:24px;
  margin:32px 0 48px;
}
.gt-actions .gt-text-link {
  color:var(--ivory);
  border-bottom:0;
  font-size:10px;
  gap:12px;
}
.gt-hero-location {
  font-size:8px;
  letter-spacing:.19em;
  color:#97a592;
}
.gt-hero-media {
  position:relative;
  min-width:0;
  height:445px;
  overflow:hidden;
  border-radius:180px 180px 0 0;
  border:1px solid #748a6955;
  background:#233327;
  isolation:isolate;
}
.gt-hero-media .market-video {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:75% center;
  opacity:.45;
  filter:saturate(.65);
  z-index:-2;
}
.gt-media-overlay {
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,#66827216,transparent 40%,#1b251eda);
  z-index:-1;
}
.gt-media-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:absolute;
  top:98px;
  left:38px;
  right:38px;
  color:#d6dfd2;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.gt-media-top>span:last-child {
  font-size:32px;
}
.gt-media-caption {
  position:absolute;
  bottom:46px;
  left:38px;
  right:38px;
  display:flex;
  flex-direction:column;
  align-items:start;
  gap:20px;
}
.gt-media-caption>span {
  font:36px/1.16 var(--serif);
  letter-spacing:-.025em;
}
.gt-media-caption button {
  font:9px var(--sans);
  letter-spacing:.015em;
  color:#d1dbcb;
  border:0;
  border-bottom:1px solid #879b7c;
  padding:7px 0;
  background:none;
}
.gt-media-note {
  position:absolute;
  bottom:17px;
  left:38px;
  color:#90a084;
  font-size:8px;
}
.gt-hero-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  border-top:1px solid #f8f3ee22;
  margin-top:50px;
  padding:23px 0 25px;
  font-size:10px;
  color:#a7b5a0;
}
.gt-hero-bottom>div {
  display:flex;
  gap:30px;
}
.gt-hero-bottom a {
  color:#d5ddce;
  text-decoration:none;
}
.gt-hero-bottom a:hover {
  text-decoration:underline;
}

/* About */
.gt-editorial {
  display:grid;
  grid-template-columns:235px minmax(0,1fr);
  gap:50px;
}
.gt-editorial>.gt-section-label {
  align-self:start;
  margin-top:12px;
}
.gt-about-content>p {
  max-width:680px;
  color:var(--quiet);
  font-size:14px;
  line-height:1.95;
  margin-top:18px;
}
.gt-about-content>.gt-intro {
  font-size:19px;
  color:var(--forest);
  margin-top:30px;
}
.gt-about-values {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:30px;
  border-top:1px solid var(--hairline);
  padding-top:27px;
  margin-top:36px;
}
.gt-about-values>div>span {
  font-size:10px;
  color:var(--sage);
}
.gt-about-values h3 {
  font-size:22px;
  margin:13px 0!important;
}
.gt-about-values p {
  font-size:12px;
  line-height:1.8;
  color:var(--quiet);
}
.gt-philosophy {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:32px;
  border-top:1px solid var(--hairline);
  padding-top:30px;
  margin-top:35px;
}
.gt-philosophy h3 {
  font-size:25px;
  color:#465e43;
}
.gt-philosophy p {
  font-size:12px;
  line-height:1.8;
  color:var(--quiet);
}

/* Services */
.gt-services {
  background:#e9ede5;
}
.gt-service-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.gt-service {
  text-decoration:none;
  display:block;
  min-width:0;
}
.gt-service-image {
  position:relative;
  overflow:hidden;
  aspect-ratio:1.13;
  background:#d1dbcd;
}
.gt-service-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.5);
  transition:transform .4s,filter .4s;
}
.gt-service-image>span {
  position:absolute;
  top:14px;
  left:14px;
  color:#fff;
  font-size:10px;
  text-shadow:0 1px 6px #000;
}
.gt-service:hover img {
  transform:scale(1.035);
  filter:saturate(.8);
}
.gt-service-copy {
  padding:23px 0 0;
}
.gt-service-copy h3 {
  font-size:29px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.gt-service-copy h3 span {
  font:20px var(--sans);
  color:#668272;
}
.gt-service-copy p {
  font-size:12px;
  line-height:1.9;
  color:var(--quiet);
  margin:14px 0 23px;
  min-height:69px;
}
.gt-service-more {
  display:block;
  border-top:1px solid #bac8b4;
  padding-top:16px;
  font-size:10px;
  color:#43593d;
}

/* Gated tools */
.gt-calculator {
  padding:84px 0;
  background:var(--forest);
  color:var(--ivory);
}
.gt-calculator-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  align-items:center;
}
.gt-calculator h2 {
  font-size:60px;
  color:#f8f3ee;
}
.gt-calculator h2 em {
  color:#bccbb6;
}
.gt-calculator-grid>div>p:not(.eyebrow) {
  max-width:420px;
  color:#b6c3af;
  font-size:13px;
  line-height:1.9;
  margin:24px 0 30px;
}
.gt-access-note {
  display:block;
  color:#a9b99e;
  font-size:9px;
  margin-top:17px;
}
.gt-tool-list>a {
  display:flex;
  align-items:center;
  gap:25px;
  border-top:1px solid #53674b;
  padding:26px 0;
  text-decoration:none;
}
.gt-tool-list>a:last-of-type {
  border-bottom:1px solid #53674b;
}
.gt-tool-list>a>span:first-child {
  font-size:10px;
  color:#96ad86;
}
.gt-tool-list>a>span:last-child {
  margin-left:auto;
  font-size:22px;
  color:#c6d6b7;
}
.gt-tool-list h3 {
  font-size:28px;
  color:var(--ivory);
}
.gt-tool-list p {
  font-size:11px;
  color:#a9b99e;
  margin-top:8px;
}
.gt-tool-list>a:hover h3 {
  color:var(--citron);
}
.gt-tool-list .gt-tool-disclaimer {
  font-size:9px;
  margin:16px 0 0;
  color:#a9b99e;
}

/* Journal and contact */
.gt-journal-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:35px;
}
.gt-journal-card {
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:28px 0 0;
  border-top:1px solid #9cac93;
  min-height:268px;
}
.gt-category {
  color:#617b52;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.12em;
}
.gt-journal-card h3 {
  font-size:29px;
  line-height:1.18;
  margin:22px 0 16px;
}
.gt-journal-card p {
  font-size:12px;
  line-height:1.8;
  color:var(--quiet);
  margin-bottom:24px;
}
.gt-read {
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  margin-top:auto;
}
.gt-read>span {
  font-size:22px;
}
.gt-journal-card:hover h3 {
  color:#668272;
}
.gt-contact {
  border-top:1px solid var(--hairline);
}
.gt-contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px;
}
.gt-contact h2 {
  font-size:48px;
  margin:27px 0!important;
}
.gt-contact-grid>div>p:not(.gt-section-label) {
  max-width:420px;
  font-size:13px;
  line-height:1.9;
  color:var(--quiet);
  margin-bottom:22px;
}
.gt-contact-details {
  display:grid;
  gap:7px;
  margin-top:44px;
  font-size:12px;
  color:#61715a;
}
.gt-contact-details a {
  text-decoration:none;
}
.gt-contact-details a:hover {
  text-decoration:underline;
}
.gt-contact-details span {
  font-size:11px;
  margin-top:8px;
}
.gt-home .contact-form {
  border:0;
  border-radius:0;
  padding:0;
  background:none;
  box-shadow:none;
}
.gt-home .form-heading {
  margin:0 0 24px;
}
.gt-home .form-heading h3 {
  font-size:28px;
  margin:0 0 6px;
}
.gt-home .form-heading p {
  font-size:12px;
  color:var(--quiet);
}
.gt-home .form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
}
.gt-home .contact-form label:not(.hp-field) {
  display:grid;
  gap:7px;
  font-size:10px;
  color:#43553d;
}
.gt-home .contact-form input,.gt-home .contact-form select,.gt-home .contact-form textarea {
  width:100%;
  padding:12px;
  border:1px solid #cad3c4;
  border-radius:0;
  background:#fff9;
  color:#1b251e;
  box-shadow:none;
  min-height:43px;
  font-size:13px;
}
.gt-home .full-field {
  margin-top:17px;
}
.gt-home .contact-form .consent-field {
  display:flex;
  align-items:start;
  gap:10px;
  margin:20px 0;
  line-height:1.6;
}
.gt-home .consent-field input {
  width:15px;
  height:15px;
  min-height:15px;
  margin:0;
  accent-color:var(--forest);
}
.gt-home .form-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.gt-home .form-status {
  font-size:12px;
  margin-top:16px;
}
.hp-field {
  position:absolute!important;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}

/* Shared footer */
body .site-footer {
  padding:60px 0 24px;
  background:var(--forest);
  border:0;
  color:var(--ivory);
  text-align:left;
}
body .site-footer .container {
  width:min(1200px,calc(100% - 96px));
  margin-inline:auto;
}
body .footer-grid {
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:42px;
}
body .site-footer .footer-brand {
  font:29px/1.2 var(--serif);
  letter-spacing:-.03em;
  margin:0 0 20px;
  color:var(--ivory);
  text-decoration:none;
  display:block;
}
body .site-footer .footer-grid h2 {
  font:500 9px/1.5 var(--sans);
  text-transform:uppercase;
  letter-spacing:.15em;
  color:#9eb390;
  margin:5px 0 21px;
}
body .footer-grid a {
  display:block;
  margin:9px 0;
  font:400 11px/1.7 var(--sans);
  color:#d0dbc8;
  text-decoration:none;
}
body .site-footer p {
  font:400 10px/1.9 var(--sans);
  color:#9dab95;
  margin:10px 0;
}
body .site-footer a:hover {
  text-decoration:underline;
}
body .footer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  border-top:1px solid #405338;
  margin-top:46px;
  padding-top:20px;
}
body .footer-bottom .footer-links {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  justify-content:start;
  margin:0;
  padding:0;
}
body .footer-bottom .footer-links a,body .footer-bottom .footer-links button {
  background:none;
  border:0;
  padding:0;
  color:#a9b99e;
  font:9px var(--sans);
  text-decoration:none;
}
body .footer-bottom p {
  font-size:9px;
}
body .cookie-banner {
  position:fixed;
  z-index:110;
  bottom:18px;
  left:18px;
  right:auto;
  transform:none;
  max-width:400px;
  width:calc(100% - 36px);
  padding:22px;
  background:var(--ivory);
  color:var(--forest);
  border:1px solid #bac8b4;
  border-radius:0;
  box-shadow:0 8px 35px #0002;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
body .cookie-banner strong {
  font-size:13px;
  color:var(--forest);
}
body .cookie-banner p {
  font-size:10px;
  color:#52614a;
  margin:6px 0 0;
}
body .cookie-banner a {
  font-size:10px;
  color:var(--forest);
}
body .cookie-banner .button {
  min-height:36px;
  padding:10px 16px;
  font-size:10px;
}

/* Bring legacy interior pages into the same restrained system. */
body:not(.gt-home):not(.admin-page) .detail-hero,body:not(.gt-home) .blog-hero,body .booking-hero,body .calculator-hero {
  min-height:0;
  padding:70px 0;
  background:var(--forest);
  color:var(--ivory);
  text-align:left;
}
body:not(.gt-home) .detail-hero::before,body:not(.gt-home) .detail-hero::after {
  display:none;
}
body:not(.gt-home) .detail-hero h1,body .blog-hero h1,body .booking-hero h1,body .calculator-hero h1 {
  font:400 clamp(40px,4.5vw,66px)/1.06 var(--serif);
  color:var(--ivory);
  text-transform:none;
  letter-spacing:-.04em;
  text-shadow:none;
}
body:not(.gt-home) .detail-hero p,body .blog-hero p,body .booking-hero p,body .calculator-hero p {
  font-size:14px;
  line-height:1.9;
  color:#c2cfba;
  max-width:720px;
}
body .detail-summary,body .blog-hero-note,body .calculator-promise {
  background:none;
  border:0;
  border-left:1px solid #607656;
  border-radius:0;
  box-shadow:none;
  padding:12px 0 12px 30px;
  backdrop-filter:none;
  min-height:0;
}
body .detail-summary span {
  display:block;
  min-height:0;
  padding:8px 0;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  font-size:12px;
  color:#c2cfba;
}
body .detail-summary span::before,body .detail-summary span::after {
  display:none;
}
body .detail-summary strong {
  font-size:10px;
  color:#a9c297;
  letter-spacing:.14em;
}
body .section.detail-page,body .booking-section,body .calculator-section,body .blog-index,body .feedback-section {
  background:var(--ivory);
  color:var(--forest);
  padding-block:70px;
}
body .content-block,body .article-card,body .featured-article {
  color:var(--forest);
  border:0;
  border-bottom:1px solid var(--hairline);
  border-radius:0;
  background:none;
  box-shadow:none;
  padding:30px 0;
}
body .content-block h2,body .article-card h2 {
  font:400 clamp(26px,3vw,39px)/1.15 var(--serif);
  letter-spacing:-.025em;
  color:var(--forest);
}
body .content-block h3 {
  font:400 25px/1.2 var(--serif);
  color:var(--forest);
}
body .content-block p,body .article-card p,body .article-points,body .article-points li,body .process-list {
  font-size:14px;
  line-height:1.9;
  color:#52614a;
}
body .article-meta span {
  background:#e3eadc;
  color:#42603a;
  border-radius:0;
  font-size:10px;
}
body .article-meta time {
  color:#52614a;
  font-size:10px;
}
body .article-body p {
  color:#52614a;
}
body .toc {
  border:0;
  border-left:1px solid #cad5c3;
  border-radius:0;
  background:none;
  box-shadow:none;
  padding:6px 0 6px 24px;
}
body .toc a {
  color:#52614a;
  font-size:12px;
  padding:8px 0;
}
body .toc strong {
  font-size:10px;
  color:#52614a;
  letter-spacing:.1em;
}
body .info-grid>div,body .flow-step {
  border:0;
  border-radius:0;
  background:#e8eee2;
  box-shadow:none;
  padding:22px;
}
body .flow-step::after {
  display:none;
}
body .flow-icon {
  border:0;
  border-radius:0;
  background:none;
  color:#668272;
  box-shadow:none;
}
body .member-gate {
  padding:32px;
  background:#e3eadc;
  border:0;
}
body .member-gate h2 {
  font-size:32px;
}
body .insurance-market {
  background:#1b251e;
  padding:30px;
  color:#f8f3ee;
}
body .insurance-market h2,body .insurance-market h3,body .insurance-market p {
  color:#f8f3ee;
}
body .insurance-market .eyebrow {
  color:#bccbb6;
}
body .account-page {
  padding-top:65px;
  padding-bottom:80px;
  gap:80px;
}
body .account-card {
  border:1px solid #d6dcd2;
  border-radius:0;
  box-shadow:none;
  background:#fff9;
}
.calculation-save {
  margin-top:18px;
}
.calculation-save-status {
  min-height:20px;
  margin:9px 0 0;
  color:#52614a;
  font-size:12px;
}
.saved-calculations {
  margin-top:32px;
  padding-top:24px;
  border-top:1px solid #d6dcd2;
}
.saved-calculations h3 {
  margin:0 0 14px;
  font:400 27px/1.1 var(--serif);
}
.saved-calculations-status {
  color:#647066;
  font-size:13px;
}
.saved-calculations-list {
  display:grid;
  gap:9px;
}
.saved-calculations-list article {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:13px 0;
  border-top:1px solid #e2e5df;
  font-size:13px;
}
.saved-calculations-list span {
  color:#647066;
  text-align:right;
}
body .account-intro h1 {
  font-size:56px;
}
body .account-intro p {
  font-size:14px;
}
body .account-form input,body .account-form textarea,body .account-form select {
  border-radius:0;
  font-size:14px;
}
body .calculator-panel {
  background:#fff9;
  border:1px solid #d6dcd2;
  border-radius:0;
  box-shadow:none;
  color:var(--forest);
}
body .calculator-form h2 {
  font:400 34px/1.15 var(--serif);
  color:var(--forest);
}
body .calculator-form label,body .calculator-form input,body .calculator-form small {
  color:#43553d;
}
body .calculator-result {
  background:#e3eadc;
  color:var(--forest);
  border-radius:0;
  border:0;
  box-shadow:none;
}
body .calculator-result strong,body .calculator-result b,body .calculator-result span,body .calculator-result p {
  color:var(--forest);
}
body .calculator-tabs button {
  background:transparent;
  color:var(--forest);
  border:1px solid #bdcbbb;
  border-radius:0;
  box-shadow:none;
}
body .calculator-tabs button.active {
  background:var(--forest);
  color:#fff;
}
body .feedback-grid h2 {
  font:400 44px/1.1 var(--serif);
}
@media(min-width:1500px) {
  body .site-header {
    padding-inline:calc((100% - 1360px)/2);
  }
}
@media(max-width:1200px) {
  body .site-header {
    gap:17px;
  }
  body .site-header .site-nav {
    gap:15px;
  }
  body .site-header .brand {
    min-width:160px;
  }
  .gt-service-copy h3 {
    font-size:26px;
  }
  .gt-hero-grid {
    gap:40px;
  }
  .gt-hero-media {
    height:430px;
  }
  .gt-editorial {
    grid-template-columns:185px 1fr;
    gap:35px;
  }
  .gt-calculator-grid {
    gap:65px;
  }
}
@media(max-width:1060px) {
  body .site-header {
    min-height:78px;
    padding:14px 24px;
    flex-wrap:nowrap;
    gap:20px;
  }
  body .site-header .brand {
    order:1;
    flex:1;
  }
  body .site-header .language-switcher {
    order:2;
    margin-left:auto;
  }
  body .site-header .menu-toggle {
    order:3;
    display:block;
    flex-shrink:0;
    margin:0;
  }
  body .site-header .site-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    background:var(--ivory);
    padding:22px 24px;
    border-bottom:1px solid var(--hairline);
    max-height:calc(100dvh - 80px);
    overflow-y:auto;
  }
  body .site-header .site-nav.open {
    display:grid;
    gap:4px;
    background:var(--ivory);
  }
  body .site-header .site-nav a {
    font-size:14px;
    padding:12px 0;
    white-space:normal;
  }
  body .site-header .site-nav .account-nav-link {
    margin-top:12px;
    padding:12px 15px;
    width:max-content;
  }
  .gt-wrap {
    width:calc(100% - 64px);
  }
  .gt-service-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:40px 26px;
  }
  .gt-service-image {
    aspect-ratio:1.65;
  }
  .gt-service-copy p {
    min-height:0;
  }
  .gt-hero-media {
    height:420px;
  }
  .gt-hero h1 {
    font-size:64px;
  }
  .gt-media-caption>span {
    font-size:29px;
  }
  .gt-hero-grid {
    gap:35px;
  }
  .gt-actions {
    gap:12px;
  }
  .gt-calculator-grid {
    gap:40px;
  }
  .gt-journal-card h3 {
    font-size:25px;
  }
  .gt-contact-grid {
    gap:45px;
  }
  .gt-contact h2 {
    font-size:40px;
  }
  .gt-heading-row>p {
    font-size:12px;
  }
  .gt-editorial {
    grid-template-columns:140px 1fr;
  }
  .gt-section-label {
    gap:15px;
  }
  .gt-small-rule {
    width:25px;
  }
}
@media(max-width:760px) {
  .gt-wrap {
    width:calc(100% - 40px);
  }
  .gt-section {
    padding:65px 0;
  }
  .gt-home .gt-hero {
    padding-top:28px;
  }
  .gt-hero-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .gt-hero-copy {
    padding:14px 0 0;
  }
  .gt-home .gt-hero h1 {
    font-size:64px;
    max-width:100%;
    margin-bottom:24px;
  }
  .gt-home .eyebrow {
    margin-bottom:24px;
    font-size:9px;
  }
  .gt-home .gt-hero .gt-lead {
    font-size:13px;
  }
  .gt-actions {
    margin:26px 0;
    gap:22px;
  }
  .gt-hero-location {
    display:none;
  }
  .gt-hero-media {
    height:270px;
    border-radius:120px 120px 0 0;
    max-width:100%;
  }
  .gt-media-top {
    top:48px;
    left:30px;
    right:30px;
    font-size:8px;
  }
  .gt-media-caption {
    bottom:42px;
    left:30px;
    right:30px;
    gap:13px;
  }
  .gt-media-caption>span {
    font-size:29px;
  }
  .gt-media-note {
    left:30px;
    font-size:7px;
  }
  .gt-hero-bottom {
    margin-top:30px;
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
    padding:20px 0;
    font-size:9px;
  }
  .gt-hero-bottom>div {
    gap:22px;
    flex-wrap:wrap;
    font-size:9px;
  }
  .gt-editorial {
    grid-template-columns:1fr;
    gap:25px;
  }
  .gt-editorial>.gt-section-label {
    margin:0;
  }
  .gt-home h2 {
    font-size:39px;
  }
  .gt-about-content>.gt-intro {
    font-size:17px;
    margin-top:25px;
  }
  .gt-about-content>p {
    font-size:13px;
  }
  .gt-about-values {
    gap:16px;
    margin-top:28px;
  }
  .gt-about-values h3 {
    font-size:21px;
  }
  .gt-about-values p {
    font-size:11px;
  }
  .gt-philosophy {
    grid-template-columns:1fr;
    gap:15px;
  }
  .gt-philosophy h3 {
    font-size:27px;
  }
  .gt-heading-row {
    margin:25px 0 30px;
    align-items:start;
    flex-direction:column;
    gap:20px;
  }
  .gt-heading-row>p br {
    display:none;
  }
  .gt-service-copy h3 {
    font-size:25px;
  }
  .gt-service-copy p {
    font-size:11px;
  }
  .gt-service-copy {
    padding-top:17px;
  }
  .gt-service-more {
    font-size:9px;
  }
  .gt-service-image {
    aspect-ratio:1.1;
  }
  .gt-calculator {
    padding:62px 0;
  }
  .gt-calculator-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  .gt-calculator h2 {
    font-size:49px;
  }
  .gt-calculator-grid>div>p:not(.eyebrow) {
    font-size:13px;
    margin:20px 0 25px;
  }
  .gt-tool-list h3 {
    font-size:26px;
  }
  .gt-tool-list>a {
    padding:21px 0;
  }
  .gt-journal-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .gt-journal-card {
    min-height:0;
    padding-top:24px;
  }
  .gt-journal-card h3 {
    font-size:30px;
    margin:17px 0 13px;
  }
  .gt-read {
    margin-top:0;
  }
  .gt-contact-grid {
    grid-template-columns:1fr;
    gap:42px;
  }
  .gt-contact h2 {
    font-size:39px;
  }
  .gt-contact-details {
    margin-top:25px;
  }
  .gt-home .contact-form {
    padding-top:30px;
    border-top:1px solid var(--hairline);
  }
  body .site-footer .container {
    width:calc(100% - 40px);
  }
  body .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:32px 22px;
  }
  body .footer-grid>div:first-child {
    grid-column:1/-1;
  }
  body .footer-grid>div:last-child {
    grid-column:1/-1;
  }
  body .footer-bottom {
    margin-top:30px;
    gap:12px;
  }
  body .footer-bottom .footer-links {
    gap:16px;
  }
  body .account-page {
    padding-top:45px;
    gap:35px;
  }
  body .account-intro h1 {
    font-size:43px;
  }
  body .account-card {
    padding:25px;
  }
  body:not(.gt-home) .detail-hero,body .blog-hero,body .booking-hero,body .calculator-hero {
    padding:45px 0;
  }
  body .detail-summary,body .blog-hero-note,body .calculator-promise {
    border-left:0;
    border-top:1px solid #607656;
    padding:20px 0 0;
  }
  body .section.detail-page,body .booking-section,body .calculator-section {
    padding-block:40px;
  }
  body .toc {
    position:static;
  }
  body .content-block {
    padding:24px 0;
  }
  body .member-gate {
    padding:25px;
  }
  body .insurance-market {
    padding:22px;
  }
}
@media(max-width:430px) {
  body .site-header {
    padding:13px 18px;
    gap:15px;
    min-height:75px;
  }
  body .site-header .brand {
    min-width:0;
    gap:9px;
  }
  body .site-header .brand>.brand-name {
    font-size:23px;
    max-width:none;
  }
  body .site-header .brand-mark {
    width:26px;
    height:34px;
  }
  body .site-header .language-switcher {
    gap:7px;
  }
  body .site-header .language-switcher button {
    font-size:9px;
    padding:3px 0;
    min-width:0;
  }
  body .site-header .menu-toggle {
    width:34px;
    height:34px;
    padding:7px;
  }
  body .brand-name small {
    font-size:7px;
  }
  .gt-home .gt-hero h1 {
    font-size:59px;
  }
  .gt-actions {
    gap:16px;
  }
  .gt-actions .button {
    padding-inline:16px;
    gap:12px;
    font-size:10px;
  }
  .gt-actions .gt-text-link {
    font-size:9px;
    gap:7px;
  }
  .gt-about-values {
    grid-template-columns:1fr;
    gap:23px;
  }
  .gt-about-values>div {
    display:grid;
    grid-template-columns:25px 1fr;
    column-gap:12px;
  }
  .gt-about-values>div>span {
    padding-top:4px;
  }
  .gt-about-values h3 {
    margin:0 0 8px!important;
    font-size:23px;
  }
  .gt-about-values p {
    grid-column:2;
    font-size:12px;
  }
  .gt-service-grid {
    gap:30px 16px;
  }
  .gt-service-copy h3 {
    font-size:22px;
    gap:4px;
  }
  .gt-service-copy h3 span {
    font-size:16px;
  }
  .gt-service-copy p {
    font-size:10px;
    line-height:1.8;
    margin:12px 0 17px;
  }
  .gt-service-more {
    font-size:8px;
  }
  .gt-home .form-grid {
    grid-template-columns:1fr;
  }
  .gt-home h2 {
    font-size:35px;
  }
  .gt-hero-bottom>div {
    gap:16px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}

/* Interior layouts and forms: remove the remaining legacy dark panels. */
body[data-page]:not(.gt-home) .detail-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(220px,.6fr);
  gap:70px;
  align-items:center;
  text-align:left;
}
body[data-page] .detail-summary {
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  isolation:auto;
}
body[data-page] .detail-summary::before,body[data-page] .detail-summary::after {
  display:none;
}
body[data-page] .detail-summary strong::after {
  display:none;
}
body[data-page] .detail-hero p:not(.eyebrow),body[data-page] .blog-hero p:not(.eyebrow),body[data-page] .booking-hero p:not(.eyebrow),body[data-page] .calculator-hero p:not(.eyebrow) {
  font-size:15px;
  line-height:1.85;
  color:#c2cfba;
  max-width:680px;
  margin-top:22px;
}
body.gt-home .detail-hero .gt-lead {
  font-size:15px;
  line-height:1.9;
  margin-top:0;
}
body[data-page] .eyebrow {
  font-size:10px;
  letter-spacing:.15em;
  font-weight:500;
}
body[data-page] .booking-promise {
  padding:0 0 0 28px;
  background:none;
  box-shadow:none;
  border:0;
  border-left:1px solid #607656;
  border-radius:0;
}
body[data-page] .booking-promise span,body[data-page] .booking-promise strong {
  color:#c2cfba;
  font-weight:400;
  font-size:13px;
  border:0;
  padding:9px 0;
}
body[data-page] .consultation-form,body[data-page] .booking-form {
  background:#fff8;
  border:1px solid #d6dcd2;
  border-radius:0;
  box-shadow:none;
  padding:36px;
  color:var(--forest);
}
body[data-page] .form-heading h2 {
  font:400 33px/1.15 var(--serif);
  color:var(--forest);
}
body[data-page] .form-heading .eyebrow {
  color:#668272;
}
body[data-page] .consultation-form label>span,body[data-page] .consultation-form legend {
  color:#43553d;
  font-size:12px;
  font-weight:500;
}
body[data-page] .consultation-form input,body[data-page] .consultation-form textarea,body[data-page] .consultation-form select {
  color:#1b251e;
  background:#fff9;
  border:1px solid #bccbb4;
  border-radius:0;
  font-size:14px;
  box-shadow:none;
  padding:12px;
}
body[data-page] .consultation-form .consent-field span,body[data-page] .consultation-form .consent-field a {
  color:#52614a;
  font-size:11px;
}
body[data-page] .booking-aside {
  background:#e3eadc;
  padding:30px;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:#43553d;
}
body[data-page] .booking-aside>img {
  width:40px;
  height:55px;
  object-fit:contain;
  margin-bottom:25px;
}
body[data-page] .booking-aside h2 {
  font:400 31px/1.1 var(--serif);
  color:var(--forest);
}
body[data-page] .booking-aside p,body[data-page] .booking-aside li {
  font-size:13px;
  line-height:1.9;
  color:#52614a;
}
body[data-page] .time-fieldset {
  border:0;
  padding:0;
}
body[data-page] .time-slots span {
  border:1px solid #bccbb4;
  border-radius:0;
  background:#fff8;
  color:var(--forest);
  box-shadow:none;
}
body[data-page] .time-slots input:checked+span {
  background:var(--forest);
  color:#fff;
  border-color:var(--forest);
  box-shadow:none;
}
body[data-page] .time-slots input:disabled+span {
  opacity:.4;
}
body[data-page] .flow-step strong {
  font:500 15px/1.5 var(--sans);
}
body[data-page] .flow-step small {
  font-size:12px;
  line-height:1.8;
}
body[data-page] .info-grid h3 {
  font-size:25px;
}
body[data-page] .legal-page {
  background:var(--ivory);
  color:var(--forest);
}
body[data-page] .legal-page h1,body[data-page] .legal-page h2 {
  color:var(--forest);
  font-family:var(--serif);
  font-weight:400;
}
body[data-page] .legal-page p,body[data-page] .legal-page a {
  color:#52614a;
}
body.gt-home .contact-form {
  padding:0;
  border:0;
  background:none;
}
body.gt-home .contact-form label>span {
  font-size:11px;
}
body .cookie-actions {
  display:flex;
  align-items:center;
  gap:25px;
}
@media(max-width:760px) {
  body[data-page]:not(.gt-home) .detail-hero-grid {
    grid-template-columns:1fr;
    gap:24px;
  }
  body[data-page] .detail-summary {
    grid-template-columns:1fr 1fr;
    gap:4px 20px;
  }
  body[data-page] .detail-summary strong {
    grid-column:1/-1;
  }
  body[data-page] .booking-promise {
    border-left:0;
    border-top:1px solid #607656;
    padding:15px 0 0;
  }
  body[data-page] .booking-form {
    padding:22px;
  }
  body[data-page] .form-heading h2 {
    font-size:29px;
  }
  body[data-page] .booking-aside {
    padding:25px;
  }
  body.gt-home .contact-form {
    padding-top:30px;
    border-top:1px solid var(--hairline);
  }
  body.gt-home .detail-hero .gt-lead {
    font-size:13px;
  }
}
html,body {
  overflow-x:clip;
}
body .article-list {
  max-width:920px;
}
body .article-card {
  padding:40px 0;
}
body .article-card p {
  font-size:15px;
  line-height:1.9;
}
body .blog-hero-note strong {
  font:400 24px/1.2 var(--serif);
  color:#d0dbc8;
}
body .blog-hero-note span {
  font-size:13px;
  color:#bccbb6;
  line-height:1.8;
}
body .article-points li::before {
  width:5px;
  height:5px;
  background:#668272;
  box-shadow:none;
}
body .blog-cta {
  background:#e3eadc;
  color:var(--forest);
  padding:65px 0;
}
body .blog-cta h2 {
  font:400 39px/1.15 var(--serif);
  color:var(--forest);
}
body .blog-cta p {
  color:#52614a;
}
@media(min-width:1061px) {
  body .site-header {
    display:grid;
    grid-template-columns:minmax(175px,1fr) auto minmax(175px,1fr);
    gap:24px;
  }
  body .site-header .brand {
    grid-column:1;
  }
  body .site-header .site-nav {
    grid-column:2;
  }
  body .site-header .language-switcher {
    grid-column:3;
    justify-self:end;
  }
  body .site-header .site-nav a {
    font-size:12px;
  }
  body .site-header .site-nav {
    gap:19px;
  }
}
@media(min-width:1061px) and (max-width:1180px) {
  body .site-header .site-nav {
    gap:12px;
  }
  body .site-header .site-nav a {
    font-size:11px;
  }
}
/* Keep mobile reading comfortable, including the longer Hungarian labels. */
@media (max-width:600px) {
  .gt-service-grid { grid-template-columns:1fr; gap:35px; }
  .gt-service-image { aspect-ratio:1.75; }
  .gt-service-copy h3 { font-size:31px; }
  .gt-service-copy h3 span { font-size:22px; }
  .gt-service-copy p { font-size:13px; line-height:1.85; margin:14px 0 20px; }
  .gt-service-more { font-size:11px; }
  .gt-about-content>p, .gt-philosophy p, .gt-journal-card p, .gt-contact-grid>div>p:not(.gt-section-label) { font-size:14px; }
  .gt-about-values p, .gt-tool-list p { font-size:13px; }
  .gt-category, .gt-section-label { font-size:10px; }
  .gt-read, .gt-text-link { font-size:12px; }
  body .site-footer p, body .footer-grid a { font-size:12px; }
  body .footer-bottom p, body .footer-bottom .footer-links a, body .footer-bottom .footer-links button { font-size:10px; }
  body .account-intro h1 { font-size:36px; }
  body .account-intro p { font-size:14px; }
}
body[data-page] .calculator-form input[type="number"] {
  color:var(--forest);
  background:#fff;
  border:1px solid #b8c8af;
  border-radius:0;
  font-weight:500;
}
body[data-page] .calculator-form label { font-weight:500; border-bottom-color:#d6dcd2; }
body[data-page] .calculator-form output { font-weight:500; color:var(--forest); }
body[data-page] .calculator-form input[type="range"]::-webkit-slider-runnable-track { background:#a6b99b; border:0; }
body[data-page] .calculator-form input[type="range"]::-webkit-slider-thumb { background:var(--forest); border:2px solid var(--ivory); box-shadow:0 0 0 1px #668272; margin-top:-6px; }
body[data-page] .calculator-form input[type="range"]::-moz-range-track { background:#a6b99b; border:0; }
body[data-page] .calculator-form input[type="range"]::-moz-range-thumb { background:var(--forest); border:2px solid var(--ivory); box-shadow:0 0 0 1px #668272; }
body[data-page] .calculator-result>strong { font:400 clamp(36px,4.4vw,58px)/1.15 var(--serif); letter-spacing:-.035em; }
