/* Offer pages: editorial structure, factual copy, euro-only prices. */
.offer-page{max-width:1220px;margin:0 auto;color:var(--ink)}
.offer-page h2{margin:0;font:600 clamp(2rem,3.4vw,3.55rem)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.065em}
.offer-page .eyebrow{margin:0 0 18px;color:var(--brass-dark);font-size:.64rem;letter-spacing:.18em}
.offer-overview{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:8%;align-items:stretch;padding:0 0 90px;border-bottom:1px solid var(--line)}
.offer-overview-main{display:flex;flex-direction:column;justify-content:center;padding:20px 0}
.offer-overview-main h2{max-width:760px;font-size:clamp(2.5rem,4.25vw,4.8rem)}
.offer-overview-main>p:last-child{max-width:650px;margin:28px 0 0;color:#685f56;font-size:1.02rem;line-height:1.8}
.offer-overview-meta{display:flex;flex-direction:column;justify-content:center;padding:35px 40px;background:#eae1d4}
.offer-overview-meta>div{padding:24px 0;border-bottom:1px solid rgba(41,37,33,.18)}
.offer-overview-meta>div:first-child{padding-top:0}
.offer-overview-meta>div:last-child{padding-bottom:0;border-bottom:0}
.offer-overview-meta span{display:block;margin:0 0 10px;color:#796e61;font-size:.64rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.offer-overview-meta strong{display:block;color:var(--ink);font-size:1.05rem;font-weight:600;line-height:1.45}
.offer-overview-price>div:first-child strong{font-size:clamp(2.6rem,3vw,3.5rem);font-weight:600;letter-spacing:-.075em;line-height:1}
.offer-section{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,.58fr);gap:8%;padding:95px 0;border-bottom:1px solid var(--line)}
.offer-section-heading h2{max-width:420px}
.offer-section-heading>p:last-child:not(.eyebrow){max-width:390px;margin:22px 0 0;color:#756b60;font-size:.9rem;line-height:1.7}
.offer-list,.offer-terms{margin:0;padding:0;list-style:none}
.offer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;align-content:start}
.offer-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.offer-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:15px;align-items:center;min-width:0;padding:17px 0;border-top:1px solid var(--line);color:#51483f;font-size:.9rem;line-height:1.55}
.offer-icon-frame{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#eee5d7;color:#86683e;flex:none}
.offer-icon{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.offer-price-section{align-items:start}
.offer-pricing{min-width:0;align-self:start;border-top:2px solid var(--ink)}
.offer-table{width:100%;border-collapse:collapse;text-align:left}
.offer-table thead th{padding:20px 12px 15px;color:#756b60;font-size:.59rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.offer-table thead th:first-child,.offer-table tbody th{padding-left:0}
.offer-table thead th:last-child,.offer-table td.offer-price{text-align:right;padding-right:0}
.offer-table tbody tr{border-top:1px solid var(--line)}
.offer-table tbody th,.offer-table tbody td{padding:19px 12px;color:var(--ink);font-size:.9rem;font-weight:500;line-height:1.35}
.offer-table tbody th{font-weight:600}
.offer-table tbody td:nth-child(2){color:#756b60}
.offer-table tbody td.offer-price{font-size:1.35rem;font-weight:600;letter-spacing:-.055em;white-space:nowrap}
.offer-notes{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,.58fr);gap:8%;padding:0 0 95px;border-bottom:1px solid var(--line)}
.offer-notes h2{font-size:1.38rem;letter-spacing:-.04em}
.offer-terms{display:grid;grid-template-columns:1fr;gap:11px}
.offer-terms li{position:relative;padding:0 0 0 20px;color:#70665c;font-size:.86rem;line-height:1.7}
.offer-terms li:before{content:"—";position:absolute;left:0;top:0;color:var(--brass-dark)}
.offer-property{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,.58fr);gap:8%;align-items:start;margin-top:95px;padding:60px;background:#eae1d4}
.offer-property .eyebrow{grid-column:1/-1;margin-bottom:0}
.offer-property h2{max-width:420px}
.offer-property>p:last-child{max-width:620px;margin:0;color:#62584e;font-size:1rem;line-height:1.8}
.offer-property+.offer-section{padding-top:95px}
.offer-page-conference .offer-overview{padding-bottom:95px}
.offer-conditions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8%;padding:95px 0 45px;border-bottom:1px solid var(--line)}
.offer-conditions h2{margin:0 0 34px;font-size:clamp(1.8rem,2.7vw,2.65rem)}
.offer-conditions .offer-terms{gap:17px}
.offer-extras{display:grid;grid-template-columns:minmax(230px,.42fr) minmax(0,.58fr);gap:8%;padding:55px 0 95px}
.offer-extras h2{font-size:1.35rem;letter-spacing:-.04em}
.offer-extras p{max-width:670px;margin:0;color:#70665c;font-size:.9rem;line-height:1.75}
.offer-contact{display:flex;align-items:end;justify-content:space-between;gap:35px;padding:48px 55px;background:var(--ink);color:#fff}
.offer-contact .eyebrow{color:var(--brass)}
.offer-contact h2{color:#fff;font-size:clamp(1.8rem,2.7vw,2.8rem)}
.offer-contact p:last-child{margin:22px 0 0;color:#e8ded1;font-size:.83rem;overflow-wrap:anywhere}
.offer-contact p:last-child a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:5px}
.offer-contact .button{flex-shrink:0;min-height:56px;white-space:nowrap}
.offer-contact .button span{margin-left:25px}
@media(max-width:900px){
  .offer-overview{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:5%}
  .offer-section,.offer-notes,.offer-extras,.offer-property{gap:5%}
  .offer-property{padding:45px}
  .offer-contact{padding:40px}
}
@media(max-width:650px){
  .offer-overview{grid-template-columns:1fr;gap:28px;padding:0 0 58px}
  .offer-overview-main{padding:0}
  .offer-overview-main h2{font-size:clamp(2.3rem,10vw,3.8rem);line-height:1.06}
  .offer-overview-main>p:last-child{margin-top:20px;font-size:.94rem;line-height:1.7}
  .offer-overview-meta{padding:23px 26px}
  .offer-overview-meta>div{padding:14px 0}
  .offer-overview-meta strong{font-size:.95rem}
  .offer-overview-price{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
  .offer-overview-price>div:first-child{grid-column:1/-1;padding-bottom:20px}
  .offer-overview-price>div:nth-child(2){border-bottom:0}
  .offer-overview-price>div:nth-child(3){padding-top:14px}
  .offer-overview-price>div:first-child strong{font-size:2.8rem}
  .offer-section,.offer-notes,.offer-extras{grid-template-columns:1fr;gap:26px}
  .offer-section{padding:60px 0}
  .offer-section-heading h2{font-size:clamp(1.95rem,8vw,2.8rem)}
  .offer-section-heading>p:last-child:not(.eyebrow){margin-top:15px}
  .offer-list{grid-template-columns:1fr}
  .offer-list li{grid-template-columns:38px minmax(0,1fr);gap:13px;padding:14px 0;font-size:.88rem}
  .offer-icon-frame{width:38px;height:38px}
  .offer-icon{width:22px;height:22px}
  .offer-pricing{border-top:2px solid var(--ink)}
  .offer-table,.offer-table tbody,.offer-table tr,.offer-table th,.offer-table td{display:block}
  .offer-table thead{display:none}
  .offer-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:start;padding:18px 0}
  .offer-table tbody th{grid-column:1;grid-row:1;padding:0;font-size:.9rem}
  .offer-table tbody td:nth-child(2){grid-column:1;grid-row:2;padding:0;color:#756b60;font-size:.72rem}
  .offer-table tbody td:nth-child(2):before{content:attr(data-label) ": ";text-transform:none}
  .offer-table tbody td.offer-price{grid-column:2;grid-row:1/3;align-self:center;padding:0;font-size:1.45rem;text-align:right}
  .offer-notes{padding:0 0 60px}
  .offer-property{display:block;margin-top:60px;padding:33px 27px}
  .offer-property h2{margin:12px 0 18px;font-size:clamp(2rem,8vw,2.9rem)}
  .offer-property>p:last-child{font-size:.9rem;line-height:1.7}
  .offer-property+.offer-section{padding-top:60px}
  .offer-page-conference .offer-overview{padding-bottom:60px}
  .offer-conditions{grid-template-columns:1fr;gap:55px;padding:60px 0 35px}
  .offer-conditions h2{margin:0 0 22px}
  .offer-extras{padding:35px 0 60px}
  .offer-contact{display:block;padding:34px 27px}
  .offer-contact h2{font-size:2.1rem}
  .offer-contact p:last-child{line-height:1.9}
  .offer-contact .button{display:flex;width:100%;margin-top:28px;justify-content:space-between;white-space:normal}
  .detail-page:has(.offer-page) .detail-content{padding-top:62px}
}
@media(max-width:370px){.offer-overview-meta{padding:20px}.offer-contact{padding:28px 20px}.offer-table tbody td.offer-price{font-size:1.3rem}}
