/* Yarn portfolio */
.portfolio-intro h1,.quote-intro h1{max-width:1050px}.portfolio-intro h1 em,.quote-intro h1 em{font:inherit;color:var(--muted)}.portfolio-edition{float:right;font-variant-numeric:tabular-nums;color:var(--muted)}.portfolio-intro-bottom{display:flex;align-items:end;justify-content:space-between;gap:48px}.portfolio-intro-bottom .lead{max-width:600px}.portfolio-intro-bottom .text-link{flex-shrink:0;margin-bottom:10px}.portfolio-number{font-size:12px;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--accent)}
.spinning-section{background:var(--navy);color:var(--white)}.spinning-section .eyebrow{color:#d7b777}.spinning-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:60px}.spinning-head h2{color:var(--white)}.spinning-head .prose{align-self:end;color:#b8c5d3;max-width:580px}.spinning-head .prose p+p{font-size:14px;line-height:1.7;margin-top:16px}.spinning-scale{display:flex;justify-content:space-between;margin-left:27%;width:49%;font-size:11px;color:#9badbf;font-variant-numeric:tabular-nums;margin-bottom:14px}.spinning-row{display:grid;grid-template-columns:24% 52% 24%;align-items:start;border-top:1px solid #ffffff29;padding:29px 0;gap:0}.spinning-row:last-child{border-bottom:1px solid #ffffff29}.spinning-name{display:flex;align-items:baseline;gap:20px;padding-right:25px}.spinning-name h3{font-size:27px;font-weight:500;margin:0;color:var(--white)}.spinning-name .portfolio-number{color:#d7b777}.spinning-detail{padding:0 6%}.spinning-detail p{color:#b8c5d3;font-size:14px;line-height:1.65;max-width:620px;margin:16px 0 0}.spinning-range strong{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums;display:block;margin-top:12px}.range-track{display:block;position:relative;height:3px;background:#ffffff18;margin-top:10px}.range-track i{display:block;position:absolute;background:#cfad6a;height:3px}.range-track i:before,.range-track i:after{content:'';position:absolute;width:5px;height:9px;top:-3px;background:#cfad6a}.range-track i:before{left:0}.range-track i:after{right:0}.spinning-row>.text-link{justify-self:end;font-size:13px;margin-top:3px;color:#fff}
.fibre-section{scroll-margin-top:100px}.fibre-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:70px;margin-bottom:40px}.fibre-heading>p{color:var(--muted);max-width:480px;line-height:1.7}.fibre-controls{display:grid;grid-template-columns:1.2fr 1fr auto;gap:24px;align-items:end;padding:28px 0;border-top:1px solid var(--line)}.fibre-controls label{display:block;font-size:12px;margin-bottom:10px;font-weight:600}.fibre-controls input,.fibre-controls select{width:100%;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:0;height:52px;padding:0 16px;font:inherit;font-size:15px}.fibre-controls input:focus,.fibre-controls select:focus{outline:2px solid var(--accent);outline-offset:2px}.fibre-reset,.quote-reset{font:inherit;border:0;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:5px;padding:14px 0;cursor:pointer;font-size:14px}.fibre-filters{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:24px}.fibre-filters button{display:flex;align-items:center;gap:14px;padding:11px 15px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:11px;letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s}.fibre-filters button span{opacity:.65;font-size:10px}.fibre-filters button[aria-pressed=true]{background:var(--navy);color:var(--white);border-color:var(--navy)}.fibre-filters button:hover{border-color:var(--navy)}.fibre-result-head{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:17px;font-size:12px;color:var(--muted)}.fibre-result-count{color:var(--ink);font-variant-numeric:tabular-nums;margin:0}.fibre-group{display:grid;grid-template-columns:24% 76%;padding:30px 0;border-bottom:1px solid var(--line)}.fibre-group-label{display:flex;gap:20px;align-items:baseline;padding-right:25px}.fibre-group-label h3{font-size:11px;letter-spacing:.1em;line-height:1.7;font-weight:600;margin:0}.fibre-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none!important;gap:0 40px;margin:0!important;padding:0!important}.fibre-items li{min-width:0}.fibre-items a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:9px 0;text-decoration:none;font-size:16px;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.fibre-items a>span:nth-child(2){color:var(--muted);font-size:14px}.fibre-items a:hover{color:var(--accent);border-color:var(--line)}.fibre-empty{padding:52px 0;max-width:640px}.fibre-empty h3{font-size:28px;margin-bottom:14px}.fibre-empty p{color:var(--muted);margin-bottom:20px}.fibre-disclaimer{font-size:12px!important;line-height:1.8;color:var(--muted);max-width:850px;margin-top:24px!important}.core-portfolio{background:var(--surface)}.core-portfolio .split{align-items:start}.core-portfolio .prose{max-width:380px;margin-top:24px}.portfolio-accordion{border-top:1px solid var(--line)}.portfolio-accordion:last-child{border-bottom:1px solid var(--line)}.portfolio-accordion summary{display:flex;gap:18px;align-items:baseline;cursor:pointer;list-style:none;padding:26px 0;font-size:22px;line-height:1.35}.portfolio-accordion summary::-webkit-details-marker{display:none}.portfolio-accordion summary>span:first-child{flex:1}.portfolio-accordion summary>.accordion-sign{flex:0 0 18px}.portfolio-accordion .accordion-sign{font-size:22px;font-weight:400;color:var(--muted);width:16px}.portfolio-accordion[open] .accordion-sign{transform:rotate(45deg)}.portfolio-accordion .accordion-content{padding:0 32px 30px}.portfolio-accordion .accordion-content>p{color:var(--muted);margin:20px 0;line-height:1.7}.portfolio-spec{margin:20px 0 24px}.portfolio-spec dt{font-size:10px;letter-spacing:.09em;color:var(--muted);margin-bottom:10px}.portfolio-spec dd{font-size:14px;margin:0;line-height:1.65}.special-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end;margin-bottom:36px}.special-heading .prose{max-width:460px}.special-list{margin-bottom:36px}.special-list article{display:grid;grid-template-columns:44% 56%;gap:0;padding:25px 0;border-top:1px solid var(--line);align-items:baseline}.special-list article:last-child{border-bottom:1px solid var(--line)}.special-list h3{font-size:21px;line-height:1.4;font-weight:500;padding-right:36px;margin:0}.special-list p{color:var(--muted);font-size:15px;line-height:1.7;margin:0;max-width:600px}
/* Specification builder */
.quote-intro .lead{max-width:650px}.quote-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:clamp(50px,8vw,140px)}.quote-aside{padding-top:4px;min-width:0}.quote-email{display:block;font-size:clamp(18px,1.7vw,25px);letter-spacing:-.03em;text-decoration:none;overflow-wrap:anywhere;margin:24px 0 16px}.quote-email span{font-size:17px}.quote-phone{display:block;font-size:18px;text-decoration:none;margin-bottom:20px}.quote-aside>.text-link{font-size:14px}.quote-aside-rule{height:1px;background:var(--line);margin:36px 0}.quote-contact-notes dt{font-size:10px;letter-spacing:.1em;color:var(--muted);margin:25px 0 10px}.quote-contact-notes dd{font-size:14px;line-height:1.8;margin:0;max-width:345px}.quote-next{margin-top:48px;padding:25px;background:var(--surface)}.quote-next .eyebrow{font-size:10px}.quote-next ol{padding-left:18px;margin:20px 0 0}.quote-next li{font-size:13px;line-height:1.7;padding-left:7px;margin:10px 0;color:var(--muted)}.quote-form-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:34px}.quote-form-heading p{font-size:12px;color:var(--muted);margin:0}.quote-form fieldset{border:0;padding:0;margin:0 0 40px;min-width:0}.quote-form legend{display:flex;gap:20px;font-size:20px;padding:0 0 20px;width:100%;border-bottom:1px solid var(--line);margin-bottom:25px}.quote-form legend>span{font-size:12px;font-variant-numeric:tabular-nums;color:var(--accent);align-self:center}.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.quote-field{min-width:0}.quote-field.field-wide{grid-column:1/-1}.quote-field label{display:block;font-size:13px;font-weight:500;margin-bottom:9px;line-height:1.4}.quote-field label>span{color:var(--accent)}.quote-field input,.quote-field select,.quote-field textarea,.quote-copy-fallback textarea{font:inherit;display:block;width:100%;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:0;padding:13px 14px;min-height:50px;font-size:14px;line-height:1.5;box-sizing:border-box}.quote-field input::placeholder,.quote-field textarea::placeholder{color:var(--muted);opacity:1}.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus,.quote-copy-fallback textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.quote-field textarea{resize:vertical}.quote-field [aria-invalid=true]{border-color:#a22e2e}.field-error{display:block;color:#a22e2e;font-size:12px;line-height:1.6;margin-top:6px}.field-error:empty{display:none}.quote-form-error{padding:16px 18px;background:#fff3f0;border:1px solid #a22e2e;color:#862929;font-size:14px;line-height:1.6;margin:0 0 28px}.quote-optional{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:4px}.quote-optional summary{display:flex;align-items:center;gap:12px;padding:22px 0;cursor:pointer;list-style:none;font-size:16px}.quote-optional summary::-webkit-details-marker{display:none}.quote-optional summary .tag{margin-left:auto;font-size:10px}.quote-optional summary>.accordion-sign{font-size:23px;color:var(--muted);margin-left:8px}.quote-optional[open] summary>.accordion-sign{transform:rotate(45deg)}.quote-optional .accordion-content{padding:10px 0 26px}.quote-char-count{display:block;text-align:right;font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);margin-top:7px}.quote-form-actions{padding-top:26px}.quote-form-actions>p{font-size:13px;color:var(--muted);line-height:1.75;max-width:610px;margin:0 0 22px}.quote-action-line{display:flex;align-items:center;justify-content:space-between;gap:20px}.quote-action-line .button{border:0;font:inherit;font-size:14px;cursor:pointer}.quote-form-actions .quote-privacy{margin-top:22px;font-size:11px;line-height:1.75;max-width:560px}.quote-review{border:1px solid var(--line);padding:clamp(24px,3.5vw,48px);scroll-margin-top:120px;background:var(--surface)}.quote-review:focus{outline:none}.quote-review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.quote-review-top button{font:inherit;background:none;border:0;font-size:13px;cursor:pointer}.quote-review h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin-bottom:18px}.quote-review-note{font-size:14px;color:var(--muted);line-height:1.7}.quote-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:13px;line-height:1.7;background:var(--white);padding:24px;border:1px solid var(--line);margin:25px 0;max-height:480px;overflow-y:auto}.quote-share-actions{display:flex;flex-wrap:wrap;gap:12px}.quote-share-actions .button{font-size:13px}.quote-long-note{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:14px;line-height:1.7;margin:0 0 24px}.quote-export-actions{display:flex;flex-wrap:wrap;gap:24px;margin:24px 0 0}.quote-export-actions button{font:inherit;font-size:12px;border:0;background:none;padding:0;cursor:pointer}.quote-copy-status{font-size:12px;color:var(--muted);line-height:1.7;margin-top:20px}.quote-copy-status:empty{display:none}.quote-copy-fallback label{font-size:12px;display:block;margin:20px 0 8px}.quote-copy-fallback textarea{font-size:12px;line-height:1.6}.quote-noscript{padding:24px;background:var(--surface);line-height:1.7}.quote-noscript p{margin-bottom:20px}
[data-fibre-index] [hidden],.quote-section [hidden]{display:none!important}
@media(max-width:1000px){.spinning-row{grid-template-columns:26% 49% 25%}.spinning-name{gap:12px}.spinning-name h3{font-size:23px}.spinning-detail{padding:0 8% 0 0}.spinning-scale{margin-left:26%;width:45%}.spinning-head{gap:40px}.fibre-heading{gap:40px}.quote-layout{grid-template-columns:1fr 1.8fr;gap:45px}.quote-email{font-size:19px}.quote-action-line{flex-wrap:wrap;gap:12px}.quote-aside .quote-next{padding:20px}.portfolio-intro-bottom{gap:25px}.portfolio-accordion summary{font-size:20px}}
@media(max-width:760px){.portfolio-intro-bottom{display:block}.portfolio-intro-bottom .text-link{margin-top:26px}.portfolio-edition{display:none}.spinning-head,.fibre-heading,.special-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.spinning-head .prose{max-width:100%}.spinning-scale{display:none}.spinning-row{grid-template-columns:1fr;gap:20px;padding:26px 0}.spinning-name{gap:20px}.spinning-name h3{font-size:27px}.spinning-detail{padding:0}.spinning-row>.text-link{justify-self:start}.spinning-range{display:flex;flex-direction:column-reverse;gap:12px}.spinning-range strong{margin-top:0}.spinning-detail p{margin-top:22px}.fibre-controls{grid-template-columns:1fr;gap:18px;padding:24px 0}.fibre-reset{justify-self:start;padding:4px 0}.fibre-filters{gap:6px}.fibre-filters button{font-size:10px;padding:10px 11px;gap:8px}.fibre-group{grid-template-columns:1fr;gap:14px;padding:25px 0}.fibre-group-label{gap:16px;padding-right:0}.fibre-items{gap:0 20px}.fibre-items a{font-size:14px;line-height:1.45;align-items:start;padding:12px 0}.fibre-result-head{font-size:10px;align-items:start;gap:20px}.fibre-result-head>span{text-align:right;max-width:170px}.portfolio-accordion .accordion-content{padding-left:30px;padding-right:0}.special-list article{grid-template-columns:1fr;gap:12px 0;padding:24px 0}.special-list h3{font-size:20px;padding-right:0}.special-list p{grid-column:auto}.quote-layout{grid-template-columns:1fr;gap:50px}.quote-aside{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.quote-aside>.eyebrow,.quote-aside>.quote-email,.quote-aside>.quote-phone,.quote-aside>.text-link,.quote-aside-rule{grid-column:1/-1}.quote-email{font-size:25px;margin-top:10px}.quote-phone{font-size:17px}.quote-aside-rule{margin:25px 0 0}.quote-next{margin-top:25px}.quote-contact-notes{margin:0}.quote-form-heading{margin-bottom:25px}.quote-review{scroll-margin-top:100px}.quote-review .button{width:100%;justify-content:center}.quote-builder{min-width:0}}
@media(max-width:480px){.fibre-items{grid-template-columns:1fr}.fibre-items a{font-size:16px}.quote-fields{grid-template-columns:1fr;gap:19px}.quote-aside{display:block}.quote-next{margin-top:25px}.quote-email{font-size:23px}.quote-form legend{font-size:18px}.quote-optional summary{font-size:14px;gap:8px}.quote-optional summary .tag{font-size:9px}.quote-action-line{display:block}.quote-action-line>.button{width:100%;justify-content:center;font-size:13px}.quote-reset{margin-top:12px}.quote-form-heading{align-items:start}.quote-form-heading p{text-align:right;max-width:145px}.quote-summary{padding:18px;font-size:12px}.quote-review{padding:22px}.quote-export-actions{gap:18px}}

.spinning-head .prose p{color:#b8c5d3}.page-intro.portfolio-intro,.page-intro.quote-intro{width:100%}.spinning-section.section{padding-top:75px}.quote-summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:640px){.spinning-section.section{padding-top:46px}}

/* V10: a clear route from specification to the buyer's chosen application. */
.quote-response{background:var(--navy);color:var(--white);padding:clamp(22px,2.7vw,36px);margin-bottom:38px}
.quote-response>span{display:block;font-size:13px;color:var(--white);margin-bottom:16px}
.quote-response>p{font-size:clamp(21px,2.2vw,29px);line-height:1.35;letter-spacing:-.025em;margin:0 0 18px;color:var(--white);text-wrap:balance}
.quote-response>small{display:block;font-size:12px;line-height:1.75;color:var(--white);opacity:.85;max-width:38ch}
.quote-direct h2{font-size:22px;line-height:1.35;margin:0 0 18px}
.quote-direct .quote-email{margin-top:0}
.quote-next h3{font-size:16px;line-height:1.4;margin:0;color:var(--ink);font-weight:500}
.quote-next ol{margin-top:16px}
.quote-stages{display:grid;grid-template-columns:1fr 1fr 1.25fr;list-style:none;margin:0 0 36px;padding:0;gap:20px}
.quote-stages li{display:flex;flex-direction:column;gap:11px;border-top:2px solid var(--line);padding:16px 0 0;min-width:0;color:var(--muted)}
.quote-stages li>span{font-size:12px;font-variant-numeric:tabular-nums;line-height:1}
.quote-stages li>strong{font-size:13px;font-weight:500;line-height:1.45}
.quote-stages li[aria-current=step]{border-color:var(--navy);color:var(--ink)}
.quote-stages li[aria-current=step]>span{font-weight:700}
.quote-stages li.is-complete{border-color:var(--accent)}
.quote-builder{scroll-margin-top:115px}
.quote-send{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.quote-send h3{font-size:20px;line-height:1.4;margin:0 0 8px}
.quote-send>p{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 20px}
.quote-send>.quote-send-status{margin:20px 0 0;padding:15px;background:var(--white);border:1px solid var(--line);font-size:12px;color:var(--ink)}
.quote-send-status:empty{display:none}
@media(max-width:1000px){.quote-stages{gap:12px}.quote-stages li>strong{font-size:12px}.quote-response{padding:22px}.quote-direct .quote-email{font-size:18px}}
@media(max-width:760px){.quote-aside{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.quote-response{margin:0;grid-column:1}.quote-direct{grid-column:2;align-self:center}.quote-contact-notes{grid-column:1}.quote-next{grid-column:2}.quote-aside-rule{margin:26px 0 0}.quote-direct h2{font-size:20px}.quote-response>p{font-size:23px}.quote-direct .quote-email{font-size:20px}.quote-direct .text-link{font-size:14px}.quote-response>span{margin-bottom:12px}.quote-stages{gap:20px}.quote-stages li>strong{font-size:13px}}
@media(max-width:480px){.quote-aside{display:block}.quote-response{margin-bottom:28px}.quote-response>p{font-size:25px;max-width:25ch}.quote-direct .quote-email{font-size:23px}.quote-contact-notes dd{max-width:none}.quote-next{padding:20px;margin-top:22px}.quote-stages{gap:12px;margin-bottom:30px}.quote-stages li>strong{font-size:12px}.quote-stages li{padding-top:13px;gap:9px}.quote-send h3{font-size:18px}.quote-send>.quote-send-status{padding:12px}.quote-builder{scroll-margin-top:100px}}
@media(max-width:760px){.quote-layout{display:flex;flex-direction:column;gap:0}.quote-aside{display:contents}.quote-response{order:0;margin:0}.quote-builder{order:1;margin-top:32px}.quote-direct{order:2;margin-top:48px;align-self:stretch}.quote-aside-rule{order:3;width:100%;flex-shrink:0;margin:28px 0 0}.quote-contact-notes{order:4}.quote-next{order:5;margin-top:25px}}
