:root{--ink:#102d36;--teal:#0d4650;--aqua:#168fa3;--cream:#faf8f2;--panel:#f0f3f1;--line:#cad6d3;--serif:'Fraunces',Georgia,serif;--sans:'Plus Jakarta Sans',Arial,sans-serif}
.partners-hero{position:relative;min-height:610px;background-color:#0d4650;background-image:url('/assets/island-hero-poster.jpg');background-position:center 55%;background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;color:#fff;overflow:hidden}
.partners-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,42,49,.82),rgba(5,42,49,.22) 78%),linear-gradient(0deg,rgba(4,35,43,.6),transparent 50%)}
.partners-hero-inner{position:relative;width:100%;max-width:1400px;margin:auto;padding:160px 5vw 90px}
.partners-hero .hero-kicker{margin:0 0 24px;color:#c8e5dc;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:700}
.partners-hero h1{max-width:850px;margin:0;font:500 clamp(62px,7vw,105px)/.96 var(--serif);letter-spacing:-.05em}
.partners-hero h1 em{color:#c6dfd2;font-weight:500}
.partners-hero p:last-child{max-width:580px;margin:27px 0 0;color:#edf5f1;font-size:15px;line-height:1.8}
.partners-page{width:100%;background:var(--panel)}
.partners-content{max-width:1320px;margin:0 auto;padding:92px clamp(25px,6vw,78px) 105px}
.partners-intro{text-align:center;margin:0 auto 60px}
.partners-intro h1{font:500 clamp(43px,4.8vw,66px)/1.07 var(--serif);letter-spacing:-.045em;margin:0 0 15px;color:var(--ink)}
.partners-intro h1 em{color:#397d80;font-weight:500}
.partners-intro p{max-width:720px;margin:0 auto;color:#596f73;font-size:14px;line-height:1.8}
.partner-section{margin-top:49px}
.section-head{display:flex;align-items:center;gap:20px;margin-bottom:18px}
.section-head h2{flex:none;font:700 clamp(19px,2vw,25px)/1.25 var(--sans);letter-spacing:-.025em;margin:0;color:var(--ink)}
.section-head:after{content:"";height:1px;flex:1;background:#cbd7d5}
.section-head .section-link{order:1;flex:none;color:#176c80;font-size:11px;font-weight:700;text-underline-offset:3px;text-decoration:underline}
.partner-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}
.partner-card{min-width:0;min-height:94px;margin:0;padding:13px;display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;border:1px solid #cfdbd9;border-radius:10px;color:#102d36;font-size:13px;font-weight:700;line-height:1.45;text-decoration:none}
a.partner-card:hover{border-color:#176c80}
.partner-card.coming{background:transparent;border-style:dashed;color:#6d8185;font-size:11px;font-weight:500}
.partner-card img{display:block;width:100%;height:70px;object-fit:contain}
.partner-grid.airlines,.partner-grid.charters{grid-template-columns:repeat(6,minmax(0,1fr))}
.connections-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.connections-grid .partner-card{min-height:170px;flex-direction:column;gap:13px;padding:18px 15px}
.connections-grid .partner-card img{height:102px;max-width:200px}
.connections-grid .partner-card figcaption{color:#5c7276;font-size:10px;font-weight:600;line-height:1.5}
.connections-grid .wide{grid-column:span 2}
.connections-grid .wide img{max-width:245px}
.partner-invite{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:52px}
.partner-invite p{margin:0;font:500 18px/1.4 var(--serif);color:var(--ink)}
.partner-invite a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;background:#0e7285;border-radius:6px;color:#fff;text-decoration:none;font-size:11px;font-weight:700}
.partner-invite a:hover{background:#0c5c6d}
@media(max-width:1100px){
  .partner-grid,.partner-grid.airlines,.partner-grid.charters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .connections-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .connections-grid .wide{grid-column:span 1}
}
@media(max-width:650px){
  .partners-hero{min-height:540px}
  .partners-hero-inner{padding:145px 23px 70px}
  .partners-hero h1{font-size:clamp(55px,13vw,74px)}
  .partners-hero p:last-child{font-size:13px}
  .partners-content{padding:68px 20px 80px}
  .partners-intro{margin-bottom:45px}
  .partners-intro h1{font-size:clamp(37px,9vw,48px)}
  .partners-intro p{font-size:13px}
  .partner-section{margin-top:43px}
  .section-head{gap:12px;flex-wrap:wrap}
  .section-head h2{font-size:21px}
  .section-head:after{display:none}
  .section-head .section-link{margin-left:auto}
  .partner-grid,.partner-grid.airlines,.partner-grid.charters,.connections-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .partner-card{min-height:89px;font-size:12px}
  .connections-grid .partner-card{min-height:155px}
  .connections-grid .wide{grid-column:span 1}
  .connections-grid .partner-card img{height:91px}
  .partner-invite{display:block;text-align:center;margin-top:50px}
  .partner-invite p{margin-bottom:16px}
  .partner-invite a{width:100%}
}
