
/* ExactUtility V8 homepage refinements */
.site-header .nav{height:54px}.brand{font-size:18px}.brand-mark{width:25px;height:25px;font-size:16px}.nav-links{gap:18px;font-size:13px}.nav-search{width:205px}.nav-search input{height:36px;font-size:12px}
.hero{padding:15px 0 14px}.hero-grid{gap:22px;grid-template-columns:1.12fr .88fr}.hero h1{font-size:43px;line-height:1.02;margin-bottom:8px;max-width:520px}.hero p{font-size:14px;line-height:1.42;margin-bottom:12px;max-width:500px}.hero-search{max-width:590px}.hero-search input{height:40px;font-size:14px;padding-left:14px;padding-right:48px;border-radius:10px}.hero-search button{width:32px;height:32px;right:4px;top:4px;border-radius:7px;font-size:14px}.chips{margin-top:8px;gap:6px}.chip{padding:4px 8px;font-size:11px}.hero-visual{min-height:185px}.calc-visual{width:118px;height:145px;left:65px;top:18px;padding:11px;border-radius:16px}.calc-screen{height:27px;margin-bottom:10px;border-radius:6px}.calc-grid{gap:5px}.calc-grid span{height:22px;border-radius:6px;font-size:10px}.print-visual{width:148px;height:108px;right:30px;top:17px;border-radius:17px;padding:10px}.print-visual:after{width:48px;height:48px;font-size:12px;right:9px;bottom:9px}.ruler{width:148px;height:28px;right:18px;bottom:8px}
.section{padding:25px 0}.section.alt{padding-top:23px;padding-bottom:25px}.section-head{margin-bottom:12px}.section-head h2{font-size:22px;margin-bottom:2px}.section-head p{font-size:12px}.section-head .link{font-size:12px}
.home-popular-grid{grid-template-columns:repeat(4,1fr);gap:11px}.popular-card{min-height:126px;padding:13px 14px;border-radius:13px}.popular-card .popular-card-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}.popular-card .tool-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;margin:0}.popular-card .tool-icon svg,.cat-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.popular-card h3{font-size:15px;line-height:1.16;margin:0}.popular-card p{font-size:11.5px;line-height:1.4;margin:0 0 9px;color:#59686d}.popular-card .link{font-size:11.5px}
.popular-card .icon-clock{background:#e9f5f0;color:#0f7a5b}.popular-card .icon-percent{background:#eef4ff;color:#295fd4}.popular-card .icon-pay{background:#edf7f6;color:#0f6670}.popular-card .icon-dpi{background:#eef6fb;color:#3b6a9a}.popular-card .icon-calendar{background:#f6f0ff;color:#7449b5}.popular-card .icon-image{background:#eff8f5;color:#2c7d68}.popular-card .icon-area{background:#fff4e8;color:#a45c1e}.popular-card .icon-growth{background:#edf5ff;color:#3a64c8}
.home-category-grid{grid-template-columns:repeat(3,1fr);gap:11px}.home-category-grid .category-card{min-height:124px;padding:13px 14px;border-radius:13px}.home-category-grid .category-card:nth-child(1){background:linear-gradient(180deg,#fffdf8,#faf7ef)}.home-category-grid .category-card:nth-child(2){background:linear-gradient(180deg,#f8fcfa,#eef8f3)}.home-category-grid .category-card:nth-child(3){background:linear-gradient(180deg,#f8fbff,#eef5fb)}.home-category-grid .category-card:nth-child(4){background:linear-gradient(180deg,#f8fbfb,#eef5f6)}.home-category-grid .category-card:nth-child(5){background:linear-gradient(180deg,#f8fbff,#eef4f8)}.home-category-grid .category-card:nth-child(6){background:linear-gradient(180deg,#fbf8ff,#f3eefb)}.home-category-grid .cat-icon{width:39px;height:39px;border-radius:11px;margin-bottom:9px}.home-category-grid .cat-icon svg{width:21px;height:21px}.home-category-grid .category-card h3{font-size:15px;margin-bottom:5px}.home-category-grid .category-card p{font-size:11.5px;line-height:1.4;margin-bottom:8px}.home-category-grid .category-card .link{font-size:11.5px}.home-category-grid .icon-date{background:#fff4dd;color:#9a6a15}.home-category-grid .icon-finance{background:#eaf7ef;color:#2f7b4f}.home-category-grid .icon-health{background:#eaf3ff;color:#466fbd}.home-category-grid .icon-math{background:#e8f4f5;color:#116c74}.home-category-grid .icon-measure{background:#edf4fb;color:#4f7ba7}.home-category-grid .icon-print{background:#f1ecfb;color:#7760b1}
.requirement-banner{padding:19px 22px;border-radius:16px;gap:20px;grid-template-columns:1fr 2.1fr}.requirement-banner h2{font-size:21px;margin-bottom:4px}.requirement-banner p{font-size:12px;line-height:1.4}.req-pills{gap:7px}.req-pill{padding:9px 11px;border-radius:9px;font-size:11.5px}.footer{padding:35px 0 20px;margin-top:42px}.footer-grid{gap:24px}.footer a{font-size:12px;margin:5px 0}.footer-bottom{margin-top:24px;padding-top:14px;font-size:11.5px}
@media(max-width:980px){.hero{padding:22px 0 20px}.hero h1{font-size:39px}.hero p{font-size:14px}.hero-visual{display:none}.home-popular-grid{grid-template-columns:repeat(2,1fr)}.home-category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.site-header .nav{height:54px}.hero{padding:20px 0 18px}.hero h1{font-size:34px}.hero p{font-size:14px}.hero-search input{height:42px}.hero-search button{height:34px;width:34px}.section{padding:22px 0}.section.alt{padding:20px 0 22px}.home-popular-grid{grid-template-columns:1fr}.popular-card{padding:13px;min-height:auto}.home-category-grid{grid-template-columns:1fr}.home-category-grid .category-card{padding:13px;min-height:auto}.requirement-banner{padding:18px;gap:14px}}

/* Stage 2 density and directory additions */
.tool-page .content{padding-bottom:24px}.tool-page .breadcrumb{margin-top:18px;margin-bottom:10px}.tool-page h1{font-size:34px}.tool-page .lede{margin-bottom:18px}.calculator-shell{margin-top:18px}.info-card{padding:18px}.all-tools-grid{grid-template-columns:repeat(4,1fr);gap:12px}.all-tools-grid .tool-card{min-height:145px;padding:16px}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 22px}.filter-tab{padding:7px 11px;border-radius:999px;border:1px solid var(--border);background:white;color:var(--muted);font-size:12px;font-weight:700}.filter-tab.active{background:var(--brand-soft);color:var(--brand);border-color:#b8d4d1}.category-label{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.intent-card{background:#fff;border:1px solid var(--border);border-radius:13px;padding:16px}.intent-card h3{font:700 16px Manrope;margin:0 0 7px}.intent-card p{font-size:12px;color:var(--muted);margin:0}.stage-badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e8f4f3;color:var(--brand);font-size:11px;font-weight:800;margin-left:8px}@media(max-width:980px){.all-tools-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.all-tools-grid,.intent-grid{grid-template-columns:1fr}.tool-page h1{font-size:30px}}

/* Stage 2 v3: hybrid calculation behavior */
.result-empty{min-height:150px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:var(--muted)}
.result-empty strong{font:700 18px/1.2 Manrope,Inter,sans-serif;color:var(--ink);margin-bottom:6px}
.result-empty p{font-size:13px;line-height:1.5;margin:0;max-width:310px}

/* v5 image preview containment fix */
.result-pane,.input-pane,.calculator-shell,.calc-panel{min-width:0}
.compare-wrap,.compare-toolbar,.compare-grid,.compare-pane,.compare-stage{box-sizing:border-box}
.compare-wrap{width:100%;max-width:100%;overflow:hidden}
.compare-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;min-width:0;max-width:100%}
.compare-pane{min-width:0;max-width:100%;overflow:hidden}
.compare-stage{min-width:0;max-width:100%;overflow:auto!important}
.compare-stage img{display:block}
@media(max-width:720px){.compare-grid{grid-template-columns:1fr!important}.compare-stage{height:200px!important}}

/* Image comparison v6 */
.cmp-mode.active{background:var(--brand);border-color:var(--brand);color:#fff}
.compare-stage{box-sizing:border-box}
.compare-stage .cmp-img{object-fit:contain}
@media(max-width:760px){.compare-grid{grid-template-columns:1fr!important}.compare-stage{height:240px!important}.compare-toolbar{align-items:flex-start!important}.compare-modes{width:100%}.cmp-mode{flex:1 1 auto}}

/* Stage 3 v8 — refined compact homepage hero */
.home-page .hero{padding:15px 0 14px}
.home-page .hero-grid{grid-template-columns:1.12fr .88fr;gap:22px;align-items:center}
.home-page .hero h1{font-size:34px;line-height:1.07;letter-spacing:-.035em;max-width:650px;margin-bottom:7px}
.home-page .hero p{font-size:13.5px;line-height:1.42;max-width:610px;margin-bottom:11px}
.home-page .hero-visual-rich{min-height:185px;display:flex;align-items:center;justify-content:flex-end;overflow:visible}
.home-page .hero-utility-art{display:block;width:min(100%,405px);height:auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(24,58,61,.08));border-radius:18px}
.home-page .hero-utility-art-dark{display:none}
@media(max-width:1100px){.home-page .hero h1{font-size:32px;max-width:590px}.home-page .hero-utility-art{width:min(100%,380px)}}
@media(max-width:980px){.home-page .hero h1{font-size:34px}.home-page .hero-visual-rich{display:none}}
@media(max-width:640px){.home-page .hero h1{font-size:30px;line-height:1.08}.home-page .hero p{font-size:13.5px}}


/* Stage 3 v11 — mobile homepage hero/chip tightening */
@media(max-width:640px){
  .home-page .hero{padding:16px 0 12px}
  .home-page .hero-grid{gap:12px}
  .home-page .hero h1{font-size:clamp(26px,7.2vw,32px);line-height:1.06;letter-spacing:-.038em;margin-bottom:6px;max-width:none}
  .home-page .hero p{font-size:12.8px;line-height:1.36;margin-bottom:10px;max-width:none}
  .home-page .hero-brand-line{margin-bottom:2px}
  .home-page .hero-search input{height:50px;font-size:15px;padding-left:14px;padding-right:52px}
  .home-page .hero-search button{width:38px;height:38px;top:6px;right:6px}
  .home-page .chips{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin-top:9px;padding:0 2px 4px 0}
  .home-page .chips::-webkit-scrollbar{display:none}
  .home-page .chip{flex:0 0 auto;white-space:nowrap;padding:6px 11px;font-size:12px}
  .home-page .section{padding:18px 0}
  .home-page .section.alt{padding:18px 0}
  .home-page .section-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:10px}
  .home-page .section-head .link{white-space:nowrap;display:inline-flex;align-items:center;align-self:start;line-height:1.2}
}
@media(max-width:480px){
  .home-page .hero{padding:14px 0 10px}
  .home-page .hero h1{font-size:clamp(25px,7vw,29px);line-height:1.05;margin-bottom:5px}
  .home-page .hero p{font-size:12.4px;line-height:1.34;margin-bottom:9px}
  .home-page .hero-search input{height:48px;font-size:14px}
  .home-page .hero-search button{width:36px;height:36px;top:6px;right:6px}
  .home-page .section-head h2{font-size:20px}
  .home-page .section-head p{font-size:11px}
}


/* ExactUtility v14 — iPhone hero overflow containment */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden}
.home-page .hero,.home-page .hero-grid,.home-page .hero-grid>div{min-width:0;max-width:100%}
.home-page .hero{overflow-x:hidden}
.home-page .hero h1,.home-page .hero p{max-width:100%;overflow-wrap:break-word;word-break:normal}
.home-page .hero-search{width:100%;max-width:100%;min-width:0}
.home-page .hero-search input{min-width:0;max-width:100%}
.home-page .chips{max-width:100%;min-width:0}
@media(max-width:640px){
  .home-page .hero-grid{grid-template-columns:minmax(0,1fr)!important;width:100%}
  .home-page .hero-grid>div:first-child{width:100%;min-width:0;overflow:hidden}
  .home-page .hero h1{font-size:clamp(25px,6.6vw,28px);line-height:1.06;letter-spacing:-.032em}
  .home-page .hero p{font-size:12.4px;line-height:1.35}
  .home-page .hero-search{overflow:hidden}
  .home-page .chips{width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x;white-space:nowrap}
  .home-page .chip{white-space:nowrap}
}
@media(max-width:390px){
  .home-page .hero h1{font-size:25px;line-height:1.05}
  .home-page .hero p{font-size:12px}
}


/* v16 — decimal file sizes + exact byte detail */
.file-bytes{display:block;margin-top:2px;font-size:10.5px;line-height:1.3;font-weight:500;color:var(--muted)}
.file-bytes-main{font-size:11px;margin-top:5px;letter-spacing:0}
.result-main .value .file-bytes{font-family:Inter,system-ui,sans-serif}
