@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:500;font-display:swap;src:url('/a/robotoslab-500-latin.74f1eba5f9.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:700;font-display:swap;src:url('/a/robotoslab-700-latin.b7fae26cd1.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url('/a/atkinson-400-latin.a60206dd47.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url('/a/atkinson-700-latin.1cc7c0c5fb.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --paper:#f3efe6; --ink:#1f1c18; --soft:#5a5348; --rule:#c9c0b0; --hair:#e0d9cc;
  --board:#1c2321; --boardink:#e8e3d8; --boardrule:#3d4744;
  --flag:#9a3b1f; --moss:#3c5347; --card:#faf7f1;
  --display:"Roboto Slab",Georgia,"Times New Roman",serif;
  --text:"Atkinson Hyperlegible",Verdana,system-ui,sans-serif;
  --gut:clamp(18px,4vw,52px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);
  font-size:17px;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--flag);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--moss);outline-offset:2px}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.14;margin:0}
h1{font-size:clamp(27px,3.3vw,42px);letter-spacing:-.012em}
h2{font-size:clamp(21px,2.4vw,30px);margin:2.5em 0 .5em;font-weight:500}
h3{font-size:clamp(17px,1.6vw,20px);margin:1.9em 0 .35em;font-weight:500}
p{margin:0 0 1.1em}
.qd-skip{position:absolute;left:-9999px}
.qd-skip:focus{left:12px;top:10px;z-index:9;background:var(--ink);color:var(--paper);padding:9px 15px}
.qd-wrap{max-width:1200px;margin:0 auto;padding:0 var(--gut)}
.qd-prose{max-width:70ch}

/* ── running head: the wordmark on a rule, the office on the right */
.qd-top{background:var(--board);color:var(--boardink)}
.qd-topin{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;padding:13px 0}
.qd-mark{font-family:var(--display);font-weight:700;font-size:21px;color:var(--boardink);
  text-decoration:none;letter-spacing:-.01em}
.qd-mark:hover{color:#fff}
.qd-tel{margin:0 0 0 auto;font-size:14.5px;color:#a9a294}
.qd-tel a{color:var(--boardink);text-decoration:none;border-bottom:1px solid var(--boardrule)}
.qd-nav{border-bottom:2px solid var(--ink);background:var(--card)}
.qd-nav ul{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none}
.qd-nav li+li{border-left:1px solid var(--hair)}
.qd-nav a{display:block;padding:11px 17px;font-size:14.5px;color:var(--ink);text-decoration:none}
.qd-nav a:hover,.qd-nav a[aria-current]{background:var(--ink);color:var(--paper)}

/* ⚠️ THE OPENING BLOCK SITS INSIDE <main>. On a sibling the skip link targeted a
   #main that began AFTER it, so a screen reader user who used the site's own
   accessibility link lost the headline, the price range and both buttons. */
.qd-open{border-bottom:2px solid var(--ink);background:var(--card)}
.qd-openin{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:920px){.qd-openin{grid-template-columns:minmax(0,1.24fr) minmax(0,1fr)}}
.qd-recto{padding:clamp(22px,3vw,40px) 0 clamp(22px,3vw,38px);align-self:center}
@media(min-width:920px){.qd-recto{padding-right:clamp(24px,3vw,44px)}}
.qd-verso{min-height:54vh;position:relative;background:var(--board)}
@media(min-width:920px){.qd-verso{min-height:60vh}}
.qd-verso img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.qd-brow{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--flag);margin:0 0 11px}
.qd-stand{font-size:clamp(16px,1.25vw,18px);color:var(--soft);margin:14px 0 0;max-width:58ch}
.qd-floor{margin:13px 0 0;font-size:15.5px}
.qd-floor strong{font-family:var(--display);font-weight:700;font-size:20px;color:var(--flag)}
.qd-cta{display:flex;flex-wrap:wrap;gap:10px 12px;margin:16px 0 0}
.qd-cta a{font-family:var(--display);font-weight:500;font-size:15.5px;text-decoration:none;
  padding:11px 20px;border:2px solid var(--ink);display:inline-block;line-height:1.25}
.qd-cta1{background:var(--ink);color:var(--paper)}
.qd-cta1:hover{background:var(--flag);border-color:var(--flag)}
.qd-cta2{color:var(--ink)}
.qd-cta2:hover{background:var(--paper);color:var(--flag)}

main{padding:0 0 10px}
.qd-body{padding:clamp(28px,3.6vw,48px) 0 0}

/* ⚠️⚠️ THE ENCODING. A right angle corner. Two arms of equal length meeting at
   90 degrees; what carries the meaning is WHICH WAY THE CORNER OPENS. Size,
   weight, colour and footprint are identical in all four states, and colour
   carries nothing anywhere on this site. It is a corner and never a box, because
   a box at the head of a row is a checkbox. */
.qd-cn{width:15px;height:15px;flex:0 0 15px;display:inline-block;
  border:0 solid var(--flag);border-width:0}
.qd-cn-1{border-top-width:3px;border-left-width:3px}
.qd-cn-2{border-top-width:3px;border-right-width:3px}
.qd-cn-3{border-bottom-width:3px;border-right-width:3px}
.qd-cn-4{border-bottom-width:3px;border-left-width:3px}

/* ── the board itself, on its own dark ground */
.qd-boardwrap{background:var(--board);color:var(--boardink);margin:34px 0 40px;
  border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.qd-boardin{padding:clamp(20px,2.6vw,32px) 0 clamp(24px,3vw,38px)}
.qd-boardh{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.2vw,27px);
  color:var(--boardink);margin:0 0 6px}
.qd-boardnote{margin:0 0 18px;font-size:15px;color:#a9a294;max-width:76ch}
.qd-key{margin:0 0 20px;font-size:13.5px;color:#a9a294;display:flex;flex-wrap:wrap;
  gap:9px 26px;align-items:center}
.qd-keyi{display:flex;align-items:center;gap:9px}
.qd-rows{border-top:1px solid var(--boardrule)}
.qd-row{display:grid;grid-template-columns:1fr;gap:5px 22px;padding:15px 0;
  border-bottom:1px solid var(--boardrule);align-items:start}
@media(min-width:860px){.qd-row{grid-template-columns:minmax(150px,.62fr) minmax(0,1.5fr) minmax(0,.78fr) 176px}}
.qd-when{font-family:var(--display);font-weight:500;font-size:14.5px;color:var(--flag);
  line-height:1.4;padding-top:2px}
.qd-what a{font-family:var(--display);font-weight:500;font-size:18.5px;line-height:1.25;
  color:var(--boardink);text-decoration:none;border-bottom:1px solid var(--boardrule)}
.qd-what a:hover{border-bottom-color:var(--flag);color:#fff}
.qd-note{margin:4px 0 0;font-size:14.5px;color:#a9a294}
.qd-slack{font-size:14px;color:#a9a294;display:flex;align-items:center;gap:9px}
.qd-cost{font-size:15px;color:var(--boardink);display:flex;flex-wrap:nowrap;gap:10px;
  align-items:center;white-space:nowrap}
@media(min-width:860px){.qd-cost{justify-content:flex-end;text-align:right;padding-top:2px}}
.qd-lab{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#8d867a;
  display:block;margin:0 0 2px}

/* ── month index */
.qd-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:2px;
  margin:28px 0;background:var(--ink);border:2px solid var(--ink)}
.qd-mo{background:var(--card);padding:15px 16px 16px;text-decoration:none;display:block}
.qd-mo:hover{background:var(--paper)}
.qd-mon{font-family:var(--display);font-weight:700;font-size:19px;color:var(--ink);margin:0}
.qd-mocount{margin:4px 0 0;font-size:14px;color:var(--soft)}

/* ── the departure card on a trip page */
.qd-card{margin:32px 0 38px;border:2px solid var(--ink);background:var(--card)}
.qd-cardin{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:780px){.qd-cardin{grid-template-columns:1fr 1fr}}
.qd-cardl,.qd-cardr{padding:20px clamp(18px,2.2vw,26px)}
@media(min-width:780px){.qd-cardl{border-right:2px solid var(--ink)}}
.qd-cap{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--flag);margin:0 0 8px}
.qd-cardwhen{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.1vw,26px);
  line-height:1.2;margin:0}
.qd-cardbuy{margin:11px 0 0;font-size:15.5px}
.qd-cardbuy a{font-family:var(--display);font-weight:500;border-bottom:1px solid var(--rule);
  text-decoration:none}
.qd-gauge{display:flex;align-items:center;gap:10px;margin:14px 0 0;font-size:14px;color:var(--soft)}

/* ── facts sheet */
.qd-sheet{margin:32px 0;border-top:2px solid var(--ink)}
.qd-srow{display:grid;grid-template-columns:1fr;gap:2px 28px;padding:15px 0;
  border-bottom:1px solid var(--rule)}
@media(min-width:740px){.qd-srow{grid-template-columns:minmax(148px,.32fr) minmax(0,1fr)}}
.qd-skey{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--flag);padding-top:4px}
.qd-gl{display:inline-block;vertical-align:-2px;margin-right:7px;color:var(--flag)}
.qd-sval{margin:0}

/* ── ruled list */
.qd-lines{margin:26px 0;border-top:1px solid var(--rule)}
.qd-line{display:grid;grid-template-columns:1fr;gap:2px 26px;padding:13px 0;
  border-bottom:1px solid var(--rule)}
@media(min-width:740px){.qd-line{grid-template-columns:minmax(160px,.3fr) minmax(0,1fr)}}
.qd-line1{grid-template-columns:1fr}
@media(min-width:740px){.qd-line1{grid-template-columns:1fr}}
.qd-lk{font-family:var(--display);font-weight:500;font-size:16.5px;line-height:1.3}
.qd-lv{margin:0;color:var(--soft)}

/* ── plate and tiles */
.qd-plate{margin:34px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.qd-plate img{width:100%;aspect-ratio:16/6.4;object-fit:cover}
.qd-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(236px,1fr));gap:2px;
  margin:28px 0;background:var(--ink);border:2px solid var(--ink)}
.qd-tile{position:relative;min-height:238px;display:flex;align-items:flex-end;
  text-decoration:none;background:var(--card)}
.qd-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qd-tiletx{position:relative;padding:16px;width:100%;
  background:linear-gradient(to top,rgba(18,16,13,.92),rgba(18,16,13,.6) 60%,rgba(18,16,13,0))}
.qd-tilename{font-family:var(--display);font-weight:500;font-size:18.5px;line-height:1.22;
  color:#fbf8f2;margin:0}
.qd-tilesub{display:block;margin:5px 0 0;font-size:14px;color:#ddd5c6}

/* ── steps */
.qd-steps{margin:26px 0;counter-reset:s}
.qd-step{counter-increment:s;position:relative;padding:15px 0 15px 52px;
  border-bottom:1px solid var(--rule)}
.qd-step::before{content:counter(s);position:absolute;left:0;top:13px;font-family:var(--display);
  font-weight:700;font-size:24px;color:var(--flag)}
.qd-steph{font-family:var(--display);font-weight:500;font-size:17.5px;margin:0 0 4px}
.qd-stepp{margin:0;color:var(--soft)}

/* ── office card, offers, questions */
.qd-office{margin:30px 0;border-left:5px solid var(--flag);background:var(--card);
  padding:clamp(17px,2.2vw,26px)}
.qd-officeh{font-family:var(--display);font-weight:500;font-size:19px;margin:0 0 9px}
.qd-office p{margin:0 0 .6em}.qd-office p:last-child{margin:0}
.qd-ask{border-bottom:1px solid var(--rule)}
.qd-ask summary{cursor:pointer;padding:14px 0;font-family:var(--display);font-weight:500;
  font-size:17.5px;list-style:none}
.qd-ask summary::-webkit-details-marker{display:none}
.qd-ask summary::before{content:"+";color:var(--flag);margin-right:11px;font-family:var(--text)}
.qd-ask[open] summary::before{content:"\2212"}
.qd-askb{padding:0 0 15px}
.qd-askb p:last-child{margin:0}

/* ── the form */
.qd-form{margin:34px 0;border-top:2px solid var(--ink);padding-top:25px}
.qd-slot{margin:26px 0}
.qd-fb{margin:0 0 18px}
.qd-fb-head{margin:0 0 14px;font-weight:700;font-size:17px;color:var(--ink)}
.qd-fb-grid{display:grid;gap:14px}
.qd-fb-set{border:1px solid var(--rule);border-radius:4px;padding:11px 14px 14px;margin:0;background:var(--paper)}
.qd-fb-set legend{padding:0 6px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);opacity:.72;font-weight:700}
.qd-fb-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}
.qd-fb-box{position:relative;display:flex;flex-direction:column;gap:5px;min-width:0}
.qd-fb-box label{font-size:14px;font-weight:600;color:var(--ink)}
.qd-fb-aside{font-weight:400;opacity:.7}
.qd-fb-box input,.qd-fb-box select{font:inherit;font-size:15px;padding:10px 11px;border:1px solid var(--rule);border-radius:3px;background:var(--card);color:var(--ink);width:100%}
.qd-fb-box input:focus,.qd-fb-box select:focus{outline:2px solid var(--flag);outline-offset:1px}
.qd-fb-box.is-short input{border-color:var(--flag)}
.qd-fb-say{margin:0;font-size:13px;color:var(--flag);font-weight:600}
.qd-fb-offer{position:absolute;top:100%;left:0;right:0;z-index:30;margin:3px 0 0;padding:0;list-style:none;background:var(--card);border:1px solid var(--rule);border-radius:3px;max-height:268px;overflow:auto;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.qd-fb-offer li{margin:0}
.qd-fb-offer button{display:block;width:100%;text-align:left;font:inherit;font-size:14px;padding:9px 11px;border:0;background:none;color:var(--ink);cursor:pointer}
.qd-fb-offer button:hover,.qd-fb-offer [aria-selected="true"] button{background:var(--paper)}
.qd-fb-code{font-weight:700;color:var(--flag)}
.qd-fb-board{margin:14px 0 0;padding:11px 14px;font-size:14.5px;line-height:1.55;color:var(--boardink);background:var(--board);border-left:3px solid var(--flag);border-radius:0 3px 3px 0}
.qd-fb-board a{color:inherit}
.qd-fb-go{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.qd-fb-go button{font:inherit;font-weight:700;font-size:15px;padding:11px 21px;border:0;border-radius:3px;background:var(--flag);color:var(--card);cursor:pointer}
.qd-fb-go button[disabled]{opacity:.45;cursor:not-allowed}
.qd-fb-status{margin:0;font-size:14px;color:var(--flag);font-weight:600}
.qd-fb-note{margin:16px 0 0;font-size:14px;line-height:1.6;color:var(--ink);opacity:.85}
.qd-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--paper);border:1px solid var(--rule);border-radius:3px;padding:0 5px;white-space:nowrap}
.qd-fh{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.2vw,26px);margin:0 0 6px}
.qd-fnote{margin:0 0 19px;color:var(--soft);font-size:15.5px;max-width:62ch}
.qd-grid{display:grid;grid-template-columns:1fr;gap:15px 22px;max-width:770px}
@media(min-width:640px){.qd-grid{grid-template-columns:1fr 1fr}}
.qd-fw{grid-column:1/-1}
.qd-flab{display:block;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--soft);margin:0 0 6px}
.qd-in,.qd-ta,.qd-sel{width:100%;font-family:inherit;font-size:16px;color:var(--ink);
  background:var(--card);border:1px solid var(--rule);border-radius:0;padding:11px 12px}
.qd-ta{min-height:128px;resize:vertical}
.qd-in:focus,.qd-ta:focus,.qd-sel:focus{border-color:var(--moss);
  outline:2px solid var(--moss);outline-offset:1px}
.qd-pit{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.qd-send{font-family:var(--display);font-weight:500;font-size:16.5px;background:var(--ink);
  color:var(--paper);border:2px solid var(--ink);border-radius:0;padding:13px 28px;cursor:pointer}
.qd-send:hover{background:var(--flag);border-color:var(--flag)}
.qd-fine{margin:14px 0 0;font-size:14px;color:var(--soft);max-width:70ch}

/* ── index of pages */
.qd-idx{margin:24px 0}
.qd-idxg{display:grid;grid-template-columns:repeat(auto-fit,minmax(226px,1fr));gap:22px 30px}
.qd-idxh{font-family:var(--display);font-weight:500;font-size:16.5px;margin:0 0 7px;
  padding-bottom:6px;border-bottom:1px solid var(--rule)}
.qd-idxl{margin:0;padding:0;list-style:none;font-size:15px}
.qd-idxl li{padding:3px 0}

/* ⚠️ THE FOOT: the cartouche. Seven footer shapes are spent across the estate:
   three column lists, a ruled table, a right flush description list, a two cell
   bordered grid, a centred stamp, a numbered run, and three lines on inverted
   ground. This one is a ruled box with the identity sitting ON the top rule, the
   way a title sits on a chart cartouche. It is visible because it is drawn, not
   because it shouts: individuality is not the same as invisibility. */
.qd-foot{margin-top:54px;padding:0 0 40px;background:var(--paper)}
.qd-cart{border:2px solid var(--ink);padding:26px clamp(18px,2.4vw,30px) 22px;position:relative;
  margin-top:16px}
.qd-cartname{position:absolute;top:0;left:clamp(16px,2.2vw,28px);transform:translateY(-50%);
  background:var(--paper);padding:0 12px;font-family:var(--display);font-weight:700;font-size:16px}
.qd-cart p{margin:0 0 11px;font-size:14.6px;line-height:1.8;max-width:98ch}
.qd-cart p:last-child{margin:0}
.qd-run a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.qd-run a:hover{border-bottom-color:var(--flag);color:var(--flag)}
.qd-sep{color:var(--rule);padding:0 8px}
.qd-sm{color:var(--soft);font-size:13.4px}

@media(prefers-reduced-motion:no-preference){
  .qd-rise{opacity:1;transform:translateY(12px);transition:transform .5s ease}
  .qd-rise.qd-in{transform:none}
}
@media print{.qd-nav,.qd-form{display:none}}
