/* Scoped to the spiral brochure; existing readers keep their presentation. */
body[data-product="hdpe-spiral"]{--spiral-ink:#171c24;--spiral-gold:#b88737}
body[data-product="hdpe-spiral"] .hero{padding-top:72px}
body[data-product="hdpe-spiral"] .hero .photo-frame{background:#e8ecef;border-radius:28px;overflow:hidden}
body[data-product="hdpe-spiral"] .hero .photo-frame img{object-fit:cover;min-height:360px}
body[data-product="hdpe-spiral"] .hero-kicker{color:#74521f}
.spiral-section{padding-top:80px;padding-bottom:80px;scroll-margin-top:125px}
.spiral-section .section-heading{margin-bottom:36px}
.spiral-explorer{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#fff}
.spiral-controls{padding:38px;background:var(--paper)}
.spiral-diameter-figure{margin:0 0 28px}
.spiral-diameter-visual{--spiral-bore-size:143px;display:grid;place-items:center;height:320px;padding-right:14px;background:radial-gradient(ellipse at 50% 58%,#fff 20%,transparent 70%)}
.spiral-pipe-ring{box-sizing:content-box;position:relative;width:var(--spiral-bore-size);height:var(--spiral-bore-size);border:24px solid #252c34;border-radius:50%;background:radial-gradient(ellipse at 65% 65%,#fff 35%,#dce2e8);box-shadow:3px 3px 0 2px #66717b,8px 7px 0 4px #111820,12px 10px 0 4px #505b66,16px 13px 0 5px #161d25,16px 24px 22px -5px #17253438,inset 5px 5px 12px #17253440;transform:perspective(650px) rotateY(-14deg);transition:width .5s var(--ease),height .5s var(--ease)}
.spiral-pipe-ring::before{content:"";position:absolute;inset:-20px;border:2px solid #606b76;border-radius:50%;box-shadow:0 0 0 5px #171e26,inset 0 0 0 5px #161e27;pointer-events:none}
.spiral-bore-label{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#142746}
.spiral-bore-label span,.spiral-bore-label strong{background:#f7fafc;padding-inline:4px}
.spiral-bore-label span{font-size:8px;font-weight:650;letter-spacing:.035em}
.spiral-bore-label strong{font-size:30px;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.spiral-id-arrow{position:absolute;left:1%;top:calc(50% - 6px);width:98%;height:12px;overflow:visible;fill:none;stroke:#274da1;stroke-width:1.3;vector-effect:non-scaling-stroke}
.spiral-diameter-figure figcaption{text-align:center;font-size:11px;line-height:1.6;color:#627083;margin-top:10px}
.spiral-controls label,.gate-picker label{display:block;font-size:12px;font-weight:650;letter-spacing:.04em;margin-bottom:12px}
.spiral-controls select,.gate-picker select{appearance:none;width:100%;height:52px;border:1px solid #c9d0da;border-radius:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%231b304e' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 15px center;padding:13px 40px 13px 15px;font:inherit;color:var(--ink);margin-bottom:20px}
.spiral-controls input[type="range"]{width:100%;min-height:44px;accent-color:var(--deep)}
.spiral-range-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:28px}
.spiral-class-options,.gate-types{display:flex;gap:10px;flex-wrap:wrap}
.spiral-class-options button,.gate-types button{padding:14px 18px;min-height:48px;background:#fff;border:1px solid #c9d0da;border-radius:12px;color:var(--ink);font:inherit;cursor:pointer}
.spiral-class-options button{flex:1}
.spiral-class-options button[aria-pressed="true"],.gate-types button[aria-pressed="true"]{background:var(--deep);border-color:var(--deep);color:#fff}
.spiral-result{padding:38px;background:var(--spiral-ink);color:#fff}
.spiral-selected-label{font-size:12px;letter-spacing:.08em;color:#d1d8e3;text-transform:uppercase}
.spiral-selected-id{font-size:clamp(48px,7vw,82px);font-weight:650;letter-spacing:-.06em;line-height:1.15;margin:12px 0 8px}
.spiral-selected-id span:last-child{font-size:24px;letter-spacing:0;font-weight:450;margin-left:10px}
.spiral-class-label{color:#e4bb78;font-size:16px}
.spiral-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}
.spiral-values div{border-top:1px solid #46505e;padding-top:14px}
.spiral-values dt{font-size:12px;color:#d1d8e3;margin-bottom:5px}
.spiral-values dd{font-size:22px;font-weight:550;margin:0}
.spiral-status{font-size:14px;line-height:1.65;margin-top:25px;color:#e0e6ee;min-height:48px}
.spiral-result.unlisted .spiral-status{color:#ffe0a4}
.spiral-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:24px}
.spiral-actions .text-button{padding:12px 0}
.spiral-copy-feedback{margin-top:12px;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.spiral-unit-note{padding:20px 24px;border-left:3px solid var(--spiral-gold);background:#faf6ef;margin:28px 0;color:#4f4536;font-size:14px;line-height:1.7}
.spiral-table{margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.spiral-table summary{padding:20px 24px;cursor:pointer;font-weight:600;min-height:58px}
.spiral-table .table-scroll{overflow:auto;max-width:100%;border-radius:0}
.spiral-table table{border-collapse:collapse;width:100%;min-width:700px;font-size:13px;font-variant-numeric:tabular-nums}
.spiral-table caption{text-align:left;white-space:normal;padding:14px 20px;color:var(--muted);font-size:12px}
.spiral-table td,.spiral-table th{text-align:left;white-space:nowrap;padding:13px 15px;border-bottom:1px solid var(--line)}
.spiral-table thead{background:var(--paper)}
.spiral-table .is-selected{background:#edf3ff}
.spiral-table tbody th{font-weight:600}
.spiral-table .table-note{padding:12px 20px;color:var(--muted);font-size:12px}
.spiral-installation{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:48px}
.spiral-installation figure,.gate-illustration{margin:0}
.spiral-installation img{width:100%;height:auto;border-radius:24px;display:block}
.spiral-installation figcaption,.gate-illustration figcaption{font-size:12px;color:var(--muted);padding-top:12px;line-height:1.6}
.spiral-installation h2{font-size:clamp(30px,4vw,48px);line-height:1.1;letter-spacing:-.04em;margin-bottom:22px}
.spiral-installation p{color:var(--muted);line-height:1.8}
.spiral-installation ul{padding-left:20px;line-height:1.8;margin:22px 0}
.gate-intro{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;margin:35px 0}
.gate-intro img{width:100%;height:auto;border-radius:24px;display:block}
.gate-intro h3{font-size:28px;letter-spacing:-.03em;line-height:1.2;margin-bottom:18px}
.gate-intro p{line-height:1.8;color:var(--muted)}
.gate-types{margin:28px 0}
.gate-explorer{display:grid;grid-template-columns:1fr 1.15fr;border:1px solid var(--line);border-radius:25px;overflow:hidden}
.gate-illustration{padding:28px;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
.gate-illustration img{display:block;width:100%;height:310px;object-fit:contain}
.gate-picker{padding:32px}
.gate-picker h3{font-size:28px;letter-spacing:-.03em;margin-bottom:18px}
.gate-dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.gate-dimensions div{border-top:1px solid var(--line);padding-top:10px}
.gate-dimensions dt{font-size:12px;color:var(--muted)}
.gate-dimensions dd{margin:5px 0 0;font-size:15px;font-weight:600}
.gate-status{font-size:13px;color:var(--muted);line-height:1.6;margin-top:20px}
.spiral-section .technical-note{margin-top:22px}
body[data-product="hdpe-spiral"] .brochure-section{margin-top:50px}
body[data-product="hdpe-spiral"] .pdf-object{background:#171c24;color:#f4eee2;border-color:#ae8138}
body[data-product="hdpe-spiral"] :focus-visible{outline:3px solid #367af6;outline-offset:4px}
@media(max-width:900px){.spiral-explorer,.gate-explorer{grid-template-columns:1fr}.spiral-installation,.gate-intro{gap:28px}.gate-illustration img{height:280px}}
@media(max-width:760px){body[data-product="hdpe-spiral"] .hero{padding-top:42px}.spiral-section{padding-top:52px;padding-bottom:52px}.spiral-controls,.spiral-result,.gate-picker{padding:25px}.spiral-installation,.gate-intro{grid-template-columns:1fr}.spiral-selected-id{font-size:60px}.spiral-values{gap:18px}.spiral-values dd{font-size:20px}.gate-types button{flex:1 1 130px;font-size:14px}.gate-illustration{padding:22px}.gate-dimensions{gap:13px}.spiral-unit-note{padding:18px}.spiral-table summary{padding:18px}.spiral-actions{align-items:stretch;gap:10px}.spiral-actions .button{justify-content:center}.spiral-installation{gap:26px}}
@media(prefers-reduced-motion:reduce){body[data-product="hdpe-spiral"] *{scroll-behavior:auto!important}.spiral-pipe-ring{transition:none}}
@media print{.spiral-controls,.gate-types,.gate-picker select,.spiral-actions{display:none}.spiral-result{color:#111;background:#fff}.spiral-values dt,.spiral-status,.spiral-class-label{color:#333}.gate-explorer,.spiral-explorer{display:block}.spiral-table{overflow:visible}}
