/* Self-contained tool page styles: high contrast, no overlap, responsive. */
.tools-hero{background:var(--forest);color:#fffaf0;padding:86px 0 82px;overflow:hidden}
.tools-hero-layout{display:grid;grid-template-columns:1.1fr .82fr;gap:clamp(32px,6vw,96px);align-items:center}
.tools-hero-copy h1{font-size:clamp(3.6rem,6vw,6.35rem);margin:26px 0 22px;line-height:1.12;color:#fffaf0}
.tools-hero-copy h1 em{display:inline;color:#ebc88f}
.tools-hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:570px;color:#edf2e8}
.tools-hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:35px}
.tools-hero-primary{background:#e7c68b;color:#173326;padding:17px 24px;font-size:13px;font-weight:800;border-radius:4px}
.tools-hero-text{font-size:13px;font-weight:700;color:#fffaf0;border-bottom:1px solid #ceb787;padding-bottom:8px}
.tools-hero-aside{border:1px solid #bfbc9d66;border-radius:220px 220px 6px 6px;padding:54px 44px 40px;min-height:430px;background:radial-gradient(circle at 50% 50%,#4d6b56 0%,#344e3f 45%,#263d32 85%);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 25px 50px #10251c55}
.tools-hero-aside:before{content:"";position:absolute;inset:15px;border:1px solid #f3e4bc55;border-radius:210px 210px 4px 4px;pointer-events:none}
.tools-orbit-icon{color:#ecd6a7;font-size:43px;margin-bottom:23px}
.tools-aside-overline{font-size:10px;letter-spacing:.2em;color:#f1e8d2;margin-bottom:18px}
.tools-hero-aside strong{font-family:var(--font-serif);font-size:clamp(2.35rem,3.1vw,3.5rem);font-weight:400;line-height:1.25;letter-spacing:-.045em;color:#fff7e9}
.tools-aside-line{height:1px;width:65px;background:#dbc390;margin:23px 0}
.tools-hero-aside p{font-size:13px;line-height:1.65;color:#f4f0e3;max-width:275px}
.tools-aside-bottom{font-size:9px;letter-spacing:.12em;line-height:1.7;color:#e9dbc1;margin-top:13px}
.tool-studio-section{padding:98px 0;background:#f8f6f0}
.studio-topline{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
.studio-topline h2{margin:18px 0 0;font-size:clamp(2.35rem,4.5vw,4.3rem);color:#21382c}
.studio-topline>p{max-width:355px;font-size:14px;line-height:1.75;color:#526456}
.tool-switcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}
.tool-switcher button{border:1px solid #d8d7ca;border-bottom:4px solid transparent;background:#fffdfa;padding:18px 15px 17px;text-align:left;border-radius:5px 5px 2px 2px;display:flex;flex-direction:column;gap:5px;min-height:124px;color:#22382c;transition:background .2s,border-color .2s}
.tool-switcher button span{color:#86683d;font-size:10px;font-weight:800;letter-spacing:.16em}
.tool-switcher button strong{font-size:15px;font-weight:750;line-height:1.35}
.tool-switcher button small{font-size:11px;color:#53645a}
.tool-switcher button[aria-selected="true"]{border-color:#284634;border-bottom-color:#bba070;background:#eaf0e9}
.tool-switcher button:hover{border-color:#52715a}
.tool-switcher button:focus-visible,.tool-submit:focus-visible,.tool-reset:focus-visible,.tool-fields input:focus-visible,.tool-fields select:focus-visible{outline:3px solid #b58b4c;outline-offset:2px}
.tool-panel{background:#fffefa;border:1px solid #dcdcd0;padding:clamp(20px,4.4vw,49px);box-shadow:0 13px 35px #30433410;border-radius:5px}
.tool-panel[hidden]{display:none!important}
.tool-panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid #e1e3d8;padding-bottom:25px;margin-bottom:33px}
.tool-panel-heading h3{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.17;letter-spacing:-.043em;margin:12px 0;color:#203c2e}
.tool-panel-heading h3 em{color:#a07a44;font-weight:400}
.tool-panel-heading p{font-size:14px;color:#536356;max-width:540px;margin:0}
.tool-panel-number{font-size:10px;font-weight:800;letter-spacing:.16em;color:#59705a}
.tool-pill{border:1px solid #b2bfaf;color:#3c5d45;padding:8px 11px;border-radius:40px;font-size:9px;font-weight:800;letter-spacing:.13em;white-space:nowrap}
.tool-grid{display:grid;grid-template-columns:1.22fr .78fr;gap:clamp(20px,4vw,55px);align-items:stretch}
.tool-fields{display:grid;gap:18px}
.tool-fields.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.tool-fields label{display:block;font-size:12px;color:#294231;font-weight:800;line-height:1.4}
.tool-fields input,.tool-fields select{appearance:auto;width:100%;margin-top:9px;border:1px solid #aab9a9;border-radius:4px;padding:14px 12px;min-height:48px;font-size:15px;background:#fff;color:#21392d;font-weight:600;max-width:100%}
.tool-fields input:hover,.tool-fields select:hover{border-color:#3a6348}
.tool-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:29px}
.tool-submit{padding:17px 22px;white-space:normal;text-align:center;min-height:52px}
.tool-reset{background:none;border:none;text-decoration:underline;text-underline-offset:5px;font-size:12px;font-weight:800;color:#365943;padding:10px}
.tool-result{background:linear-gradient(145deg,#294737,#1d382a);color:#fff9ec;border-radius:5px;padding:clamp(22px,3.2vw,38px);display:flex;flex-direction:column;min-height:380px;box-shadow:0 15px 27px #122b1a1c}
.result-eyebrow{font-size:10px;letter-spacing:.16em;color:#ead6b6;font-weight:800;margin-bottom:12px}
.result-big{font-family:var(--font-serif);font-size:clamp(2.55rem,4.3vw,4.5rem);line-height:1.15;letter-spacing:-.05em;font-weight:500;color:#fff9ec;overflow-wrap:anywhere}
.result-message{color:#e6eadf;line-height:1.5;font-size:13px;margin:15px 0 22px}
.result-rail{width:100%;height:9px;background:#75907870;border-radius:50px;overflow:hidden;margin-top:4px}
.result-rail span{display:block;height:100%;background:#e0bb7c;border-radius:50px;max-width:100%;transition:width .2s}
.result-rows{margin-top:auto;border-top:1px solid #ffffff35;padding-top:15px}
.result-rows>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin:9px 0;font-size:12px;line-height:1.5}
.result-rows span{color:#e8ebe4}.result-rows strong{color:#fff9ed;text-align:right;font-size:13px}
.result-note{font-size:10px;line-height:1.65;color:#e4e3d7;margin:25px 0 0;border-top:1px solid #ffffff26;padding-top:15px}
.tool-data-note{font-size:12px;color:#455e4e;line-height:1.8;padding:22px 3px;margin:20px 0 0}
.tool-data-note span{font-size:18px;color:#996e33}
.tool-conversation-cta{padding:93px 0;background:#1e3c2d;color:#fff9f0}
.tool-cta-grid{display:grid;grid-template-columns:1.18fr .8fr;gap:60px;align-items:center}
.tool-cta-grid h2{font-size:clamp(2.8rem,5vw,5rem);line-height:1.2;margin:23px 0}
.tool-cta-grid h2 em{color:#edcd95}
.tool-cta-grid p:not(.eyebrow){font-size:15px;color:#e8ece4;max-width:570px}
.tool-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.tool-cta-actions>a:last-child{color:#fff6e7;font-size:14px;font-weight:700;border-bottom:1px solid #d6ba8c;padding-bottom:6px}
.tool-cta-actions .button-gold{background:#ead09d;color:#183525;border-color:#ead09d}
.tool-legal-note{background:#eae7dd;padding:29px 0}
.tool-legal-note p{color:#445548;font-size:11px;max-width:1060px;margin:0;line-height:1.8}
@media(max-width:1050px){.tools-hero-layout{gap:35px}.tool-grid{grid-template-columns:1fr}.tool-result{min-height:0}.tools-hero-aside{min-height:345px}}
@media(max-width:800px){.tools-hero{padding:58px 0}.tools-hero-layout{grid-template-columns:1fr}.tools-hero-aside{max-width:540px;width:100%;margin:auto}.studio-topline{display:block}.studio-topline>p{margin-top:20px}.tool-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-studio-section{padding:65px 0}.tool-cta-grid{grid-template-columns:1fr;gap:25px}}
@media(max-width:530px){.tools-hero-copy h1{font-size:clamp(2.8rem,11vw,4rem)}.tools-hero-actions{align-items:stretch;flex-direction:column}.tools-hero-primary{text-align:center}.tools-hero-aside{padding:48px 28px 34px;min-height:330px}.tool-switcher{gap:8px}.tool-switcher button{min-height:124px;padding:14px 10px}.tool-switcher button strong{font-size:13px}.tool-fields.two-col{grid-template-columns:1fr}.tool-panel-heading{display:block}.tool-pill{display:inline-block;margin-top:17px}.tool-studio-section{padding:60px 0}.tool-result{padding:25px 21px}.tool-actions{flex-direction:column;align-items:stretch}.tool-reset{text-align:center}.result-big{font-size:2.75rem}.tool-conversation-cta{padding:68px 0}}

/* Do not overlay calculators with the mobile contact dock. Booking remains in the header and page CTA. */
@media(max-width:610px){body.tools-page{padding-bottom:0}body.tools-page .mobile-action-dock{display:none!important}}
