:root{--slab:#EEEFEC;--slab-deep:#E3E5E1;--cured:#D3D5D1;--cured-deep:#B6B9B5;--aggregate:#5E6266;--graphite:#23272B;--chalk:#1F5FD1;--chalk-deep:#174BA8;--chalk-light:#9DBDF7;--white:#FFFFFF;--font:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;--text-sm:0.875rem;--text-base:1.0625rem;--text-md:1.25rem;--text-lg:1.5rem;--text-xl:clamp(1.875rem,1.3rem + 2.2vw,2.75rem);--text-hero:clamp(2.625rem,1.5rem + 4.6vw,5rem);--gutter:clamp(1rem,4vw,2rem);--section-pad:clamp(3.5rem,8vw,6.5rem);--radius:4px;--radius-lg:8px;--container:74rem;--header-h:4.25rem}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-text-size-adjust:100%}body{margin:0;background:var(--slab);color:var(--graphite);font-family:var(--font);font-size:var(--text-base);line-height:1.6;font-variant-numeric:tabular-nums}img,svg{display:block;max-width:100%}h1,h2,h3{margin:0;line-height:1.1;font-stretch:78%;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:var(--chalk);text-underline-offset:0.2em}a:hover{color:var(--chalk-deep)}:focus-visible{outline:3px solid var(--chalk);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:1rem;z-index:100;padding:0.75rem 1rem;background:var(--graphite);color:var(--white);border-radius:var(--radius)}.skip-link:focus{top:1rem}.wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:0.75rem 1.5rem;border:0;border-radius:var(--radius);background:var(--chalk);color:var(--white);font:inherit;font-weight:650;text-decoration:none;cursor:pointer;transition:background-color 0.15s ease}.btn:hover{background:var(--chalk-deep);color:var(--white)}.btn--small{min-height:2.5rem;padding:0.5rem 1rem;font-size:var(--text-sm)}.btn--block{width:100%}.text-link{font-weight:600}.brand{display:inline-flex;align-items:center;gap:0.625rem;color:var(--graphite);text-decoration:none}.brand:hover{color:var(--graphite)}.brand__mark{width:2rem;height:2rem;flex:none}.brand__name{font-size:1.1875rem;font-weight:800;font-stretch:78%;letter-spacing:0.005em}.mark-top{fill:var(--cured);stroke:currentColor;stroke-width:2;stroke-linejoin:round}.mark-side{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}.mark-dim{fill:none;stroke:var(--chalk);stroke-width:2.5;stroke-linecap:round}.brand--light{color:var(--slab)}.brand--light:hover{color:var(--white)}.brand--light .mark-top{fill:var(--aggregate)}.brand--light .mark-dim{stroke:var(--chalk-light)}.site-header{position:sticky;top:0;z-index:50;background:rgba(238,239,236,0.94);border-bottom:1px solid var(--cured);backdrop-filter:blur(6px)}.site-header__inner{display:flex;align-items:center;gap:2rem;min-height:var(--header-h)}.site-nav{margin-left:auto}.site-nav ul{display:flex;gap:1.75rem;margin:0;padding:0;list-style:none}.site-nav a{color:var(--graphite);font-weight:550;text-decoration:none}.site-nav a:hover{color:var(--chalk)}.hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(3rem,6vw,4.5rem)}.hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(2rem,5vw,4rem)}.hero__title{max-width:13ch;font-size:var(--text-hero);font-weight:800;font-stretch:70%;line-height:0.98;letter-spacing:-0.012em}.hero__lede{max-width:34rem;margin-top:1.5rem;color:var(--aggregate);font-size:var(--text-md);line-height:1.5}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:2rem}.hero__figure{margin:0}.hero__caption{max-width:30rem;margin:1.25rem 0 0 auto;padding-left:1rem;border-left:3px solid var(--chalk);color:var(--aggregate);font-size:var(--text-sm);line-height:1.5}.hero__caption strong{color:var(--graphite)}.slab-drawing{width:100%;height:auto;overflow:visible}.slab-face{stroke:var(--graphite);stroke-width:1.5;stroke-linejoin:round}.slab-face--top{fill:var(--cured)}.slab-face--left{fill:var(--cured-deep)}.slab-face--right{fill:#A4A8A4}.joint{stroke:var(--aggregate);stroke-width:1;stroke-dasharray:4 3;opacity:0.7}.dim__line,.dim__ext,.dim__tick{stroke:var(--chalk);stroke-linecap:round}.dim__line{stroke-width:1.75}.dim__ext{stroke-width:1;opacity:0.7}.dim__tick{stroke-width:2.25}.dim__label{fill:var(--chalk);font-family:var(--font);font-size:16px;font-weight:700;font-stretch:78%;text-anchor:middle}.dim--thickness .dim__label{text-anchor:start}@media (prefers-reduced-motion:no-preference){.dim__line,.dim__ext,.dim__tick{stroke-dasharray:260;stroke-dashoffset:260;animation:draw-dim 0.9s ease-out forwards}.dim__label{opacity:0;animation:show-label 0.4s ease-out forwards}.dim--length>*{animation-delay:0.3s}.dim--width>*{animation-delay:0.65s}.dim--thickness>*{animation-delay:1s}.dim--length .dim__label{animation-delay:0.9s}.dim--width .dim__label{animation-delay:1.25s}.dim--thickness .dim__label{animation-delay:1.6s}}@keyframes draw-dim{to{stroke-dashoffset:0}}@keyframes show-label{to{opacity:1}}.section{padding-block:var(--section-pad)}.section--band{background:var(--slab-deep);border-block:1px solid var(--cured)}.section__head{max-width:44rem;margin-bottom:clamp(2rem,4vw,3rem)}.section__title{font-size:var(--text-xl);font-weight:800}.section__intro{margin-top:0.875rem;color:var(--aggregate);font-size:var(--text-md);line-height:1.5}.calc-section{background:var(--white);border-block:1px solid var(--cured)}.calc{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,3vw,2.5rem)}.calc__form{padding:clamp(1.25rem,3vw,2rem);background:var(--slab);border:1px solid var(--cured);border-radius:var(--radius-lg)}.shape-picker{margin:0;padding:0;border:0}.shape-picker__legend{margin-bottom:0.75rem;padding:0;font-weight:700}.shape-picker__options{display:flex;flex-wrap:wrap;gap:0.5rem}.shape-picker__option{padding:0.55rem 1.05rem;background:var(--white);border:1.5px solid var(--cured-deep);border-radius:var(--radius);font-weight:600;cursor:pointer;transition:border-color 0.15s ease,background-color 0.15s ease}.shape-picker__option:hover{border-color:var(--graphite)}input:checked + .shape-picker__option{background:var(--graphite);border-color:var(--graphite);color:var(--white)}input:focus-visible + .shape-picker__option{outline:3px solid var(--chalk);outline-offset:2px}.fields{display:none;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:1.125rem 1rem;margin:1.75rem 0 0;padding:1.5rem 0 0;border:0;border-top:1px solid var(--cured)}.fields__legend{grid-column:1 / -1;float:left;width:100%;margin-bottom:0.25rem;padding:0;font-weight:700}.fields--slab,.fields--shared{display:grid}.calc:has(input[name="shape"]:not(#shape-slab):checked) .fields--slab{display:none}.calc:has(#shape-footing:checked) .fields--footing,.calc:has(#shape-column:checked) .fields--column,.calc:has(#shape-driveway:checked) .fields--driveway,.calc:has(#shape-stairs:checked) .fields--stairs{display:grid}.fields__note{grid-column:1 / -1}.field label{display:block;margin-bottom:0.375rem;font-size:0.9375rem;font-weight:600}.field__control{display:flex;align-items:stretch;min-height:3rem;background:var(--white);border:1.5px solid var(--cured-deep);border-radius:var(--radius);overflow:hidden}.field__control:focus-within{border-color:var(--chalk);box-shadow:0 0 0 3px rgba(31,95,209,0.22)}.field__control input,.field__control select{flex:1;min-width:0;width:100%;padding:0.625rem 0.75rem;background:transparent;border:0;color:var(--graphite);font:inherit;font-variant-numeric:tabular-nums}.field__control input:focus,.field__control select:focus{outline:none}.field__control select{cursor:pointer}.field__unit{display:flex;align-items:center;padding-inline:0.75rem;background:var(--slab);border-left:1.5px solid var(--cured-deep);color:var(--aggregate);font-size:0.9375rem;font-weight:600}.field__unit--lead{border-left:0;border-right:1.5px solid var(--cured-deep)}.field__hint{margin-top:0.375rem;color:var(--aggregate);font-size:var(--text-sm);line-height:1.45}.calc__actions{margin-top:1.75rem}.calc__results{position:sticky;top:calc(var(--header-h) + 1.25rem)}.ticket{padding:clamp(1.25rem,3vw,1.75rem);background:var(--graphite);border-radius:var(--radius-lg);color:var(--slab)}.ticket__title{font-size:var(--text-lg);font-weight:800}.ticket__empty{margin-top:0.5rem;color:#B9BDC0;font-size:0.9375rem}.ticket__rows{margin:1.25rem 0 0}.ticket__row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:0.8rem;border-top:1px dashed rgba(238,239,236,0.22)}.ticket__row dt{color:#C9CCCE;font-size:0.9375rem}.ticket__row dd{margin:0;font-size:var(--text-md);font-weight:700;font-stretch:85%;text-align:right;white-space:nowrap}.ticket__row--main{flex-direction:column;align-items:flex-start;gap:0.25rem;padding-block:1rem 1.125rem;border-top:0}.ticket__row--main dd{color:var(--chalk-light);font-size:clamp(2.5rem,2rem + 2vw,3.5rem);font-weight:800;font-stretch:70%;line-height:1;text-align:left}.ticket__row--advice dd{white-space:normal;font-size:1rem}.ticket__row--wrap{flex-wrap:wrap}.ticket__row--wrap dd{white-space:normal;overflow-wrap:anywhere}.ticket__unit{color:#B9BDC0;font-size:1rem;font-weight:600}.ticket__row--main .ticket__unit{font-size:var(--text-md)}.ticket__formula{margin-top:0.5rem;padding-top:1rem;border-top:1px solid rgba(238,239,236,0.22);color:#B9BDC0;font-size:var(--text-sm);line-height:1.5}.pour-list{margin:0;padding:0;list-style:none;border-bottom:1px solid var(--cured-deep)}.pour{display:grid;grid-template-columns:9rem minmax(0,2fr) minmax(0,1.1fr) auto;align-items:center;gap:1.25rem 2rem;padding-block:1.75rem;border-top:1px solid var(--cured-deep)}.pour__art{padding:0.5rem;background:var(--white);border:1px solid var(--cured);border-radius:var(--radius)}.pour__title{font-size:var(--text-lg);font-weight:800}.pour__body p{max-width:40rem;margin-top:0.5rem;color:var(--aggregate)}.pour__inputs{color:var(--aggregate);font-size:0.9375rem}.pour__inputs strong{color:var(--graphite);font-weight:700}.pour__link{font-weight:650;white-space:nowrap}.art-face{stroke:var(--graphite);stroke-width:1.5;stroke-linejoin:round}.art-face--top{fill:var(--cured)}.art-face--left{fill:var(--cured-deep)}.art-face--right{fill:#A4A8A4}.art-joint{stroke:var(--aggregate);stroke-width:1;stroke-dasharray:3 2}.art-dim{stroke:var(--chalk);stroke-width:2;stroke-linecap:round}.measure{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem)}.steps{margin:0;padding:0;list-style:none;counter-reset:step}.steps__item{position:relative;padding:0 0 1.75rem 3.5rem;counter-increment:step}.steps__item:last-child{padding-bottom:0}.steps__item::before{content:counter(step);position:absolute;top:-0.2rem;left:0;color:var(--chalk);font-size:2.25rem;font-weight:800;font-stretch:70%;line-height:1}.steps__title{font-size:var(--text-md);font-weight:750}.steps__item p{margin-top:0.375rem;color:var(--aggregate)}.measure__tables{display:grid;gap:0.5rem}.data-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--cured);border-radius:var(--radius);font-size:0.9375rem}.data-table caption{padding-bottom:0.625rem;font-weight:750;text-align:left}.data-table th,.data-table td{padding:0.625rem 0.875rem;border-bottom:1px solid var(--cured);text-align:left}.data-table thead th{background:var(--slab);color:var(--aggregate);font-size:var(--text-sm);font-weight:650}.data-table tbody th{font-weight:500}.data-table tbody tr:last-child>*{border-bottom:0}.data-table .num{text-align:right;white-space:nowrap}.data-note{margin-bottom:1.5rem;color:var(--aggregate);font-size:var(--text-sm)}.data-note:last-child{margin-bottom:0}.about{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem)}.about__copy p{max-width:38rem;margin-top:1rem}.about__copy p:first-of-type{margin-top:1.25rem}.about__points{margin:0;padding:0;list-style:none}.about__points li{padding-block:1rem;border-top:1px solid var(--cured-deep);color:var(--aggregate)}.about__points li:last-child{border-bottom:1px solid var(--cured-deep)}.about__points strong{display:block;color:var(--graphite)}.site-footer{background:var(--graphite);color:#C9CCCE;font-size:0.9375rem}.site-footer a{color:#C9CCCE;text-decoration:none}.site-footer a:hover{color:var(--white);text-decoration:underline}.site-footer:focus-visible{outline-color:var(--chalk-light)}.site-footer__grid{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:2rem;padding-block:clamp(3rem,6vw,4.5rem) 2.5rem}.site-footer__brand p{max-width:22rem;margin-top:1rem}.site-footer__heading{margin-bottom:0.875rem;color:var(--white);font-size:1rem;font-weight:750}.site-footer__col ul{display:grid;gap:0.5rem;margin:0;padding:0;list-style:none}.site-footer__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.75rem 2rem;padding-block:1.5rem 2rem;border-top:1px solid rgba(238,239,236,0.16);color:#A9ADB0;font-size:var(--text-sm)}@media (max-width:1024px){.pour{grid-template-columns:8rem minmax(0,1fr)}.pour__inputs,.pour__link{grid-column:2}.pour__inputs{margin-top:-0.5rem}}@media (max-width:960px){.calc{grid-template-columns:minmax(0,1fr)}.calc__results{position:static}.measure,.about{grid-template-columns:minmax(0,1fr)}.site-footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer__brand{grid-column:1 / -1}}@media (max-width:760px){:root{--header-h:3.75rem}.site-header__inner{flex-wrap:wrap;gap:0 1rem;padding-top:0.625rem}.site-header__cta{margin-left:auto}.site-nav{order:3;width:100%;margin-left:0;overflow-x:auto}.site-nav ul{gap:1.5rem;padding-block:0.625rem;white-space:nowrap}.site-nav a{font-size:0.9375rem}html{scroll-padding-top:7rem}.hero__inner{grid-template-columns:minmax(0,1fr)}.hero__caption{margin-left:0}}@media (max-width:560px){.brand__name{font-size:1.0625rem}.site-header__cta{padding-inline:0.875rem}.site-header__cta-extra{display:none}.dim__label{font-size:19px}.hero__actions .btn{width:100%}.pour{grid-template-columns:minmax(0,1fr);gap:1rem}.pour__art{width:8rem}.pour__inputs,.pour__link{grid-column:auto}.pour__inputs{margin-top:0}.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none !important}}.crumbs{max-width:var(--container);margin:1.25rem auto 0;padding-inline:var(--gutter);color:var(--aggregate);font-size:var(--text-sm)}.crumbs a{color:var(--aggregate);text-decoration:none}.crumbs a:hover{color:var(--chalk);text-decoration:underline}.crumbs__sep{margin-inline:0.5rem}.page-head{padding-block:1.5rem clamp(1.5rem,4vw,2.5rem)}.page-head__title{max-width:18ch;font-size:var(--text-xl);font-weight:800}.page-head__lede{max-width:40rem;margin-top:0.875rem;color:var(--aggregate);font-size:var(--text-md);line-height:1.5}.calc-page{background:var(--white);border-block:1px solid var(--cured);padding-block:clamp(2rem,5vw,3.5rem)}.diagram{margin:0 0 1.75rem;padding:1.25rem;background:var(--slab);border:1px solid var(--cured);border-radius:var(--radius-lg)}.diagram svg{width:100%;max-width:34rem;height:auto;margin-inline:auto;overflow:visible}.diagram figcaption{margin-top:0.75rem;color:var(--aggregate);font-size:var(--text-sm);text-align:center}.diagram .dim__label{font-size:13px}.field__error{margin-top:0.375rem;color:#9B2F1F;font-size:var(--text-sm);font-weight:600}.field__control:has([aria-invalid="true"]){border-color:#9B2F1F}.ticket__actions{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem}.btn--ghost{min-height:2.5rem;padding:0.5rem 0.875rem;background:transparent;border:1.5px solid rgba(238,239,236,0.45);color:var(--slab);font-size:var(--text-sm)}.btn--ghost:hover{background:rgba(238,239,236,0.12);color:var(--white)}.calc__secondary{margin-top:0.75rem;text-align:center}.btn--link{background:none;border:0;color:var(--chalk);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:0.2em;cursor:pointer}.ticket--filled .ticket__row dd{color:var(--white)}.ticket__values{margin-top:0.75rem;color:#A9ADB0;font-size:0.8125rem;line-height:1.5}.project{margin-top:1rem;padding:1.25rem;background:var(--white);border:1px solid var(--cured);border-radius:var(--radius-lg)}.project__title{font-size:var(--text-md);font-weight:800}.project__intro{margin-top:0.375rem;color:var(--aggregate);font-size:var(--text-sm)}.project__list{margin:0.75rem 0 0;padding:0;list-style:none}.project__list li{display:flex;justify-content:space-between;gap:1rem;padding-block:0.5rem;border-top:1px solid var(--cured);font-size:0.9375rem}.project__total{margin-top:0.75rem;padding-top:0.75rem;border-top:1px solid var(--cured-deep);font-weight:650}.ad-slot{display:flex;align-items:center;justify-content:center;min-height:100px;margin-block:1.5rem;border:1px dashed var(--cured-deep);border-radius:var(--radius);color:var(--aggregate);font-size:0.75rem}.ad-slot:empty::before{content:'Advertisement'}.prose{max-width:44rem}.prose h2{margin-top:2.5rem;font-size:var(--text-lg);font-weight:800}.prose h3{margin-top:1.75rem;font-size:var(--text-md);font-weight:750}.prose p,.prose ul,.prose ol{margin-top:0.875rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li + li{margin-top:0.375rem}.prose .data-table{margin-top:1rem}.formula{margin-top:1rem;padding:1rem 1.25rem;background:var(--white);border-left:3px solid var(--chalk);font-family:var(--font);font-variant-numeric:tabular-nums;overflow-x:auto}.formula + .formula{margin-top:0.5rem}.sources{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--cured-deep);color:var(--aggregate);font-size:var(--text-sm)}.sources ol{padding-left:1.25rem}.meta-line{margin-top:0.75rem;color:var(--aggregate);font-size:var(--text-sm)}.faq{max-width:44rem;margin-top:1rem;border-top:1px solid var(--cured-deep)}.faq__item{border-bottom:1px solid var(--cured-deep)}.faq__item summary{padding:1rem 0;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary::after{content:'+';flex:none;color:var(--chalk);font-weight:800}.faq__item[open] summary::after{content:'−'}.faq__item>:not(summary){padding-bottom:1rem;color:var(--aggregate)}.related{margin-top:2.5rem}.related ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0.75rem;margin:1rem 0 0;padding:0;list-style:none}.related li a{display:block;padding:0.875rem 1rem;background:var(--white);border:1px solid var(--cured);border-radius:var(--radius);font-weight:650;text-decoration:none}.related li a:hover{border-color:var(--chalk)}.related li span{display:block;margin-top:0.25rem;color:var(--aggregate);font-size:var(--text-sm);font-weight:400}.notice{max-width:44rem;margin-top:1.5rem;padding:1rem 1.25rem;background:var(--slab-deep);border-left:3px solid var(--aggregate);color:var(--aggregate);font-size:0.9375rem}.pour--noart{grid-template-columns:minmax(0,2fr) minmax(0,1.1fr) auto}.notfound{padding-block:var(--section-pad);text-align:center}@media print{.site-header,.site-footer,.site-nav,.crumbs,.ad-slot,.hero,.calc__form,.ticket__actions,.prose,.faq,.related,.section:not(.calc-section):not(.calc-page),.pour-list,.diagram{display:none !important}body{background:#fff;color:#000}.calc{grid-template-columns:1fr}.ticket{background:#fff;color:#000;border:1px solid #000;border-radius:0}.ticket__row dt,.ticket__unit,.ticket__formula,.ticket__values{color:#333}.ticket__row--main dd{color:#000}}
.ad-slot--live{display:block;border:0;min-height:0;color:inherit}.ad-slot--live::before{content:none}.ad-slot--live ins{display:block}.site-nav .is-current a{color:var(--chalk)}
