/*
 * Trodomains | Brand-led refinement and usability layer.
 * Styles only: no changes to pricing, cart, checkout, or consent behaviour.
 */
:root{
  --tdp-brand-navy:#0f2955;
  --tdp-brand-blue:#024d97;
  --tdp-ink:#172f55;
  --tdp-softline:#dce6f3;
}

/* A controlled type scale: readable on desktop, balanced on small screens. */
body.tdp-site{font-size:16px;line-height:1.65;}
.tdp-site h1{font-size:clamp(2.3rem,4.1vw,3.75rem);line-height:1.12;letter-spacing:-.038em;}
.tdp-site h2{font-size:clamp(1.8rem,2.6vw,2.7rem);line-height:1.2;letter-spacing:-.03em;}
.tdp-site h3{font-size:clamp(1.1rem,1.55vw,1.28rem);line-height:1.3;letter-spacing:-.018em;}
.tdp-site .tdp-hero-content h1{
  font-size:clamp(2.7rem,4.35vw,4.05rem);
  line-height:1.085;
  max-width:620px;
  letter-spacing:-.045em;
}
.tdp-site .tdp-landing-hero h1{
  font-size:clamp(2.15rem,3.5vw,3.35rem);
  line-height:1.14;
  letter-spacing:-.035em;
  max-width:810px;
}
.tdp-site .tdp-section-heading h2,
.tdp-site .tdp-feature-copy h2,
.tdp-site .tdp-faq-grid h2,
.tdp-site .tdp-cta h2{
  font-size:clamp(1.85rem,2.7vw,2.7rem);
  line-height:1.22;
}
.tdp-site .tdp-landing-section h2,
.tdp-site .tdp-utility-content h2{
  font-size:clamp(1.75rem,2.55vw,2.55rem);
  line-height:1.22;
}
.tdp-site .tdp-article h1{font-size:clamp(2rem,3.5vw,3.1rem);}
.tdp-site .tdp-legal-page .tdp-article h1{font-size:clamp(1.85rem,2.7vw,2.15rem)!important;}
.tdp-site .tdp-legal-page .tdp-copy h2{font-size:clamp(1.22rem,2vw,1.42rem)!important;}

/* Make the page feel purposeful rather than over-spaced. */
.tdp-site .tdp-section{padding-block:78px;}
.tdp-site .tdp-landing-section{padding-block:65px;}
.tdp-site .tdp-landing-hero{padding-block:61px 66px;}
.tdp-site .tdp-hero-inner{padding-block:67px 64px;}
.tdp-site .tdp-section-heading{margin-bottom:31px;}
.tdp-site .tdp-landing-section .tdp-section-heading p,
.tdp-site .tdp-section-heading>p{line-height:1.65;max-width:650px;color:#586b87;}
.tdp-site .tdp-service-card,
.tdp-site .tdp-hosting-card,
.tdp-site .tdp-blog-item,
.tdp-site .tdp-plan-card{border-radius:14px;}
.tdp-site .tdp-service-card:focus-visible,
.tdp-site .tdp-hosting-card:focus-visible,
.tdp-site .tdp-blog-item a:focus-visible,
.tdp-site .tdp-cta-buttons a:focus-visible,
.tdp-site .tdp-footer-legal a:focus-visible,
.tdp-site .tdp-footer-legal button:focus-visible{
  outline:3px solid #72dfdf;
  outline-offset:3px;
}
.tdp-site a.tdp-btn,
.tdp-site button.tdp-btn{min-height:44px;line-height:1.3;text-align:center;}
.tdp-site .tdp-landing-hero .tdp-btn.tdp-outline-on-dark,
.tdp-site .tdp-landing-hero .tdp-btn.tdp-outline-on-dark:visited,
.tdp-site .tdp-landing-hero .tdp-btn.tdp-outline-on-dark:hover{
  color:#fff!important;
}
.tdp-site .tdp-service-card p,
.tdp-site .tdp-hosting-card p{max-width:34ch;}

/* Simple, factual benefits without three identical filler descriptions. */
.tdp-site .tdp-benefit-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  list-style:none;
  padding:0;
  margin:26px 0 0;
}
.tdp-site .tdp-benefit-list>li{
  display:flex;align-items:center;gap:13px;min-width:0;
  border:1px solid #e0e9f4;
  border-radius:12px;
  background:#fff;
  padding:21px 20px;
  box-shadow:0 5px 18px rgba(19,56,102,.032);
  list-style:none;
}
.tdp-site .tdp-benefit-list .tdp-benefit-check{
  flex:none;display:grid;place-items:center;width:30px;height:30px;
  background:#e1f7f0;color:#0e826f;border-radius:9px;
  font-size:16px;font-weight:900;
}
.tdp-site .tdp-benefit-list strong{
  display:block;overflow-wrap:break-word;hyphens:auto;
  font-size:14px;font-weight:750;line-height:1.45;color:#1c365e;
}

/* Legal references: one clear heading, scannable external agreements. */
.tdp-site .tdp-legal-reference{
  overflow:hidden;
  padding:22px 25px;
  background:#f5f8fc;
  border:1px solid #dce7f4;
  border-radius:14px;
  box-shadow:0 8px 25px rgba(13,40,90,.03);
}
.tdp-site .tdp-legal-reference h2{
  color:#153564;
  font-size:1.18rem!important;
  letter-spacing:-.016em;
  margin:0 0 10px!important;
}
.tdp-site .tdp-legal-reference p{
  font-size:13.5px!important;
  line-height:1.7;
  color:#536882;
  max-width:70ch;
  margin:0 0 17px;
}
.tdp-site .tdp-legal-reference ul{
  display:flex;flex-wrap:wrap;align-items:stretch;gap:10px 12px;
  margin:0;padding:0;list-style:none;
}
.tdp-site .tdp-legal-reference li{flex:0 1 auto;min-width:0;margin:0;list-style:none;}
.tdp-site .tdp-legal-reference a{
  display:inline-flex;align-items:center;min-height:41px;max-width:100%;
  border-radius:9px;border:1px solid #dce6f3;background:#fff;
  padding:10px 14px;
  font-size:12.5px;font-weight:750;
  color:#154d8a!important;text-decoration:none;
  overflow-wrap:anywhere;
}
.tdp-site .tdp-legal-reference a:hover,
.tdp-site .tdp-legal-reference a:focus-visible{
  color:#0b366c!important;
  background:#eaf2fd;border-color:#b0cbea;
}
.tdp-site .tdp-legal-reference a:focus-visible{outline:3px solid #74c2ea;outline-offset:2px;}

/* Footer: distinct legal navigation, legible supporting note, no collisions. */
.tdp-site .tdp-footer-grid{gap:34px;}
.tdp-site .tdp-footer-grid h3{font-size:13.5px;line-height:1.35;letter-spacing:0;margin:0 0 16px;color:#fff;}
.tdp-site .tdp-footer-grid>div:not(:first-child)>a{
  color:#b7cbe4;line-height:1.45;font-size:12.5px;
  display:block;width:fit-content;max-width:100%;
  margin:0 0 12px;
}
.tdp-site .tdp-footer-bottom{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:17px 28px;
  margin-top:38px;padding-top:23px;
  border-top:1px solid rgba(178,207,242,.19);
}
.tdp-site .tdp-footer-bottom>span{
  margin:0;color:#aabfd9;font-size:12px;line-height:1.6;
}
.tdp-site .tdp-footer-legal{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;
  gap:10px 22px;min-width:0;max-width:100%;
}
.tdp-site .tdp-footer-legal>a{
  display:inline-flex;align-items:center;
  color:#d3e3f6!important;
  text-decoration:none;font-size:12px;font-weight:650;
  line-height:1.4;padding:8px 1px;white-space:normal;
}
.tdp-site .tdp-footer-legal>a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:4px;}
.tdp-site .tdp-footer-legal button{
  flex:none;
  display:inline-flex;justify-content:center;align-items:center;
  min-height:40px;padding:8px 13px;margin:0;
  background:transparent;
  border:1px solid #60789a;border-radius:9px;
  color:#e4eefa;font-family:inherit;font-size:12px;font-weight:750;
  line-height:1.35;white-space:normal;cursor:pointer;
}
.tdp-site .tdp-footer-legal button:hover{background:rgba(255,255,255,.09);border-color:#9fc4ee;}
.tdp-site .tdp-footer-disclosure{
  display:block;width:min(1184px,calc(100% - 48px));
  border-top:0;padding:14px 0 8px;margin:0 auto;
  color:#b0c4de;font-size:12px;line-height:1.6;
  text-align:left;overflow-wrap:break-word;
}
@media (max-width:1000px){
  .tdp-site .tdp-footer-bottom{align-items:flex-start;}
  .tdp-site .tdp-footer-legal{justify-content:flex-start;}
  .tdp-site .tdp-footer-grid{gap:26px;}
}
@media (max-width:740px){
  .tdp-site .tdp-hero-content h1{font-size:clamp(2.1rem,8.7vw,3.05rem);line-height:1.12;}
  .tdp-site .tdp-landing-hero h1{font-size:clamp(2rem,7.8vw,2.75rem);line-height:1.16;}
  .tdp-site .tdp-section-heading h2,
  .tdp-site .tdp-feature-copy h2,
  .tdp-site .tdp-faq-grid h2,
  .tdp-site .tdp-cta h2,
  .tdp-site .tdp-landing-section h2{
    font-size:clamp(1.7rem,7vw,2.15rem);
    line-height:1.23;
  }
  .tdp-site .tdp-section{padding-block:55px;}
  .tdp-site .tdp-landing-section{padding-block:51px;}
  .tdp-site .tdp-landing-hero{padding-block:45px 53px;}
  .tdp-site .tdp-hero-inner{padding-block:51px 40px;}
  .tdp-site .tdp-benefit-list{grid-template-columns:minmax(0,1fr);gap:11px;}
  .tdp-site .tdp-benefit-list>li{padding:16px 18px;}
  .tdp-site .tdp-footer-bottom{display:flex;gap:14px;}
  .tdp-site .tdp-footer-legal{gap:7px 17px;}
  .tdp-site .tdp-footer-legal>a{font-size:12.5px;padding:7px 0;}
  .tdp-site .tdp-footer-disclosure{width:calc(100% - 32px);font-size:11.5px;padding-block:14px;}
  .tdp-site .tdp-legal-reference{padding:20px 17px;}
  .tdp-site .tdp-legal-reference li{flex:1 1 190px;}
  .tdp-site .tdp-legal-reference a{width:100%;font-size:12.5px;}
}
@media (max-width:380px){
  .tdp-site .tdp-footer-legal{column-gap:12px;}
  .tdp-site .tdp-footer-legal>a{font-size:12px;}
}
@media (prefers-reduced-motion:reduce){
  .tdp-site .tdp-legal-reference a,.tdp-site .tdp-footer-legal button{transition:none;}
}
