@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Manrope:wght@300;400;500;600;700&display=swap');

:root{
  --bg:#1c1c1c;
  --panel:#242422;
  --paper:#ece7de;
  --muted:rgba(236,231,222,.62);
  --muted-2:rgba(236,231,222,.4);
  --gold:#c9a227;
  --gold-line:rgba(201,162,39,.24);
  --line:rgba(236,231,222,.1);
  --red:#d6483f;--green:#3c9d55;--orange:#eda033;--purple:#8a5cb0;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;background:var(--bg);color:var(--paper);line-height:1.65;min-height:100vh;display:flex;flex-direction:column;font-weight:300}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gold)}
main{flex:1 0 auto}

/* Header */
.main-header{position:sticky;top:0;z-index:50;background:rgba(24,24,22,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:24px 48px;gap:24px;flex-wrap:wrap}
.logo{height:28px;opacity:.94}
.main-nav{display:flex;gap:clamp(14px,2.6vw,36px);flex-wrap:wrap}
.main-nav a{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);white-space:nowrap}
.main-nav a.active{color:var(--paper);border-bottom:1px solid var(--gold);padding-bottom:6px}

/* Squiggle brand mark */
.squiggle{flex:none}

/* Kicker */
.kicker{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}

/* Hero (home) */
.hero{max-width:820px;margin:0 auto;padding:96px 48px 64px}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.08;color:var(--paper)}
.hero .tagline{margin-top:24px;font-size:18px;color:var(--muted);max-width:480px;font-weight:300}

/* Full-bleed editorial banner */
.hero-banner{position:relative;height:58vh;min-height:400px;max-height:600px;overflow:hidden;margin-bottom:8px}
.hero-banner img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.05)}
.hero-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,28,28,0) 45%,rgba(28,28,28,.92) 100%)}
.hero-banner .caption{position:absolute;left:48px;right:48px;bottom:28px;display:flex;justify-content:space-between;align-items:baseline;gap:24px;z-index:2}
.hero-banner .caption .name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--paper)}
.hero-banner .caption .tag{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}

/* Detail page hero (ship / river) */
.detail-hero{position:relative;height:54vh;min-height:380px;max-height:560px;overflow:hidden}
.detail-hero img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.05)}
.detail-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,18,.15) 30%,rgba(20,20,18,.88) 100%)}
.detail-hero-text{position:absolute;left:48px;right:48px;bottom:36px;z-index:2}
.detail-hero-text h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.2rem,4.4vw,3.6rem);color:var(--paper)}
.detail-hero-text p{margin-top:10px;font-size:16px;color:var(--muted);font-weight:300}

/* Breadcrumb */
.breadcrumb{max-width:1280px;margin:0 auto;padding:22px 48px 0;display:flex;gap:10px;align-items:center;font-size:12.5px;color:var(--muted-2);flex-wrap:wrap}
.breadcrumb a{color:var(--muted)}
.breadcrumb .current{color:var(--gold)}

/* Gallery */
.gallery{max-width:1280px;margin:0 auto;padding:28px 48px 0}
.gallery-main{aspect-ratio:16/9;overflow:hidden}
.gallery-main img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.05)}
.gallery-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:6px}
.gallery-thumbs img{width:112px;height:76px;object-fit:cover;flex:none;cursor:pointer;opacity:.5;filter:grayscale(.25);transition:opacity .2s}
.gallery-thumbs img.active{opacity:1;outline:1px solid var(--gold)}
.gallery-thumbs img:hover{opacity:.85}

/* Detail content sections */
.content-section{max-width:1280px;margin:0 auto;padding:52px 48px;border-top:1px solid var(--line);display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px}
.content-section h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.5rem;color:var(--paper)}
.content-section p{color:var(--muted);font-size:16px;line-height:1.9;max-width:760px}
.specs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px 32px;max-width:760px}
.spec-item{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:14.5px}
.spec-item span:first-child{color:var(--muted-2)}
.spec-item span:last-child{color:var(--paper);font-weight:500}
.disclaimer{margin-top:18px;font-size:12px;color:var(--muted-2);font-style:italic}
.deckplan-img{max-width:760px;border:1px solid var(--line)}
.ship-links{display:flex;gap:16px;flex-wrap:wrap;max-width:760px}
.ship-link-card{display:flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid var(--line);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper)}
.ship-link-card:hover{border-color:var(--gold-line);color:var(--gold)}

/* Page hero (about/fleet/destinations/contact) */
.page-hero{max-width:1280px;margin:0 auto;padding:76px 48px 32px}
.page-hero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.2rem,4vw,3.4rem);color:var(--paper);max-width:720px}
.page-hero .subtitle{font-size:18px;font-weight:300;color:var(--muted);margin-top:16px;max-width:640px}
.page-hero .intro{font-size:17px;font-weight:300;color:var(--muted);margin-top:18px;max-width:620px}

/* Split section (about text, home about-preview) */
.section{max-width:1280px;margin:0 auto;padding:56px 48px;border-top:1px solid var(--line);display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px}
.section h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.7rem;color:var(--paper)}
.section-text p{color:var(--muted);font-size:16px;line-height:1.9;max-width:700px;margin-bottom:20px}
.section-text p:last-child{margin-bottom:0}

.section-photo-row{max-width:1280px;margin:0 auto;padding:0 48px 64px;display:grid;grid-template-columns:240px minmax(0,1fr) minmax(220px,320px);gap:56px;align-items:start}
.section-photo-row h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.7rem;color:var(--paper)}
.section-photo-row p{color:var(--muted);font-size:16px;line-height:1.9;max-width:600px}
.section-photo{aspect-ratio:4/3;overflow:hidden}
.section-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.05)}

/* Stats */
.stats-row{display:flex;gap:48px;flex-wrap:wrap;margin-top:12px}
.stat .num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:var(--gold);font-weight:600}
.stat .label{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-top:6px}

/* Cards grid (fleet / destinations / teasers) */
.section-label{max-width:1280px;margin:0 auto;padding:0 48px;display:flex;align-items:baseline;justify-content:space-between}
.section-label h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.6rem;color:var(--paper)}
.section-label a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold-line);padding-bottom:4px}
.cards-grid{max-width:1280px;margin:0 auto;padding:28px 48px 72px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}
.card{background:var(--panel);border:1px solid var(--line)}
.card-photo{aspect-ratio:4/3;overflow:hidden}
.card-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(.18) contrast(1.05)}
.card-body{padding:22px 24px 26px}
.card-body h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;letter-spacing:.01em;color:var(--paper)}
.card-body .card-sub{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin:6px 0 18px}
.card-link{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold-line);padding-bottom:4px}

/* Contact */
.contact-grid{max-width:900px;margin:0 auto;padding:8px 48px 100px;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
.contact-block{padding:40px 40px}
.contact-block:first-child{border-right:1px solid var(--line)}
.contact-block .detail-label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:16px}
.contact-block address{font-style:normal;font-size:16px;color:var(--muted);line-height:1.9}
.contact-block address strong{color:var(--paper);display:block;margin-bottom:8px;font-weight:600;font-family:'Cormorant Garamond',serif;font-size:1.2rem}
.contact-email{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--paper);font-weight:600}
.contact-note{display:block;margin-top:16px;font-size:13.5px;color:var(--muted-2);font-weight:300;line-height:1.7}

/* Footer */
.site-footer{border-top:1px solid var(--line);padding:52px 48px 40px;margin-top:auto}
.footer-inner{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.footer-links{display:flex;gap:26px;flex-wrap:wrap}
.footer-links a{font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.footer-meta{font-size:12.5px;color:var(--muted-2)}

@media (max-width:900px){
  .hero{padding:56px 24px 64px}
  .page-hero,.section,.section-photo-row,.section-label,.cards-grid,.contact-grid,.site-footer,.header-inner,.content-section,.hero-banner .caption,.detail-hero-text,.breadcrumb,.gallery{padding-left:24px;padding-right:24px}
  .section{grid-template-columns:1fr;gap:20px}
  .section-photo-row{grid-template-columns:1fr;gap:20px}
  .content-section{grid-template-columns:1fr;gap:20px}
  .contact-grid{grid-template-columns:1fr;margin-left:24px;margin-right:24px}
  .contact-block:first-child{border-right:none;border-bottom:1px solid var(--line)}
  .footer-inner{align-items:flex-start}
}
