/* Procedure landing pages share the catalogue's PT Sans and heading sizes.
   Load after readability.css and media.css. Clean sections use the full block. */
.cu-procedure-landing{font-family:var(--cu-font);font-size:18px;line-height:1.75;color:var(--cu-ink);padding-bottom:64px;overflow-wrap:break-word}
.cu-procedure-landing *{box-sizing:border-box}
.cu-procedure-landing :is(section,figure)[id]{scroll-margin-top:120px}
.cu-procedure-landing p{margin:0 0 22px}
.cu-procedure-landing a{touch-action:manipulation}
.cu-procedure-landing :is(a,button,summary):focus-visible{outline:3px solid var(--cu-coral);outline-offset:5px}
.cu-procedure-landing .cu-eyebrow{font-size:14px;line-height:1.6;margin:0 0 16px}
.cu-procedure-hero{padding-top:14px;padding-bottom:36px}
.cu-procedure-banner{position:relative;isolation:isolate;overflow:hidden;border:1px solid #dae8e0;border-radius:20px;background:#edf5f1;min-height:560px}
.cu-procedure-banner::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#f7fbf9 0%,rgba(247,251,249,.98) 48%,rgba(247,251,249,.96) 59%,rgba(247,251,249,.48) 72%,rgba(247,251,249,0) 85%)}
.cu-procedure-banner::after{mask-image:linear-gradient(90deg,#000 63%,transparent 73%),linear-gradient(180deg,#000 72%,transparent 86%);mask-composite:add}
.cu-procedure-hero-copy{position:relative;z-index:2;min-width:0;width:61%;padding:44px 42px;overflow-wrap:anywhere}
.cu-procedure-hero--text .cu-procedure-banner{min-height:0}
.cu-procedure-hero--text .cu-procedure-hero-copy{width:100%;max-width:1020px}
.cu-procedure-hero h1{font-size:clamp(32px,4vw,58px);line-height:1.13;font-weight:500;letter-spacing:-1.6px;margin:0 0 25px}
.cu-procedure-lead{font-size:20px;line-height:1.7;color:#49686a;max-width:40em}
.cu-procedure-hero-price{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 20px;border-top:1px solid #d8e5df;border-bottom:1px solid #d8e5df;padding:20px 0;margin-top:26px;max-width:620px}
.cu-procedure-price-label{display:block;font-size:14px;line-height:1.6;color:#5a7775}
.cu-procedure-price-name{display:block;font-size:16px;line-height:1.5;margin-top:3px;color:var(--cu-deep)}
.cu-procedure-hero-price>strong{font-size:27px;font-weight:700;line-height:1.3;color:var(--cu-teal);text-align:right;overflow-wrap:normal}
.cu-procedure-hero-price>.cu-procedure-price-request{font-size:21px;max-width:13em}
.cu-procedure-hero-price>a{grid-column:1/-1;justify-self:start;font-size:15px;line-height:1.5;color:var(--cu-teal);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#abc9bf}
.cu-procedure-hero-price>a span{display:inline-block;margin-left:6px}
@media(max-width:520px){
  .cu-procedure-hero-price{grid-template-columns:1fr}
  .cu-procedure-hero-price>strong{text-align:left;white-space:nowrap;max-width:100%}
}
.cu-procedure-actions{display:flex;flex-wrap:wrap;gap:18px 25px;align-items:center;margin:25px 0 16px}
.cu-site .cu-procedure-actions .cu-button,.cu-site .cu-procedure-closing-actions .cu-button,.cu-site .cu-procedure-cost-request .cu-button{font-size:16px;line-height:1.5;min-height:52px;max-width:100%;white-space:normal;text-align:center;justify-content:center}
.cu-procedure-expert-line{font-size:16px;line-height:1.65;color:#56716f;margin:0!important;max-width:40em}
.cu-procedure-expert-line a{color:var(--cu-teal);text-decoration:underline;text-decoration-color:#b5cdc4;text-underline-offset:4px}
.cu-procedure-expert-line>span{display:block;font-size:14px;margin-top:4px}
.cu-site .cu-procedure-landing .cu-procedure-hero-media{position:absolute;inset:0;z-index:0;margin:0;padding:0;min-width:0;border:0;pointer-events:none}
.cu-site .cu-procedure-landing .cu-procedure-hero-media>img{display:block;width:100%;height:100%;max-width:100%;margin:0;border:0;border-radius:0;object-fit:contain;object-position:right bottom}
.cu-procedure-nav{border-block:1px solid #dce7e1;background:#f6faf7}
.cu-procedure-nav>.cu-wrap{display:flex;flex-wrap:wrap;gap:10px 28px;padding-block:17px}
.cu-procedure-nav a{display:inline-flex;align-items:center;gap:13px;font-size:16px;line-height:1.5;color:var(--cu-teal);padding:7px 0;text-decoration:none}
.cu-procedure-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.cu-procedure-nav a>span{font-size:17px;color:#709c93}
.cu-procedure-section{padding-block:58px}
.cu-procedure-section--pale{background:#f0f6f3;border-block:1px solid #e0ebe5}
.cu-procedure-section-heading{margin-bottom:30px;max-width:840px}
.cu-procedure-section-heading h2,.cu-procedure-closing h2{font-size:clamp(27px,2.9vw,38px);line-height:1.25;font-weight:500;margin:0 0 19px;letter-spacing:0}
.cu-procedure-section-heading>p:not(.cu-eyebrow){font-size:18px;line-height:1.75;color:#526f6c;max-width:65ch;margin-bottom:0}
.cu-procedure-section-heading--split{display:flex;align-items:end;justify-content:space-between;gap:44px;max-width:none}
.cu-procedure-section-heading--split>div{min-width:0}
.cu-procedure-section-heading--split>div h2{margin-bottom:0}
.cu-procedure-section-heading--split>p{font-size:16px;line-height:1.7;max-width:35em;flex-basis:47%;margin:0 0 3px}
.cu-procedure-reading{padding-block:58px 64px;background:#fff}
.cu-site .cu-procedure-body{width:100%;max-width:none;margin:0;padding:0;font-size:18px;line-height:1.75;color:#294c47;overflow-wrap:break-word;word-break:normal;--cu-reading-measure:100%}
.cu-site .cu-procedure-body .cu-procedure-copy-section{display:block;max-width:100%;margin:0;padding:0;min-width:0;border:0;background:transparent}
.cu-site .cu-procedure-body .cu-procedure-copy-section+.cu-procedure-copy-section{margin-top:34px;padding-top:30px;border-top:1px solid #dce7df}
.cu-site .cu-procedure-body .cu-procedure-copy-section:nth-of-type(2){padding:28px 30px;background:#f2f7f3;border:1px solid #e0eae2;border-radius:12px}
.cu-site .cu-procedure-body :is(p,ul,ol,dl,table,.cu-richtext){max-width:none}
.cu-site .cu-procedure-body :is(p,li,dt,dd){font-size:18px;line-height:1.75;max-width:100%}
.cu-site .cu-procedure-body p{margin:0 0 20px}
.cu-site .cu-procedure-body :is(h2,h3){max-width:100%;color:var(--cu-deep);text-wrap:pretty}
.cu-site .cu-procedure-body h2{font-size:clamp(27px,2.9vw,38px);line-height:1.25;font-weight:500;letter-spacing:0;margin:0 0 23px}
.cu-site .cu-procedure-body h3{font-size:24px;line-height:1.35;font-weight:600;letter-spacing:0;margin:28px 0 16px}
.cu-site .cu-procedure-body :is(h2,h3)+:is(p,ul,ol){margin-top:0}
.cu-site .cu-procedure-body :is(ul,ol){max-width:100%;padding-left:1.35em;margin:20px 0 24px}
.cu-site .cu-procedure-body li{padding-left:.2em;margin:9px 0}
.cu-site .cu-procedure-body li::marker{color:#548177}
.cu-site .cu-procedure-body li>p{margin:0 0 9px}
.cu-site .cu-procedure-body :is(li,td) :is(h2,h3){display:inline;font-size:inherit;line-height:inherit;font-weight:600;margin:0}
.cu-site .cu-procedure-body strong{font-weight:700;color:#244b44}
.cu-site .cu-procedure-body :is(p,ul,ol,dl,figure,table):last-child{margin-bottom:0}
.cu-site .cu-procedure-body dl{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:13px 25px;margin:24px 0}
.cu-site .cu-procedure-body dt{font-weight:700;margin:0;color:#365d52}
.cu-site .cu-procedure-body dd{margin:0}
.cu-site .cu-procedure-body .cu-procedure-note{padding:20px 23px;background:#edf5f0;border-left:3px solid #8bb4a2;border-radius:0 8px 8px 0;margin:26px 0}
.cu-site .cu-procedure-body .cu-procedure-copy-section:nth-of-type(2) .cu-procedure-note{background:#fff}
.cu-site .cu-procedure-body table{display:table;width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;font-size:17px;line-height:1.65;margin:27px 0;background:white}
.cu-site .cu-procedure-body :is(th,td){min-width:0;padding:15px 17px;vertical-align:top;border:1px solid #d6e4da;overflow-wrap:anywhere;word-break:normal;text-align:left}
.cu-site .cu-procedure-body th{font-weight:700;color:#285a4a;background:#eaf3ec}
.cu-site .cu-procedure-body td{color:#35574e}
.cu-site .cu-procedure-body table tr:nth-child(even) td{background:#f7faf7}
.cu-site .cu-procedure-body caption{font-size:16px;font-weight:600;line-height:1.6;text-align:left;color:#4d7062;padding-bottom:13px;caption-side:top}
.cu-site .cu-procedure-body :is(th,td) p{font-size:inherit;line-height:inherit;margin:0 0 10px}
.cu-site .cu-procedure-body .cu-table-wrap{max-width:100%;margin:27px 0;overflow:auto;overscroll-behavior-inline:contain}
.cu-site .cu-procedure-body .cu-table-wrap table{margin:0;table-layout:auto}
.cu-site .cu-procedure-body figure{max-width:100%;margin:28px 0}
.cu-site .cu-procedure-body figure img{display:block;width:100%;height:auto;max-width:100%;max-height:560px;object-fit:contain;margin:0 auto}
.cu-site .cu-procedure-body figcaption{font-size:15px;line-height:1.6;color:#5b786b;margin-top:12px}
.cu-site .cu-procedure-landing .cu-procedure-price{padding:27px 30px;background:#fff;border:1px solid #d4e3da;border-radius:13px;margin:0}
.cu-site .cu-procedure-landing .cu-procedure-price>.cu-eyebrow{font-size:14px;margin-bottom:10px}
.cu-site .cu-procedure-landing .cu-procedure-price-row{grid-template-columns:minmax(0,1fr) minmax(100px,auto) auto;padding-block:22px;gap:24px;border-color:#dfebe4}
.cu-site .cu-procedure-landing .cu-procedure-price-row>span{font-size:18px;line-height:1.6}
.cu-site .cu-procedure-landing .cu-procedure-price-row>strong{font-size:23px;line-height:1.5;text-align:right;white-space:normal}
.cu-site .cu-procedure-landing .cu-procedure-price-row>button{font-size:16px;line-height:1.5;padding:11px 19px;min-height:46px;background:#eff6f1;border-color:#bad3c7}
.cu-site .cu-procedure-landing .cu-procedure-price-row>button:hover{background:var(--cu-teal);color:white;border-color:var(--cu-teal)}
.cu-site .cu-procedure-landing .cu-procedure-price .cu-form-note{font-size:14px!important;line-height:1.65;max-width:75ch;margin:22px 0 0;color:#56756c}
.cu-procedure-full-price{margin-top:24px}
.cu-procedure-cost-request{display:flex;justify-content:space-between;align-items:center;gap:36px;background:white;border:1px solid #d4e3da;border-radius:13px;padding:30px}
.cu-procedure-cost-request>div{max-width:42em}
.cu-procedure-cost-request strong{display:block;font-size:23px;line-height:1.45;font-weight:600;color:var(--cu-teal);margin-bottom:12px}
.cu-procedure-cost-request p{font-size:18px;line-height:1.75;margin:0;color:#526f6c}
.cu-procedure-cost-request>.cu-button{flex:none}
.cu-site .cu-procedure-photos .cu-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:26px;margin:0}
.cu-site .cu-procedure-photos .cu-gallery figure{margin:0;min-width:0;padding:18px;border:1px solid #d8e5de;border-radius:12px;background:#f7faf8}
.cu-site .cu-procedure-landing .cu-procedure-photos .cu-gallery figure>a{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);place-items:center;min-width:0;min-height:0;height:280px;width:100%;max-width:100%}
.cu-site .cu-procedure-landing .cu-procedure-photos .cu-gallery img{min-width:0;min-height:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border:0;border-radius:7px;margin:0 auto}
.cu-site .cu-procedure-photos .cu-gallery figcaption{max-width:none;margin:17px 0 0;font-size:15px;line-height:1.65;color:#506e67}
.cu-procedure-photos+.cu-procedure-expert{padding-top:0}
.cu-site .cu-procedure-expert .cu-expert-card{margin:0;box-shadow:none;background:white;border-color:#d8e5df}
.cu-procedure-faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.cu-procedure-faq-layout .cu-procedure-section-heading{margin:0}
.cu-procedure-faq-layout .cu-procedure-section-heading>.cu-text-link{margin-top:24px}
.cu-procedure-faq{min-width:0}
.cu-procedure-faq details{border:1px solid #d5e4db;border-radius:10px;background:white;margin:0 0 13px;overflow:hidden}
.cu-procedure-faq details:last-child{margin-bottom:0}
.cu-procedure-faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 24px;cursor:pointer;list-style:none;color:var(--cu-deep);font-size:19px;line-height:1.55;font-weight:600;min-height:72px}
.cu-procedure-faq summary::-webkit-details-marker{display:none}
.cu-procedure-faq summary:focus-visible{outline-offset:-4px}
.cu-procedure-faq summary::after{content:"+";flex:none;font-size:27px;font-weight:400;line-height:1;color:#679589}
.cu-procedure-faq details[open]>summary{border-bottom:1px solid #e3ece7;background:#fbfdfb}
.cu-procedure-faq details[open]>summary::after{content:"-"}
.cu-procedure-faq details>div{padding:23px 24px 25px}
.cu-procedure-faq details p{font-size:18px;line-height:1.75;max-width:67ch;color:#486963;margin:0}
.cu-procedure-closing{padding-block:48px;background:var(--cu-deep);color:#fff}
.cu-procedure-closing-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:60px}
.cu-procedure-closing-inner>div:first-child{max-width:45em}
.cu-procedure-closing .cu-eyebrow{color:#bfd9cf}
.cu-procedure-closing h2{color:white;max-width:21em}
.cu-procedure-closing p:not(.cu-eyebrow){font-size:18px;line-height:1.75;color:#d1e2da;max-width:61ch;margin:0}
.cu-procedure-closing-actions{display:flex;flex-direction:column;align-items:center;gap:21px;min-width:240px}
.cu-procedure-closing-actions>.cu-button{width:100%}
.cu-procedure-closing-actions>a:not(.cu-button){font-size:21px;line-height:1.5;color:white;text-decoration:none}
.cu-procedure-closing-actions>a:not(.cu-button):hover{text-decoration:underline;text-underline-offset:4px}
/* On small screens, a comparison reads as a sequence of labelled rows. */
@media(max-width:580px){
  .cu-site .cu-procedure-body table{display:block;border:1px solid #d6e4da;border-radius:8px;overflow:hidden}
  .cu-site .cu-procedure-body table caption{display:block;padding:12px;background:#eaf3ec}
  .cu-site .cu-procedure-body table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .cu-site .cu-procedure-body table tbody,.cu-site .cu-procedure-body table tbody tr{display:block;width:100%}
  .cu-site .cu-procedure-body table tbody tr{padding:15px}
  .cu-site .cu-procedure-body table tbody tr+tr{border-top:1px solid #d6e4da}
  .cu-site .cu-procedure-body table tbody :is(td,th){display:block;width:100%;padding:0;border:0;background:transparent!important;overflow-wrap:break-word}
  .cu-site .cu-procedure-body table tbody :is(td,th):first-child{font-weight:700;color:#285a4a;margin-bottom:7px}
  .cu-site .cu-procedure-body table tbody tr:nth-child(even){background:#f7faf7}
}
.cu-procedure-related{padding-top:42px}
.cu-site .cu-procedure-related .cu-related{margin:0}
@media(max-width:1100px){
  .cu-procedure-hero-copy{width:66%;padding:36px 30px}
  .cu-procedure-banner::after{background:linear-gradient(90deg,#f7fbf9 0%,rgba(247,251,249,.98) 54%,rgba(247,251,249,.96) 64%,rgba(247,251,249,.4) 80%,rgba(247,251,249,0) 94%)}
  .cu-procedure-hero-price{gap:10px 15px}
  .cu-procedure-hero-price>strong{font-size:25px}
  .cu-procedure-faq-layout{gap:38px;grid-template-columns:.85fr 1.15fr}
  .cu-procedure-closing-inner{gap:35px}
}
@media(max-width:760px){
  .cu-procedure-landing{font-size:17px;padding-bottom:42px}
  .cu-procedure-landing :is(section,figure)[id]{scroll-margin-top:26px}
  .cu-procedure-hero{padding-top:4px;padding-bottom:28px}
  .cu-procedure-banner{display:flex;flex-direction:column;min-height:0;border-radius:16px}
  .cu-procedure-banner::after{display:none}
  .cu-procedure-hero-copy{width:100%;padding:30px 24px;margin-top:-1px;background:#f7fbf9}
  .cu-procedure-hero h1{letter-spacing:-.6px;margin-bottom:20px}
  .cu-procedure-lead{font-size:18px;line-height:1.7}
  .cu-procedure-hero-price{margin-top:22px;padding-block:17px;gap:10px 14px;max-width:none}
  .cu-procedure-hero-price>strong{font-size:24px}
  .cu-procedure-hero-price>.cu-procedure-price-request{font-size:19px}
  .cu-procedure-price-name{font-size:16px}
  .cu-procedure-actions{gap:17px 24px;margin-top:22px}
  .cu-procedure-expert-line{font-size:15px}
  .cu-site .cu-procedure-landing .cu-procedure-hero-media{position:relative;inset:auto;width:100%;aspect-ratio:3/2;flex:none}
  .cu-site .cu-procedure-landing .cu-procedure-hero-media>img{width:100%;height:100%;object-fit:contain;object-position:center}
  .cu-procedure-nav>.cu-wrap{gap:5px 19px;padding-block:13px}
  .cu-procedure-nav a{font-size:15px;gap:8px;padding-block:8px}
  .cu-procedure-section{padding-block:38px}
  .cu-procedure-section-heading{margin-bottom:24px}
  .cu-procedure-section-heading h2,.cu-procedure-closing h2{font-size:27px}
  .cu-procedure-section-heading>p:not(.cu-eyebrow){font-size:17px}
  .cu-procedure-section-heading--split{display:block}
  .cu-procedure-section-heading--split>p{font-size:16px;margin-top:17px}
  .cu-procedure-reading{padding-block:36px 42px}
  .cu-site .cu-procedure-body .cu-procedure-copy-section+.cu-procedure-copy-section{margin-top:32px;padding-top:28px}
  .cu-site .cu-procedure-body .cu-procedure-copy-section:nth-of-type(2){padding:22px 20px}
  .cu-site .cu-procedure-body h2{font-size:27px;margin-bottom:19px}
  .cu-site .cu-procedure-body h3{font-size:21px;margin-top:24px}
  .cu-site .cu-procedure-body dl{grid-template-columns:1fr;gap:5px;margin-block:22px}
  .cu-site .cu-procedure-body dd+dt{margin-top:14px}
  .cu-site .cu-procedure-body :is(th,td){padding:12px;font-size:16px}
  .cu-site .cu-procedure-body .cu-procedure-note{padding:18px 20px}
  .cu-site .cu-procedure-landing .cu-procedure-price{padding:21px 20px}
  .cu-site .cu-procedure-landing .cu-procedure-price-row{grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;padding-block:21px}
  .cu-site .cu-procedure-landing .cu-procedure-price-row>span{grid-column:1/-1;font-size:17px}
  .cu-site .cu-procedure-landing .cu-procedure-price-row>strong{grid-column:1;text-align:left;font-size:21px}
  .cu-site .cu-procedure-landing .cu-procedure-price-row>button{grid-column:2;font-size:16px;padding:10px 14px;white-space:normal}
  .cu-procedure-full-price{margin-top:21px}
  .cu-procedure-cost-request{display:block;padding:25px 22px}
  .cu-procedure-cost-request strong{font-size:21px}
  .cu-procedure-cost-request p{font-size:17px}
  .cu-procedure-cost-request>.cu-button{margin-top:23px}
  .cu-site .cu-procedure-photos .cu-gallery{grid-template-columns:1fr;gap:20px}
  .cu-site .cu-procedure-photos .cu-gallery figure{padding:17px}
  .cu-site .cu-procedure-landing .cu-procedure-photos .cu-gallery figure>a{height:clamp(180px,65vw,300px)}
  .cu-procedure-faq-layout{grid-template-columns:1fr;gap:28px}
  .cu-procedure-faq summary{font-size:18px;padding:20px;gap:18px}
  .cu-procedure-faq details>div{padding:20px}
  .cu-procedure-faq details p{font-size:17px}
  .cu-procedure-closing{padding-block:35px}
  .cu-procedure-closing-inner{grid-template-columns:1fr;gap:25px}
  .cu-procedure-closing p:not(.cu-eyebrow){font-size:17px}
  .cu-procedure-closing-actions{align-items:flex-start;min-width:0}
  .cu-procedure-closing-actions>.cu-button{width:auto;min-width:240px}
  .cu-procedure-related{padding-top:30px}
}
@media(max-width:420px){
  .cu-procedure-hero-copy{padding:26px 20px}
  .cu-procedure-hero h1{font-size:clamp(27px,7.9vw,32px);line-height:1.2}
  .cu-procedure-actions>.cu-button{width:100%;padding-inline:16px;gap:16px}
  .cu-procedure-hero-price{grid-template-columns:minmax(0,1fr);gap:8px 12px}
  .cu-procedure-hero-price>strong{text-align:left;font-size:23px}
  .cu-procedure-hero-price>.cu-procedure-price-request{max-width:none;font-size:18px}
  .cu-procedure-hero-price>a{margin-top:2px}
  .cu-site .cu-procedure-landing .cu-procedure-price-row{grid-template-columns:1fr}
  .cu-site .cu-procedure-landing .cu-procedure-price-row>strong,.cu-site .cu-procedure-landing .cu-procedure-price-row>button{grid-column:1;justify-self:start}
  .cu-procedure-closing-actions>.cu-button{width:100%;min-width:0}
}
@media print{.cu-procedure-banner{min-height:0;border:0;overflow:visible}.cu-procedure-banner::after,.cu-site .cu-procedure-landing .cu-procedure-hero-media{display:none}.cu-procedure-hero-copy{width:100%;padding:0;background:white}}
