/* British Institutes Aversa · listino 2026/27 */
.pricing{background:#f6f8fc;border-top:1px solid var(--line)}
.pricing .section-heading{margin-bottom:32px}
.pricing .section-heading>p{font-size:1rem;max-width:390px}
.pricing .section-heading>p strong{color:var(--blue)}
.payment-guide{display:flex;align-items:center;gap:42px;padding:24px 0 28px;border-top:1px solid var(--line);margin-bottom:8px}
.payment-guide>p{display:flex;flex-direction:column;line-height:1.5}
.payment-guide strong{font-size:1.125rem;letter-spacing:-.025em}
.payment-guide>p:first-child strong{color:var(--red)}
.payment-guide>p>span{font-size:.875rem;color:var(--muted);margin-top:4px}
.payment-guide>a{margin-left:auto}
.pricing-list{display:grid;gap:14px}
.price-group{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;scroll-margin-top:115px}
.price-group>summary{display:flex;align-items:center;gap:22px;padding:27px 30px;min-height:94px;cursor:pointer;list-style:none;transition:background .2s}
.price-group>summary:hover{background:#f5f8ff}
.price-group>summary:focus-visible{outline:3px solid #dd7400;outline-offset:-5px;border-radius:17px}
.price-group>summary::-webkit-details-marker{display:none}
.price-group-number{font-size:.875rem;color:var(--red);font-weight:650;min-width:25px}
.price-group-name{flex:1;min-width:0}
.price-group-name strong{display:block;font-size:1.375rem;line-height:1.25;letter-spacing:-.035em;font-weight:650}
.price-group-name small{display:block;font-size:.875rem;font-weight:400;line-height:1.5;color:var(--muted);margin-top:6px}
.price-group-toggle{width:32px;height:32px;position:relative;border:1px solid #d5def0;border-radius:50%;flex-shrink:0}
.price-group-toggle::before,.price-group-toggle::after{content:'';position:absolute;width:12px;height:2px;left:9px;top:14px;background:var(--blue)}
.price-group-toggle::after{transform:rotate(90deg);transition:transform .2s}
.price-group[open] .price-group-toggle::after{transform:rotate(0)}
.price-group[open]>summary{border-bottom:1px solid var(--line)}
.price-group-content{padding:8px 30px 24px}
.price-table{width:100%;border-collapse:collapse;table-layout:fixed}
.price-table thead th{padding:19px 14px 17px;font-size:.875rem;font-weight:600;text-align:right;line-height:1.4;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.055em}
.price-table thead th:first-child{width:56%;text-align:left;padding-left:0;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400}
.price-table thead th:nth-child(2){color:var(--red)}
.price-table td{padding:18px 14px;text-align:right;vertical-align:middle;border-bottom:1px solid #e7edf6}
.price-table th[scope=row]{text-align:left;vertical-align:middle;border-bottom:1px solid #e7edf6;font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:-.015em;padding:18px 18px 18px 0;overflow-wrap:anywhere}
.price-table th[scope=row] small{display:block;font-size:.875rem;color:var(--muted);font-weight:400;letter-spacing:0;margin-top:3px}
.price-value{font-variant-numeric:tabular-nums;white-space:nowrap;display:block;font-size:1.35rem;line-height:1.35;font-weight:600;letter-spacing:-.035em}
.price-table td small{display:block;font-size:.75rem;line-height:1.6;color:var(--muted);white-space:nowrap}
.price-table td:nth-child(2),.price-table thead th:nth-child(2){background:#fff7f7}
.price-table td:nth-child(2) .price-value{color:var(--red)}
.price-table tbody tr:last-child th,.price-table tbody tr:last-child td{border-bottom:0}
.registration-fee{margin-top:15px;border-radius:10px;background:var(--ice);padding:17px 20px}
.registration-fee p{font-size:.875rem;line-height:1.7}
.registration-fee strong{display:block;font-weight:600;color:var(--ink)}
.registration-fee span{display:block;color:var(--muted);margin-top:4px}
.pricing-note{font-size:.875rem;color:var(--muted);line-height:1.75;margin-top:24px;max-width:920px}
.pricing-note a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;margin-left:4px;white-space:normal}
.pricing-note a:hover{color:var(--red)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.conversation-pricing{margin-top:75px;padding-top:65px;border-top:1px solid #d6e0f0;scroll-margin-top:110px}
.conversation-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:33px}
.conversation-heading h3{font-size:clamp(2.3rem,3.5vw,3.15rem);line-height:1.04;letter-spacing:-.05em;font-weight:750;margin-top:19px}
.conversation-heading>p{font-size:1rem;line-height:1.75;color:var(--muted)}
.conversation-packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.conversation-package{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;padding:33px 34px 30px;position:relative;min-width:0}
.conversation-package:last-child{border-top:4px solid var(--red);padding-top:30px}
.conversation-package-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.conversation-package-top .eyebrow{font-size:.75rem;color:var(--muted);letter-spacing:.1em}
.conversation-rate{font-size:.875rem;line-height:1.5;font-weight:600;text-align:right;color:var(--blue)}
.conversation-rate small{display:block;font-size:.75rem;font-weight:400;color:var(--muted)}
.conversation-package h4{font-size:5.1rem;line-height:1;letter-spacing:-.065em;font-weight:750;margin:25px 0 20px}
.conversation-package h4>span{font-size:1.7rem;font-weight:400;letter-spacing:-.04em;margin-left:9px}
.conversation-package>p{font-size:1rem;color:var(--muted);line-height:1.75;max-width:420px;margin-bottom:27px}
.conversation-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-block:23px;border-block:1px solid var(--line);margin-top:auto}
.conversation-options>div{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.payment-label{font-size:.75rem;font-weight:650;letter-spacing:.1em;margin-bottom:10px}
.conversation-options>div:first-child .payment-label,.conversation-options>div:first-child .price-value{color:var(--red)}
.conversation-options .price-value{font-size:2.2rem;line-height:1.15;letter-spacing:-.045em}
.conversation-options small{font-size:.75rem;line-height:1.8;color:var(--muted);margin-top:3px}
.payment-detail{font-size:.875rem;color:var(--muted);line-height:1.5;margin-top:10px}
.conversation-package>.button{width:100%;margin-top:27px;justify-content:space-between}
.desktop-nav{gap:22px}
@media(max-width:1190px){.desktop-nav{gap:16px}.conversation-package{padding-inline:28px}.price-table thead th:first-child{width:52%}}
@media(max-width:950px){.payment-guide{gap:26px;flex-wrap:wrap}.payment-guide>a{width:100%;margin-left:0}.conversation-heading>p br{display:none}.conversation-heading>p{max-width:270px}.conversation-package{padding-inline:25px}.conversation-package-top{gap:14px}.conversation-rate{text-align:left}.conversation-options{gap:16px}.conversation-options .price-value{font-size:2rem}.conversation-options .payment-detail{font-size:.8125rem}.conversation-package h4{font-size:4.5rem}}
/* A course name gets its own line on phones; payment amounts stay comparable. */
.mobile-payment-label{display:none}
.pricing-instruction{font-size:.875rem;line-height:1.6;color:var(--muted);margin:12px 0 18px}
@media(max-width:680px){
  .pricing .section-heading>p{font-size:1rem}
  .pricing .section-heading>p br{display:none}
  .payment-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-block:20px}
  .payment-guide>p{min-width:0}
  .payment-guide>p>span{font-size:.875rem}
  .payment-guide>a{grid-column:1/-1;min-height:44px;font-size:.9375rem}
  .price-group{scroll-margin-top:110px}
  .price-group>summary{padding:20px 16px;gap:12px;min-height:88px}
  .price-group-number{min-width:18px;font-size:.875rem}
  .price-group-name strong{font-size:1.125rem}
  .price-group-name small{font-size:.875rem}
  .price-group-toggle{width:32px;height:32px}
  .price-group-content{padding:0 16px 18px}
  .price-table,.price-table tbody{display:block}
  .price-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .price-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding-block:20px;border-bottom:1px solid var(--line)}
  .price-table tbody tr:last-child{border:0}
  .price-table th[scope=row]{grid-column:1/-1;padding:0 0 14px;font-size:1rem;border:0;overflow-wrap:normal}
  .price-table th[scope=row] small{font-size:.875rem;margin-top:4px}
  .price-table td{min-width:0;padding:12px;text-align:left;vertical-align:top;border:0;border-radius:10px;background:var(--ice)}
  .price-table td:nth-child(2){background:#fff3f3}
  .mobile-payment-label{display:block;font-size:.875rem;font-weight:600;line-height:1.5;margin-bottom:5px}
  .price-table td:nth-child(2) .mobile-payment-label{color:var(--red)}
  .price-table .price-value{font-size:1.375rem;letter-spacing:-.025em;white-space:normal}
  .price-table td small{font-size:.875rem}
  .registration-fee{padding:16px;margin-top:4px}
  .registration-fee p{font-size:.875rem}
  .pricing-note{font-size:.875rem;line-height:1.7}
  .conversation-pricing{margin-top:36px;padding-top:36px}
  .conversation-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}
  .conversation-heading h3{font-size:clamp(2rem,8.8vw,2.8rem);line-height:1.08}
  .conversation-heading>p{max-width:none;font-size:1rem}
  .conversation-heading>p br{display:none}
  .conversation-packages{grid-template-columns:1fr;gap:18px}
  .conversation-package{padding:24px 20px}
  .conversation-package:last-child{padding-top:21px}
  .conversation-package-top{flex-wrap:wrap;gap:8px 12px}
  .conversation-rate{text-align:left;font-size:.875rem}
  .conversation-package h4{font-size:4rem;margin-block:20px 16px}
  .conversation-package>p{line-height:1.65;margin-bottom:20px}
  .conversation-options{gap:12px;padding-block:18px}
  .conversation-options .price-value{font-size:clamp(1.6rem,7.2vw,2.1rem);white-space:normal}
  .conversation-options .payment-label,.conversation-options small,.conversation-options .payment-detail{font-size:.875rem}
  .conversation-package>.button{margin-top:20px;font-size:1rem;min-height:52px}
}
@media(prefers-reduced-motion:reduce){.price-group>summary,.price-group-toggle::after{transition:none}}
