/* DogSize Helper shared public UI */
.siteHeader{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid #e4e7ec}
.siteNav{width:min(1160px,calc(100% - 40px));height:70px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.siteLogo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;letter-spacing:-.035em}
.siteLogoMark{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:grid;place-items:center;box-shadow:0 8px 20px rgba(37,99,235,.18);flex:0 0 40px}
.siteLogoMark svg{width:29px;height:29px}
.siteNavLinks{display:flex;gap:4px;align-items:center}
.siteNavLinks a{font-size:14px;font-weight:800;color:#475467;padding:10px 11px;border-radius:10px}
.siteNavLinks a:hover{background:#f2f4f7;color:#101828}
.siteMobileNav{display:none;border:0;background:#f2f4f7;color:#101828;border-radius:10px;padding:9px 11px;font-weight:850;cursor:pointer}
.siteMobileNav[aria-expanded="true"]{background:#dbeafe;color:#175cd3}
.siteFooter{background:#fff;border-top:1px solid #e4e7ec;padding:38px 0 30px;color:#667085}
.siteFooterInner{width:min(1160px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px}
.siteFooter h3{margin:0 0 9px;color:#101828;font-size:14px}
.siteFooterBrand{font-weight:900;color:#101828;font-size:17px;letter-spacing:-.025em}
.siteFooter p{margin:8px 0 0;line-height:1.6;font-size:13px;max-width:430px}
.siteFooterLinks{display:grid;gap:6px}
.siteFooterLinks a{color:#667085;font-size:13px}
.siteFooterLinks a:hover{color:#2563eb}
.siteFooterBottom{width:min(1160px,calc(100% - 40px));margin:26px auto 0;padding-top:18px;border-top:1px solid #eef2f6;font-size:12px;color:#98a2b3}
/* Shared responsive behavior */
body{overflow-x:hidden}
img,svg{max-width:100%}
h1,h2,h3,p,a,li{overflow-wrap:break-word}
.heroGrid,.calcLayout,.tools,.featureGrid{min-width:0}
.process{transition:transform .2s ease,box-shadow .2s ease}
.process:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(16,24,40,.08)}
.featureItem{transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:default}
.featureItem:hover{transform:translateY(-3px);background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.2);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.tool{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.tool:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,24,40,.08);border-color:#d7e3f7}
.miniTool{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.miniTool:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(37,99,235,.09);border-color:#cfe0ff}
.siteFooter a:focus-visible,.siteNavLinks a:focus-visible,.siteMobileNav:focus-visible{outline:3px solid #bfdbfe;outline-offset:2px}
@media(max-width:680px){
  .siteNav{width:min(100% - 28px,1160px);height:62px}
  .siteLogo{font-size:18px}.siteLogoMark{width:38px;height:38px;flex-basis:38px}
  .siteMobileNav{display:block}
  .siteNavLinks{display:none;position:absolute;left:14px;right:14px;top:62px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:8px;box-shadow:0 14px 35px rgba(16,24,40,.1);flex-direction:column}
  .siteNavLinks.open{display:flex}.siteNavLinks a{width:100%}
  .siteFooter{padding-top:32px}.siteFooterInner{width:min(100% - 28px,1160px);grid-template-columns:1fr;gap:24px}
  .siteFooterBottom{width:min(100% - 28px,1160px);margin-top:22px}
}
/* Legal/content pages */
.legalPage{padding:54px 0 70px}
.legalCard{background:#fff;border:1px solid #e4e7ec;border-radius:22px;padding:34px;box-shadow:0 12px 34px rgba(16,24,40,.05);max-width:860px;margin:auto}
.legalCard h1{font-size:clamp(34px,4.2vw,52px);letter-spacing:-.055em;margin:0 0 14px}
.legalCard h2{font-size:24px;letter-spacing:-.035em;margin:28px 0 8px;color:#101828}
.legalCard p,.legalCard li{font-size:15px;line-height:1.75;color:#475467}
.legalCard ul{padding-left:22px}
.legalBack{display:inline-flex;gap:7px;align-items:center;color:#175cd3;font-weight:800;margin-bottom:22px}
.legalMeta{font-size:12px;color:#98a2b3;margin-top:24px}
/* Prevent animated headline changes from moving layout */
.headlineSwap{display:block;width:250px;max-width:100%;height:1.06em;min-width:0;white-space:nowrap;overflow:visible;color:#2563eb;transition:opacity .22s ease,transform .22s ease}
.headlineSwap.isChanging{opacity:0;transform:translateY(8px)}
.hero h1 .headlineSwap{margin-top:2px}
@media(max-width:680px){
  .headlineSwap{font-size:.94em;height:1.1em}
  .legalPage{padding:42px 0 58px}
  .legalCard{padding:25px 21px}
}

.sourceBox{margin-top:18px;padding-top:17px;border-top:1px solid #eef2f6}.sourceBox>strong{font-size:14px;color:#101828}.sourceBox p{margin:7px 0 10px}.sourceLinks{display:flex;gap:12px;flex-wrap:wrap}.sourceLinks a{font-size:13px}

.contentWrap{width:min(1160px,calc(100% - 40px));margin:0 auto 70px}.contentCard{background:#fff;border:1px solid #e4e7ec;border-radius:22px;padding:30px;box-shadow:0 10px 30px rgba(16,24,40,.04)}.contentCard h2{font-size:28px;letter-spacing:-.04em;margin:0 0 10px;color:#101828}.contentCard h3{font-size:19px;margin:24px 0 7px;color:#101828}.contentCard p,.contentCard li{color:#475467;line-height:1.72;font-size:15px}.contentCard ul{padding-left:21px}.faqGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin-top:18px}.faqItem{border-top:1px solid #eef2f6;padding-top:16px}.faqItem h3{margin-top:0}.relatedTools{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.relatedTools a{display:inline-flex;padding:9px 12px;border:1px solid #dbeafe;background:#eff6ff;border-radius:999px;color:#175cd3;font-size:13px;font-weight:800}.relatedTools a:hover{background:#dbeafe}
@media(max-width:680px){.contentWrap{width:min(100% - 28px,1160px);margin-bottom:55px}.contentCard{padding:23px 20px}.faqGrid{grid-template-columns:1fr}}
