:root{
  --navy:#14213D; --navy-deep:#0F1A33; --cream:#FFF7E8; --cream-2:#F7EDD9;
  --gold:#C8A45D; --red:#D64052; --ink:#1B1B1B;
  --serif:'Bodoni Moda','Didot',Georgia,serif; --sans:'Montserrat','Helvetica Neue',Arial,sans-serif;
  --max:1180px; --gutter:clamp(16px,4vw,48px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important;animation:none!important}}
body{margin:0;background:var(--cream);color:var(--navy);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0;text-wrap:balance}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* header */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--gutter);background:var(--navy);border-bottom:1px solid rgba(200,164,93,.35)}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;min-width:0}
.brand img{width:200px;height:auto;flex:none}
.brand-tag{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--gold);white-space:nowrap;padding-left:16px;border-left:1px solid rgba(200,164,93,.55);line-height:1.2}
.nav{display:flex;gap:28px}
.nav a{color:var(--cream);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.04em;padding:6px 0;border-bottom:1px solid transparent}
.nav a:hover{border-bottom-color:var(--gold)}
@media (max-width:980px){.brand-tag{white-space:normal;font-size:13px;max-width:200px}}
@media (max-width:720px){.nav{display:none}.brand{gap:12px}.brand img{width:150px}.brand-tag{font-size:12.5px;padding-left:12px;max-width:none}}

/* hero */
.hero{position:relative;background:var(--navy);display:grid;grid-template-columns:minmax(300px,38%) 1fr;min-height:clamp(560px,90vh,880px);overflow:hidden}
.hero-img{position:relative;order:2;min-height:0}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.hero-img::after{content:"";position:absolute;left:0;top:0;bottom:0;width:140px;background:linear-gradient(90deg,var(--navy) 0%,rgba(20,33,61,0) 100%)}
.hero-copy{position:relative;z-index:1;order:1;color:var(--cream);padding:clamp(40px,6vw,80px) var(--gutter) clamp(40px,6vw,80px) var(--gutter);display:flex;flex-direction:column;justify-content:flex-end}
.hero-kicker{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.hero h1{font-size:clamp(28px,3.4vw,44px);color:var(--cream);max-width:16ch;font-weight:400}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-social{display:flex;gap:22px;margin-top:34px;padding-top:18px;border-top:1px solid rgba(200,164,93,.35)}
.hero-social a{display:inline-flex;align-items:center;gap:8px;color:var(--gold);text-decoration:none;font-size:12.5px;font-weight:500;letter-spacing:.04em}
.hero-social a:hover{color:var(--cream)}
@media (max-width:720px){.hero{grid-template-columns:1fr;grid-template-rows:auto auto;min-height:0}.hero-img{order:1;height:78vw;min-height:320px}.hero-img::after{display:none}.hero-copy{order:2;padding:28px var(--gutter) 36px}.hero h1{font-size:26px}}

/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:15px 26px;border-radius:2px;border:1.5px solid transparent;cursor:pointer;transition:background .15s,color .15s}
.btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-gold:hover{background:#D9B870}
.btn-ghost{color:var(--cream);border-color:rgba(255,247,232,.55)}
.btn-ghost:hover{border-color:var(--cream)}
.btn-navy{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-deep)}

/* departures board */
.board{background:var(--navy-deep);color:var(--cream);border-top:1px solid rgba(200,164,93,.35);border-bottom:1px solid rgba(200,164,93,.35);padding:18px var(--gutter);display:flex;align-items:center;gap:clamp(16px,3vw,40px);flex-wrap:wrap;justify-content:center}
.board-title{margin:0;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.board-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px clamp(14px,2.4vw,34px);justify-content:center}
.board-list a{display:inline-flex;align-items:center;gap:9px;color:var(--cream);text-decoration:none;font-family:var(--serif);font-size:18px;padding:6px 0;border-bottom:1px solid transparent}
.board-list a:hover{border-bottom-color:var(--gold)}
.board-tag{margin:0;font-family:var(--serif);font-style:italic;font-size:15px;color:var(--gold)}
@media (max-width:860px){.board-tag{width:100%;text-align:center;margin-top:6px}}
/* flags: tiny CSS flags, no image requests */
.flag{display:inline-block;width:24px;height:16px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.18);flex:none;background-size:100% 100%;background-repeat:no-repeat}
.hero-kicker .flag{vertical-align:-3px;margin-right:10px}
.flag-es{background-image:url(assets/flags/es.svg)}
.flag-it{background-image:url(assets/flags/it.svg)}
.flag-fr{background-image:url(assets/flags/fr.svg)}
.flag-se{background-image:url(assets/flags/se.svg)}
.flag-gr{background-image:url(assets/flags/gr.svg)}
.flag-br{background-image:url(assets/flags/br.svg)}

/* collection */
.collection{padding:clamp(56px,8vw,104px) var(--gutter);max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto}
.section-head{max-width:720px;margin:0 auto clamp(36px,5vw,64px);text-align:center}
.section-head h2{font-size:clamp(30px,4vw,46px)}
.section-head p{font-size:16px;margin:18px auto 0;max-width:60ch}
.section-head em{font-family:var(--serif);font-size:1.08em}
.rack{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px) clamp(20px,3vw,40px)}
@media (max-width:860px){.rack{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.rack{grid-template-columns:1fr;max-width:360px;margin:0 auto}}
.card-open{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;border-radius:3px}
.card-open img{border-radius:3px;box-shadow:0 18px 40px -18px rgba(20,33,61,.55);transition:transform .2s ease,box-shadow .2s ease}
.card-open:hover img,.card-open:focus-visible img{transform:translateY(-6px) rotate(-1deg);box-shadow:0 28px 50px -18px rgba(20,33,61,.6)}
.card-meta{display:flex;align-items:baseline;gap:12px;margin-top:14px;padding:0 4px;font-size:13px}
.card-no{color:var(--gold);font-weight:600;letter-spacing:.14em}
.card-name{font-family:var(--serif);font-size:20px;flex:1}
.card-price{font-weight:600}

/* set */
.set{background:var(--navy);color:var(--cream);overflow:hidden}
.set-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center;max-width:calc(var(--max) + 2*var(--gutter));margin:0 auto;padding:clamp(56px,8vw,104px) var(--gutter)}
.set h2{font-size:clamp(30px,3.8vw,44px);color:var(--cream)}
.set-copy p{max-width:50ch;color:rgba(255,247,232,.85)}
.set-price{font-family:var(--serif);font-size:18px;color:var(--cream)!important;margin:26px 0 18px}
.set-price span{font-size:34px;color:var(--gold)}
.set-note{font-size:13px;margin-top:22px}
.set-note a{color:var(--gold)}
.set-fan{position:relative;height:clamp(300px,36vw,460px)}
.set-fan img{position:absolute;bottom:0;left:50%;width:clamp(150px,16vw,210px);border-radius:3px;box-shadow:0 20px 40px -16px rgba(0,0,0,.7);transform-origin:50% 115%}
.set-fan img:nth-child(1){transform:translateX(-50%) rotate(-30deg)}
.set-fan img:nth-child(2){transform:translateX(-50%) rotate(-18deg)}
.set-fan img:nth-child(3){transform:translateX(-50%) rotate(-6deg)}
.set-fan img:nth-child(4){transform:translateX(-50%) rotate(6deg)}
.set-fan img:nth-child(5){transform:translateX(-50%) rotate(18deg)}
.set-fan img:nth-child(6){transform:translateX(-50%) rotate(30deg)}
@media (max-width:860px){.set-inner{grid-template-columns:1fr}.set-fan{height:clamp(260px,60vw,380px);order:-1}.set-fan img{width:clamp(130px,26vw,190px)}}

/* next destination */
.next{background:var(--cream-2);border-top:1px solid rgba(200,164,93,.4)}
.next-inner{max-width:760px;margin:0 auto;padding:clamp(56px,8vw,96px) var(--gutter);text-align:center}
.next h2{font-size:clamp(30px,3.8vw,44px)}
.next p{max-width:52ch;margin:16px auto 0}
.next-form{margin-top:30px}
.next-fields{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;text-align:left}
.next-label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.next-label input{font-family:var(--serif);font-size:18px;padding:13px 14px;border:1px solid rgba(20,33,61,.35);border-radius:2px;background:#fff;color:var(--navy);min-width:0}
.next-label input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.next-fields .btn{padding-top:16px;padding-bottom:16px;white-space:nowrap}
.next-fine{font-size:12.5px!important;color:rgba(20,33,61,.7);margin-top:12px!important}
.next-done{font-family:var(--serif);font-size:22px;color:var(--navy);margin-top:24px!important}
.hp{position:absolute;left:-9999px}
@media (max-width:720px){.next-fields{grid-template-columns:1fr}.next-fields .btn{width:100%}}

/* about */
.about{max-width:760px;margin:0 auto;padding:clamp(64px,9vw,120px) var(--gutter);text-align:center}
.about-seal{margin:0 auto 28px}
.about h2{font-size:clamp(26px,3.2vw,38px);margin-bottom:26px;max-width:22ch;margin-left:auto;margin-right:auto}
.about p{text-align:left;max-width:62ch;margin:0 auto 18px;font-size:16px;line-height:1.7}
.about-facts{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:28px 0 0;margin:28px 0 0;border-top:1px solid var(--gold);font-size:13px}
.about-facts strong{display:block;font-family:var(--serif);font-size:24px;font-weight:500;margin-bottom:4px}
@media (max-width:600px){.about-facts{grid-template-columns:repeat(2,1fr)}}

/* stockists */
.stockists{background:var(--cream-2);border-top:1px solid rgba(200,164,93,.4);border-bottom:1px solid rgba(200,164,93,.4)}
.stockists-inner{max-width:720px;margin:0 auto;padding:clamp(48px,7vw,88px) var(--gutter);text-align:center}
.stockists h2{font-size:clamp(26px,3.2vw,36px)}
.stockists p{max-width:58ch;margin:18px auto 28px}

/* footer */
.foot{background:var(--navy-deep);color:var(--cream);text-align:center;padding:56px var(--gutter) 40px}
.foot img{margin:0 auto 10px;width:200px}
.foot-line{font-family:var(--serif);font-style:italic;color:var(--gold);margin:0 0 26px;font-size:16px}
.foot-meta{font-size:13px;margin:0 0 18px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.foot-meta a{color:var(--cream);text-decoration:none;border-bottom:1px solid rgba(200,164,93,.5)}
.foot-meta span{color:var(--gold)}
.foot-legal{font-size:12px;color:rgba(255,247,232,.55);margin:0}

/* buy slot (Shopify Buy Button mounts here) */
.buy-slot{min-height:52px}
.buy-slot .shopify-buy__btn,.buy-slot .buy-placeholder{font-family:var(--sans)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.08em!important;text-transform:uppercase!important;background:var(--gold)!important;color:var(--navy)!important;border-radius:2px!important;padding:15px 26px!important;border:0!important}
.buy-placeholder{display:inline-block;cursor:default;opacity:.85}

/* modal */
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px}
.modal[hidden]{display:none}
.modal-backdrop{position:absolute;inset:0;background:rgba(15,26,51,.78)}
.modal-panel{position:relative;background:var(--cream);color:var(--navy);width:min(960px,100%);max-height:calc(100vh - 32px);overflow:auto;border-radius:4px;box-shadow:0 40px 80px -20px rgba(0,0,0,.6)}
.modal-panel-text{width:min(560px,100%);padding:40px}
.modal-panel-text h3{font-size:28px;margin-bottom:16px}
.modal-close{position:absolute;top:10px;right:12px;z-index:2;width:40px;height:40px;border:0;background:none;font-size:30px;line-height:1;color:var(--navy);cursor:pointer}
.modal-grid{display:grid;grid-template-columns:1fr 1fr}
.modal-cover{width:100%;height:100%;object-fit:cover}
.modal-inside{padding:40px 40px 36px;position:relative}
.modal-no{font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--gold);margin:0 0 6px}
.modal-inside h3{font-size:34px;margin-bottom:22px}
.modal-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:16px 0 6px}
.modal-cover-copy,.modal-inside-copy{font-family:var(--serif);font-size:17px;line-height:1.45;margin:0;max-width:34ch}
.modal-inside-copy .sign{color:var(--red);font-style:italic}
.modal-price{font-size:13px;margin:22px 0 14px}
.modal-stamp{position:absolute;right:28px;bottom:24px;opacity:.9}
@media (max-width:720px){.modal-grid{grid-template-columns:1fr}.modal-cover{max-height:46vh}.modal-inside{padding:28px 24px 32px}.modal-stamp{width:72px;height:72px;right:20px;bottom:18px}}
body.modal-open{overflow:hidden}
