:root{--primary:#388a50;--ink:#1c2630;--muted:#66727a;--line:#d9dee1;--canvas:#f5f6f3;--vp:#388a50}
body{background:linear-gradient(180deg,#f8f8f5,#f3f5f1);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.45;color:var(--ink)}
button,a,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #388a5070;outline-offset:3px}
.public-app{max-width:1180px;margin:auto;padding:24px 20px 0}.family-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;gap:16px;color:var(--muted);font-size:15px}.family-brands{display:flex;align-items:center;gap:22px}.family-brands img{width:185px;height:48px;object-fit:contain}.family-brands>img:last-child{width:136px}.family-brands i{height:34px;border-left:1px solid var(--line)}
.public-hero{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;margin:12px 0 32px}.public-hero>div{padding:35px}.kicker{font-size:14px;letter-spacing:.13em;font-weight:700;color:#347d48}.public-hero h1{font-size:clamp(30px,3.2vw,42px);line-height:1.12;letter-spacing:-.035em;margin:14px 0 18px}.public-hero p{color:var(--muted);max-width:460px;margin:0 0 24px}.public-hero small{display:block;color:var(--muted);font-size:15px;margin-top:16px}.public-hero figure{margin:0;position:relative;min-width:0;background:#e9ede6}.public-hero figure>img{height:100%;width:100%;object-fit:cover}.public-hero figcaption{position:absolute;bottom:0;left:0;right:0;padding:15px;color:white;background:linear-gradient(transparent,#102e2d99);font-size:15px;text-align:right}
.primary{background:var(--primary)!important;border:1px solid var(--primary)!important;color:white!important;font-weight:650!important;box-shadow:0 3px 7px #2c663220}.primary:hover{background:#2f7442!important}.public-hero a{display:inline-flex;text-decoration:none;padding:12px 18px;border-radius:9px;gap:30px}
#calculadora{scroll-margin-top:18px}.calculator-family-title{text-align:center;border:1px solid var(--line);padding:14px;margin-bottom:16px;background:#fafbf8}.calculator-family-title h2{margin:0;font-size:18px;font-weight:600}.calculator-family-title p{margin:3px 0 0;font-size:15px;color:var(--muted)}
.public-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.public-steps button{border:1px solid var(--line);background:white;border-radius:12px;min-height:54px;display:flex;justify-content:center;align-items:center;gap:9px;font-size:15px}.public-steps b{display:grid;place-items:center;width:27px;height:27px;border-radius:100%;background:#eff0f1;font-weight:500}.public-steps button.selected{background:var(--primary);border-color:#317643;color:white;box-shadow:0 4px 8px #366c2725}.public-steps .selected b{background:#ffffff35}
.step-content{display:grid;gap:16px}.two-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.public-card{min-width:0;background:#fff;border:1px solid #dfe4e1;padding:23px;box-shadow:0 5px 18px #19382805}.public-card h3{font-size:23px;line-height:1.25;letter-spacing:-.025em;margin:10px 0 17px}.helper{font-size:16px;color:var(--muted);line-height:1.5}.shape-grid{margin:20px 0;gap:9px}.shape-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;min-height:86px;text-align:left;display:flex;align-items:center;gap:10px}.shape-card svg{width:56px;height:48px}.selected{background:#edf6ef!important;border-color:#388a50!important;color:#245a35}.public-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0 6px}.public-field{display:block;min-width:0}.public-field>span{font-size:16px;display:block;margin-bottom:7px}.public-field>div{position:relative}.public-field input{width:100%;height:49px;padding:10px 35px 10px 12px;border:1px solid #b6c1bb;border-radius:7px;color:var(--ink);background:white}.public-field em{position:absolute;right:12px;top:11px;color:var(--muted);font-style:normal}.public-field small{display:block;margin-top:6px;font-size:15px;color:var(--muted)}.public-field select{max-width:100%;padding:10px;background:white;border:1px solid var(--line)}
.diagram-card .pool-diagram{margin:25px 0 10px}.pool-diagram{min-height:0;border-radius:8px}.pool-diagram svg{width:100%;height:auto}.public-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.public-model{background:white;border:1px solid var(--line);border-radius:9px;padding:9px;text-align:left;min-width:0;display:grid;gap:5px}.public-model img{width:100%;height:105px;object-fit:contain;background:#f8f9f5;border-radius:5px}.public-model strong{font-size:16px}.public-model small{font-size:15px;color:var(--muted)}.finish-card{display:grid;grid-template-columns:1fr 1fr;gap:40px}.selected-piece{max-height:170px;width:270px;object-fit:contain}.public-finishes{display:flex;flex-wrap:wrap;gap:10px}.public-finishes button{padding:7px;border-radius:8px;border:1px solid var(--line);background:white;display:grid;gap:6px;min-width:66px;font-size:15px}.public-finishes img{width:52px;height:44px;border-radius:4px;object-fit:cover}.criterion-options{display:grid;gap:12px}.criterion-options button{border:1px solid var(--line);border-radius:9px;background:white;padding:18px;text-align:left}.criterion-options strong{display:block;margin-bottom:8px}.criterion-options span{display:block;font-size:16px;color:var(--muted)}
.result-family-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.result-family-head h3{margin-bottom:6px}.result-family-head p{margin-top:0;color:var(--muted);font-size:16px}.public-status{font-size:15px;line-height:1.5;border-radius:6px;padding:7px 10px;background:#edf6ef;color:#245a35;white-space:normal}.public-status.review{background:#fff2dc;color:#86590b}.result-visual{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;margin:20px 0}.result-spec h4{margin:0 0 10px}.result-spec p{font-size:16px}.public-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);margin:20px 0}.public-table{width:100%;border-collapse:collapse;min-width:700px;font-size:15px;text-align:left}.public-table th{padding:12px;background:#f0f4ef;font-size:15px;white-space:nowrap}.public-table td{padding:12px;vertical-align:middle;border-top:1px solid var(--line)}.public-table td:not(:first-child){white-space:nowrap}.public-table small{display:block;color:var(--muted);font-size:15px}.line-piece{display:flex;align-items:center;gap:10px}.line-piece img{width:65px;height:52px;object-fit:contain}.line-piece strong{display:block;font-size:16px}.palet-choices{display:grid;gap:10px}.palet-choices button{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px;border:1px solid var(--line);background:#fff;border-radius:9px;text-align:left}.palet-choices .recommended{background:#f2f8f0;border-color:#b2cdb8}.palet-choices strong,.palet-choices small{display:block}.palet-choices strong{font-size:16px}.palet-choices small{font-size:15px;margin-top:5px;color:var(--muted)}.palet-choices b{font-size:16px;white-space:nowrap}.public-totals{margin-top:24px;background:#f1f7f1;border:1px solid #cedecd;padding:20px}.public-totals dl{margin:0}.public-totals dl>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.public-totals dd{margin:0;font-weight:650;white-space:nowrap}.public-totals .total{border-top:1px solid #b8cdb9;margin-top:10px;padding-top:15px;font-size:20px}.public-totals p{margin:10px 0 0;font-size:15px;color:#516657}.public-totals .pending{font-size:16px;color:#845914}.export-actions{display:flex;gap:12px;margin:20px 0}.export-actions button,.step-footer button{border:1px solid var(--line);border-radius:10px;background:white;padding:12px 16px;min-height:49px}.export-actions button{flex:1}.public-notice{border:1px solid #e7d7b1;background:#fffbf3;padding:18px;font-size:16px;color:#705218}.public-notice.error{border-color:#dfb5ad;background:#fff3f0;color:#8c3428}.public-notice ul{padding-left:20px;margin:8px 0 0}.public-notice li+li{margin-top:5px}.copy-box{display:grid;gap:7px;font-size:16px}.copy-box textarea{width:100%;height:240px;padding:12px;font-size:16px;border:1px solid var(--line)}.step-footer{display:grid;grid-template-columns:1fr auto 1.4fr;gap:14px;align-items:center;margin:20px 0 30px}.step-footer>span{font-size:15px;color:var(--muted)}.family-footer{border-top:1px solid var(--line);margin-top:30px;padding:18px 0 30px;display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--muted)}.family-footer p{margin:0}.family-footer p>span{font-size:15px}.print-document{display:none}
/* Preserve the existing logo size when it is also the link to home. */
.family-brands>.jc-home-logo{display:flex;align-items:center;min-width:0;width:185px;height:48px;flex:0 1 auto}
.family-brands>.jc-home-logo>img{display:block;width:100%;height:100%;min-width:0;object-fit:contain}
.family-brands>.jc-home-logo:focus-visible{outline:3px solid #388a50;outline-offset:3px}
@media(max-width:720px){.family-brands>.jc-home-logo{width:164px;height:40px}}
@media print{.print-document .family-brands>.jc-home-logo{width:145px;height:32px}}
@media(max-width:720px){.public-app{padding:18px 14px 0}.family-header>span{display:none}.family-header{padding-bottom:10px}.family-brands{gap:14px}.family-brands img{width:164px;height:40px}.family-brands>img:last-child{width:115px}.public-hero{grid-template-columns:1fr;margin-bottom:20px}.public-hero>div{padding:25px}.public-hero h1{font-size:33px}.public-hero figure{height:200px}.public-hero p{font-size:16px}.public-hero small{font-size:15px}.two-panels,.finish-card{grid-template-columns:1fr}.public-card{padding:18px}.public-card h3{font-size:22px}.public-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.public-steps button{flex-direction:column;gap:5px;padding:9px 4px;font-size:15px;line-height:1.25;min-height:73px}.public-steps b{width:24px;height:24px;font-size:15px}.public-steps button>span{min-height:25px;display:flex;align-items:center}.calculator-family-title p{font-size:15px}.public-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.public-model img{height:90px}.finish-card{gap:15px}.public-fields{gap:12px}.public-field>span{font-size:16px}.public-field input{font-size:16px}.result-visual{grid-template-columns:1fr;gap:12px}.result-family-head{align-items:start;flex-direction:column}.result-family-head h3{font-size:24px}.result-family-head p{font-size:16px}.public-table-wrap{margin:14px 0}.public-totals{padding:14px}.public-totals .total{font-size:16px}.public-totals dl>div{font-size:16px}.palet-choices button{padding:12px;align-items:start;flex-direction:column;gap:7px}.export-actions{flex-direction:column}.step-footer{grid-template-columns:1fr 1fr;gap:10px}.step-footer>span{grid-column:1/-1;grid-row:2;text-align:center;font-size:15px}.step-footer>button:last-child{grid-column:2;grid-row:1}.step-footer button{font-size:16px;padding:10px}.family-footer{display:block}.family-footer>span{display:block;font-size:15px;margin-top:10px}}
@media print{@page{size:A4;margin:13mm}.public-app{display:none!important}.print-document{display:block!important;font-family:Arial,sans-serif;color:#1c2630;font-size:10px;line-height:1.35}.print-document header{text-align:center;border-bottom:1px solid #d9dee1;padding-bottom:10px}.print-document .family-brands{justify-content:center}.print-document .family-brands img{height:32px;width:145px}.print-document .family-brands>img:last-child{width:105px}.print-document h1{font-size:18px;margin:10px 0 5px}.print-document h2{font-size:15px;margin-bottom:5px}.print-document p{margin:5px 0}.print-document .print-diagram{width:340px;margin:10px auto}.print-document .pool-diagram{padding:5px;border:0;box-shadow:none}.print-document .diagram-caption,.print-document .diagram-legend{display:none}.print-document .public-table-wrap{overflow:visible;margin:12px 0}.print-document .public-table{min-width:0;font-size:10px}.print-document .public-table th,.print-document .public-table td{padding:6px}.print-document .public-table th{font-size:9px}.print-document .line-piece img{width:45px;height:36px}.print-document .line-piece strong{font-size:10px}.print-document .public-table small{font-size:8px}.print-document .public-totals{margin:12px 0;padding:10px;break-inside:avoid}.print-document .public-totals .total{font-size:14px;padding-top:7px;margin-top:5px}.print-document .public-totals dl>div{padding:3px}.print-document .public-totals p{font-size:9px}.print-document tr{break-inside:avoid}.print-document thead{display:table-header-group}.print-document .print-notes{font-size:9px;break-inside:avoid}.print-document .print-notes h3{font-size:11px}.print-document ul{padding-left:15px}.print-document li{margin:3px 0}}
.public-steps button.selected{background:#388a50!important;color:white!important;border-color:#317643!important}
@media screen {
.diagram-board-label{position:static;max-width:none;justify-content:flex-end;padding:3px 3px 8px;font-size:14px;line-height:1.4}
.pool-diagram figcaption>span,.pool-diagram figcaption small,.diagram-legend span,.arc-help span,.curve-tick-note,.roman-help{font-size:15px;line-height:1.5}
}
@media screen and (max-width:520px){.pool-diagram{padding:14px 10px}.pool-diagram figcaption{display:grid;gap:4px}.pool-diagram figcaption small{max-width:none;text-align:left;font-size:15px}.diagram-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.dimension-line text,.dimension-line.is-active text{font-size:28px;stroke-width:7px}.leader-label{font-size:23px}.radius-note text:first-child{font-size:21px}.radius-note text:last-child{font-size:24px}.arc-help{grid-template-columns:1fr}}
@media print{html,body{background:white!important}.print-document .pool-diagram{background:white;padding:0;border:0}.print-document .pool-diagram figcaption,.print-document .diagram-board-label,.print-document .diagram-legend{display:none}.print-document .diagram-board{background:white;border:0;box-shadow:none;margin:0;padding:0;overflow:visible}.print-document .pool-water{filter:none}.print-document .print-diagram{width:320px;margin:12px auto}.print-document .public-totals{background:#f3f8f2}}
.piece-library summary{cursor:pointer;font-weight:600}.library-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.library-grid>div{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:12px}.library-grid img{width:80px;height:70px;object-fit:contain}.library-grid strong{font-size:16px}.library-grid small{display:block;color:var(--muted);font-size:15px;margin-top:4px}@media(max-width:720px){.library-grid{grid-template-columns:1fr}.library-grid img{width:65px}}
.shape-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.shape-card{width:100%}
@media screen and (max-width:720px){.public-table-wrap{border:0;overflow:visible}.public-table{display:block;min-width:0}.public-table thead{display:none}.public-table tbody{display:grid;gap:12px}.public-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}.public-table td{border:0;padding:10px 12px;white-space:normal!important}.public-table td:first-child{grid-column:1/-1;background:#f7f9f5;border-bottom:1px solid var(--line)}.public-table td[data-label]::before{content:attr(data-label);display:block;color:var(--muted);font-size:15px;margin-bottom:4px}.public-table td:nth-child(4),.public-table td:nth-child(5){border-top:1px solid #edf0ec;font-weight:600}.public-table .line-piece img{width:64px}.public-table .line-piece strong{font-size:16px}.public-table .line-piece small{font-size:15px}}

/* Keep shape labels and measurements readable on narrow phones. */
@media screen and (max-width:480px){
  .shape-grid{grid-template-columns:1fr}
}
@media screen and (max-width:380px){
  .public-fields{grid-template-columns:1fr}
  .public-app .family-brands{width:100%;min-width:0;gap:12px}
  .public-app .family-brands>.jc-home-logo,.public-app .family-brands>img{width:0;min-width:0;flex:164 1 0}
  .public-app .family-brands>img:last-child{width:0;flex:115 1 0}
  .public-app .family-brands i{flex:0 0 1px}
}
/* Screen reading scale; the A4 document keeps its own typography. */
@media screen {
 body{line-height:1.55}
 .public-steps button,.public-finishes button,.export-actions button,.step-footer button{font-size:16px}
 .public-field input,.public-field select{font-size:16px;min-height:49px}
 .pool-diagram figcaption>span,.pool-diagram figcaption small,.diagram-legend span,.arc-help span,.curve-tick-note,.roman-help{font-size:15px;line-height:1.5}
}
@media screen and (min-width:721px){
 body{font-size:18px}
 .public-hero p{font-size:20px;line-height:1.5}
 .helper{font-size:17px;line-height:1.55}
 .public-model strong,.result-spec h4{font-size:18px}
 .public-card h3{line-height:1.3}
}

/* Keep the economic reason visible, including on touch screens. */
.palet-option{display:grid;gap:0}.palet-option>button{width:100%;border-radius:9px 9px 0 0}.palet-comparison{padding:14px 16px;border:1px solid var(--line);border-top:0;border-radius:0 0 9px 9px;background:#f7f9f6;font-size:16px;line-height:1.55}.palet-comparison>strong{display:block;color:#245a35;font-size:16px}.palet-comparison p{margin:8px 0;font-size:16px}.palet-comparison small{display:block;margin-top:10px;color:var(--muted);font-size:15px;line-height:1.5}.palet-comparison.higher{background:#fffbf3}.palet-comparison.higher>strong{color:#805a19}

@media print{.print-palet-comparisons{margin:14px 0;font-size:9pt;line-height:1.4}.print-palet-comparisons>h3{font-size:11pt;margin:0 0 8px;break-after:avoid}.print-palet-option{border-top:1px solid #cbd6cc;padding:8px 0;break-inside:avoid}.print-palet-option h4{font-size:10pt;margin:0 0 5px}.print-palet-option p{margin:5px 0}.print-palet-option .print-palet-selection{font-weight:700}.print-palet-option>strong{display:block;margin-top:7px;color:#245a35}.print-palet-note{font-size:8pt}}
