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

:root{
  --orange:#ff7900;
  --orange-hover:#e96e00;
  --ink:#111318;
  --muted:#686d75;
  --line:#e8e8e8;
  --soft:#f7f6f3;
  --white:#fff;
  --shadow:0 24px 70px rgba(28,34,42,.12);
  --container:1280px;
}
[data-theme="dark"]{
  --ink:#f6f7f8;
  --muted:#aeb2b8;
  --line:#2b2e33;
  --soft:#16181b;
  --white:#101215;
  --shadow:0 24px 70px rgba(0,0,0,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:'Manrope','Noto Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button,input{font:inherit}
button{cursor:pointer}
svg{display:block}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Header */
.q-header{position:absolute;inset:0 0 auto;z-index:30;height:96px}
.q-header-inner{height:96px;display:flex;align-items:center;gap:30px}
.q-logo{display:inline-flex;flex-direction:column;min-width:190px;line-height:.86}
.q-logo-main{font-size:1.67rem;font-weight:800;letter-spacing:-.055em;white-space:nowrap}
.q-logo-main em{position:relative;color:var(--orange);font-family:'Caveat','Comic Neue','Segoe Print',cursive;font-style:normal;font-size:1.35em;font-weight:700;margin-left:3px}
.q-logo-main em::after{content:'';position:absolute;left:-2px;right:-8px;bottom:-4px;height:5px;border-bottom:2px solid var(--orange);border-radius:50%;transform:rotate(-2deg)}
.q-logo-sub{font-size:.56rem;color:#34383d;margin-top:10px;letter-spacing:.02em}
.q-nav{margin-left:auto;display:flex;align-items:center;gap:3px}
.q-nav a{padding:10px 11px;border-radius:999px;font-size:.82rem;font-weight:700;transition:.2s}
.q-nav a:hover,.q-nav a:focus-visible,.q-nav a.active{background:rgba(255,255,255,.62);box-shadow:0 8px 30px rgba(0,0,0,.06)}
.q-nav a.active{color:var(--orange)}
.q-actions{display:flex;align-items:center;gap:9px}
.q-icon-btn{width:43px;height:43px;border:0;border-radius:50%;background:rgba(255,255,255,.62);backdrop-filter:blur(14px);display:grid;place-items:center;color:#13161b;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.q-theme{width:55px;border-radius:999px;justify-content:flex-start;padding:5px;transition:.25s}
.q-theme span{width:23px;height:23px;border-radius:50%;background:#15181c;display:grid;place-items:center;color:#fff;transition:.25s}
[data-theme="dark"] .q-theme{justify-content:flex-end;background:rgba(20,22,25,.88)}
[data-theme="dark"] .q-theme span{background:#fff;color:#15181c}
.q-subscribe{min-height:45px;padding:0 19px;border-radius:10px;background:var(--orange);color:#fff;font-weight:800;font-size:.83rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(255,121,0,.24);transition:.2s}
.q-subscribe:hover{background:var(--orange-hover);transform:translateY(-1px)}
.q-menu{display:none}

/* Hero */
.q-hero{position:relative;min-height:790px;overflow:hidden;background:#f5f5f3}
.q-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6f6f4 0%,rgba(246,246,244,.96) 33%,rgba(246,246,244,.35) 56%,rgba(246,246,244,0) 75%),url("../img/home-v2/hero-right.987a34e58dde.webp") 100% 44%/70% 100% no-repeat}
.q-hero::after{content:'';position:absolute;inset:auto 0 0;height:160px;background:linear-gradient(0deg,rgba(245,245,243,.96),rgba(245,245,243,0));pointer-events:none}
.q-hero-inner{position:relative;z-index:2;min-height:790px;display:flex;align-items:center;padding-top:76px}
.q-hero-copy{width:min(780px,63%);padding-bottom:40px}
.q-hero h1{margin:0;font-size:clamp(4.5rem,6.5vw,6.7rem);line-height:.83;letter-spacing:-.067em;font-weight:800}
.q-hero h1 .script{position:relative;display:inline-block;color:var(--orange);font-family:'Caveat','Comic Neue','Segoe Print',cursive;font-size:.9em;font-weight:700;letter-spacing:-.03em;margin-left:10px;white-space:nowrap;line-height:1;padding:0 2px 6px;vertical-align:baseline}
.q-hero h1 .script::after{content:'';position:absolute;left:0;right:0;bottom:0;height:0;border-bottom:3px solid var(--orange);border-radius:50%;transform:rotate(-3deg);pointer-events:none}
.q-hero p{max-width:500px;margin:34px 0 25px;font-size:1.04rem;color:#353a41;line-height:1.52}
.q-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.q-btn{min-height:54px;padding:0 22px;border-radius:11px;border:1px solid rgba(17,19,24,.28);display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.89rem;font-weight:800;transition:.22s}
.q-btn-primary{background:var(--orange);border-color:var(--orange);color:#fff;box-shadow:0 13px 32px rgba(255,121,0,.25)}
.q-btn-primary:hover{background:var(--orange-hover);transform:translateY(-2px)}
.q-btn-secondary{background:rgba(255,255,255,.18);backdrop-filter:blur(8px)}
.q-btn-secondary:hover{background:#fff;border-color:#fff;transform:translateY(-2px)}
.q-hero-note{position:absolute;right:5%;bottom:27%;z-index:3;width:190px;margin:0;color:#fff;font-family:'Caveat','Comic Neue','Segoe Print',cursive;font-size:1.4rem;line-height:1.06;text-align:center;transform:rotate(-4deg);text-shadow:0 3px 18px rgba(0,0,0,.4);pointer-events:none}
.q-hero-note svg{display:block;margin:14px auto 0;transform:rotate(6deg)}

/* Category bar */
.q-categories{position:relative;z-index:10;margin-top:-62px}
.q-category-grid{display:grid;grid-template-columns:repeat(5,1fr);padding:18px 19px;background:rgba(255,255,255,.96);border:1px solid rgba(17,19,24,.06);border-radius:23px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.q-category{display:flex;align-items:center;gap:15px;padding:10px 18px;border-right:1px solid #ededed;min-width:0;transition:.2s}
.q-category:last-child{border-right:0}
.q-category:hover{transform:translateY(-2px)}
.q-category-icon{width:54px;height:54px;flex:0 0 54px;border-radius:50%;display:grid;place-items:center;background:#f1f4f5;color:#18202a}
.q-category:nth-child(2) .q-category-icon{background:#f7f0df}
.q-category:nth-child(3) .q-category-icon{background:#e8f3f8}
.q-category:nth-child(4) .q-category-icon{background:#fbebea}
.q-category:nth-child(5) .q-category-icon{background:#f8f0de}
.q-category strong{display:block;font-size:.82rem;white-space:nowrap}
.q-category span{display:block;font-size:.71rem;color:#7b7e83;line-height:1.45;margin-top:2px}

/* Sections */
.q-main{background:var(--white)}
.q-section{padding:76px 0 0}
.q-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}
.q-heading h2{font-size:2rem;letter-spacing:-.045em;line-height:1.1;margin:0}
.q-heading p{font-size:.75rem;color:var(--muted);margin:7px 0 0}
.q-link{display:inline-flex;align-items:center;gap:9px;font-size:.8rem;font-weight:700}
.q-link:hover{color:var(--orange)}

/* Popular cards */
.q-popular-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.q-article-card{position:relative;min-height:438px;border-radius:17px;overflow:hidden;color:#fff;isolation:isolate;box-shadow:0 16px 36px rgba(0,0,0,.12)}
.q-article-card>img{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-2;transition:transform .55s ease}
.q-article-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.88) 100%)}
.q-article-card:hover>img{transform:scale(1.045)}
.q-card-content{min-height:438px;padding:20px 20px 17px;display:flex;flex-direction:column}
.q-tags{display:flex;gap:7px;flex-wrap:wrap}
.q-tag{padding:6px 10px;background:rgba(70,70,70,.58);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:.68rem;font-weight:600;backdrop-filter:blur(10px)}
.q-article-card h3{margin:auto 0 16px;font-size:1.45rem;line-height:1.22;letter-spacing:-.03em}
.q-meta{display:flex;align-items:center;gap:9px;font-size:.72rem;color:rgba(255,255,255,.82)}
.q-meta .save{margin-left:auto;width:30px;height:30px;padding:0;border:0;background:transparent;color:#fff;display:grid;place-items:center}
.q-meta .save.saved{color:var(--orange)}

/* Destinations */
.q-destination-heading{align-items:center}
.q-small-button{min-height:43px;padding:0 17px;border:1px solid #d9dadd;border-radius:8px;background:#fff;font-size:.76rem;font-weight:700;display:inline-flex;align-items:center;gap:9px}
.q-small-button:hover{border-color:var(--orange);color:var(--orange)}
.q-destination-wrap{position:relative}
.q-destinations{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.q-destination-card{position:relative;aspect-ratio:.84;overflow:hidden;border-radius:14px;color:#fff;isolation:isolate;box-shadow:0 12px 28px rgba(0,0,0,.1)}
.q-destination-card img{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-2;transition:transform .45s}
.q-destination-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.9) 100%)}
.q-destination-card:hover img{transform:scale(1.055)}
.q-destination-copy{position:absolute;left:14px;right:14px;bottom:13px}
.q-destination-copy strong{display:block;font-size:.82rem}
.q-destination-copy span{display:block;font-size:.71rem;line-height:1.35;color:rgba(255,255,255,.84);margin-top:2px}
.q-carousel-arrow{position:absolute;right:-14px;top:50%;transform:translateY(-50%);width:49px;height:49px;border:0;border-radius:50%;background:#fff;color:var(--orange);box-shadow:0 10px 30px rgba(0,0,0,.14);display:grid;place-items:center;z-index:3}

/* Stories */
.q-story{position:relative;overflow:hidden;min-height:360px;border-radius:18px;color:#fff;isolation:isolate;background:#12161a}
.q-story-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-3;filter:saturate(.82)}
.q-story::before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(15,18,21,.98) 0%,rgba(15,18,21,.82) 36%,rgba(15,18,21,.22) 100%)}
.q-story::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(0,0,0,.25),transparent 60%)}
.q-story-inner{min-height:360px;display:grid;grid-template-columns:.85fr 1.25fr;gap:28px;align-items:center;padding:26px 28px}
.q-story-copy{max-width:390px}
.q-eyebrow{font-size:.67rem;color:var(--orange);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.q-story h2{font-size:2.1rem;line-height:1.12;letter-spacing:-.045em;margin:15px 0 10px}
.q-story-copy p{font-size:.78rem;color:rgba(255,255,255,.85);margin:0 0 20px}
.q-story-button{background:#fff;color:#13161a;border-color:#fff;min-height:47px;padding-inline:19px;font-size:.78rem}
.q-story-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.q-story-card{position:relative;min-height:245px;border-radius:14px;overflow:hidden;isolation:isolate}
.q-story-card img{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-2;transition:transform .45s}
.q-story-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.88))}
.q-story-card:hover img{transform:scale(1.055)}
.q-story-card div{position:absolute;left:13px;right:13px;bottom:12px}
.q-story-card small{font-size:.59rem;color:rgba(255,255,255,.82)}
.q-story-card strong{display:block;font-size:.76rem;line-height:1.25;margin-top:3px}

/* Newsletter */
.q-newsletter{margin-top:34px;padding-bottom:36px}
.q-newsletter-box{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center;padding:27px 42px;border-radius:18px;background:linear-gradient(105deg,#f6f3ec,#fbf5e8);border:1px solid #f2ede2}
.q-newsletter-copy{display:flex;align-items:center;gap:23px}
.q-plane{width:90px;flex:0 0 90px;color:#353a40}
.q-newsletter-copy h3{font-size:1.25rem;margin:0 0 6px;letter-spacing:-.03em}
.q-newsletter-copy p{font-size:.72rem;margin:0;color:#50555c;max-width:360px}
.q-newsletter form{display:grid;grid-template-columns:1fr 145px}
.q-newsletter input{height:52px;border:0;background:#fff;padding:0 18px;border-radius:9px 0 0 9px;outline:none;color:#17191d}
.q-newsletter button{border:0;border-radius:0 9px 9px 0;background:var(--orange);color:#fff;font-weight:800;font-size:.78rem}
.q-newsletter small{display:block;text-align:center;margin-top:8px;color:#777b80;font-size:.65rem}

/* Footer */
.q-footer{padding:28px 0 44px;background:var(--white)}
.q-footer-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:38px}
.q-footer-brand{padding-right:28px}
.q-footer .q-logo{min-width:0}
.q-footer-copy{font-size:.69rem;color:var(--muted);max-width:230px;margin:23px 0 20px}
.q-socials{display:flex;gap:14px}
.q-socials a{width:28px;height:28px;display:grid;place-items:center;color:#17191d}
.q-footer-col{padding-left:28px;border-left:1px solid #ececee}
.q-footer-col h4{font-size:.72rem;margin:0 0 16px}
.q-footer-col a,.q-footer-col p{display:block;margin:8px 0;color:#555a61;font-size:.68rem}
.q-footer-col a:hover{color:var(--orange)}
.q-copyright{margin-top:43px!important;color:#8d9095!important}
.toast{position:fixed;right:24px;bottom:24px;z-index:100;background:#17191d;color:#fff;border-radius:12px;padding:13px 17px;box-shadow:0 16px 40px rgba(0,0,0,.25);opacity:0;transform:translateY(30px);transition:.25s}
.toast.show{opacity:1;transform:none}

/* Dark */
[data-theme="dark"] body{background:#101215}
[data-theme="dark"] .q-header{color:#17191d}
[data-theme="dark"] .q-main,[data-theme="dark"] .q-footer{background:#101215}
[data-theme="dark"] .q-category-grid{background:rgba(25,27,30,.95);border-color:#2c2f34}
[data-theme="dark"] .q-category{border-color:#303338}
[data-theme="dark"] .q-category strong{color:#f5f6f7}
[data-theme="dark"] .q-category-icon{filter:brightness(.88)}
[data-theme="dark"] .q-small-button{background:#17191d;border-color:#34373d;color:#f4f5f6}
[data-theme="dark"] .q-footer-col{border-color:#2e3136}
[data-theme="dark"] .q-footer-col a,[data-theme="dark"] .q-footer-col p,[data-theme="dark"] .q-footer-copy{color:#aeb2b8}
[data-theme="dark"] .q-newsletter-box{background:#1a1c20;border-color:#2c2f34}
[data-theme="dark"] .q-newsletter-copy h3{color:#fff}
[data-theme="dark"] .q-newsletter-copy p{color:#b9bdc3}

@media (max-width:1120px){
  .container{width:min(calc(100% - 32px),var(--container))}
  .q-nav{position:fixed;top:82px;left:16px;right:16px;margin:0;padding:14px;background:rgba(255,255,255,.97);border:1px solid rgba(0,0,0,.08);border-radius:18px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}
  .q-nav.open{display:flex}
  .q-nav a{padding:13px 15px}
  .q-menu{display:grid}
  .q-subscribe{display:none}
  .q-header-inner{height:82px}
  .q-header{height:82px}
  .q-hero,.q-hero-inner{min-height:720px}
  .q-hero h1{font-size:clamp(4.2rem,8vw,6.1rem)}
  .q-category-grid{grid-template-columns:repeat(3,1fr);gap:0}
  .q-category:nth-child(3){border-right:0}
  .q-category:nth-child(n+4){border-top:1px solid #ededed}
  .q-story-inner{grid-template-columns:1fr}
  .q-story-copy{max-width:620px}
  .q-footer-grid{grid-template-columns:1.3fr repeat(2,1fr)}
}
@media (max-width:820px){
  .q-logo{min-width:150px}
  .q-logo-main{font-size:1.35rem}
  .q-actions .q-icon-btn:first-child{display:none}
  .q-hero{min-height:760px;padding-top:0;background:#f5f5f3}
  .q-hero::before{background:linear-gradient(0deg,#f6f6f4 2%,rgba(246,246,244,.94) 35%,rgba(246,246,244,.12) 70%),url("../img/home-v2/hero-right.987a34e58dde.webp") 72% 0/cover no-repeat}
  .q-hero-inner{min-height:760px;align-items:flex-end;padding:170px 0 92px}
  .q-hero-copy{width:100%;padding:0}
  .q-hero h1{font-size:clamp(3.4rem,13vw,5.5rem);max-width:680px}
  .q-hero p{margin:24px 0 20px;max-width:560px}
  .q-hero-note{display:none}
  .q-categories{margin-top:-52px}
  .q-category-grid{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding:12px}
  .q-category{min-width:235px;border:0;scroll-snap-align:start}
  .q-popular-grid{grid-template-columns:1fr 1fr}
  .q-article-card:last-child{grid-column:1/-1;min-height:380px}
  .q-article-card:last-child .q-card-content{min-height:380px}
  .q-destinations{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
  .q-destination-card{min-width:210px;scroll-snap-align:start}
  .q-carousel-arrow{display:none}
  .q-story-cards{overflow:auto;grid-template-columns:repeat(3,220px)}
  .q-newsletter-box{grid-template-columns:1fr;padding:26px}
  .q-footer-grid{grid-template-columns:1fr 1fr}
  .q-footer-brand{grid-column:1/-1}
}
@media (max-width:590px){
  .container{width:min(calc(100% - 24px),var(--container))}
  .q-header-inner{height:72px;gap:10px}
  .q-header{height:72px}
  .q-logo-main{font-size:1.17rem}
  .q-logo-sub{display:none}
  .q-actions{margin-left:auto}
  .q-theme{display:none}
  .q-icon-btn{width:40px;height:40px}
  .q-nav{top:72px}
  .q-hero,.q-hero-inner{min-height:720px}
  .q-hero-inner{padding:205px 0 74px}
  .q-hero h1{font-size:clamp(3.1rem,15vw,4.7rem);line-height:.86}
  .q-hero h1 .script{display:inline-block;margin-left:0}
  .q-hero p{font-size:.93rem}
  .q-btn{min-height:49px;width:100%}
  .q-categories{margin-top:-40px}
  .q-section{padding-top:58px}
  .q-heading{align-items:flex-start}
  .q-heading h2{font-size:1.7rem}
  .q-link{font-size:.72rem;white-space:nowrap}
  .q-popular-grid{grid-template-columns:1fr}
  .q-article-card,.q-card-content,.q-article-card:last-child,.q-article-card:last-child .q-card-content{min-height:420px}
  .q-story-inner{padding:25px 20px}
  .q-story h2{font-size:1.75rem}
  .q-story-cards{grid-template-columns:repeat(3,190px)}
  .q-newsletter-copy{align-items:flex-start}
  .q-plane{width:58px;flex-basis:58px}
  .q-newsletter form{grid-template-columns:1fr}
  .q-newsletter input{border-radius:9px 9px 0 0}
  .q-newsletter button{height:48px;border-radius:0 0 9px 9px}
  .q-footer-grid{grid-template-columns:1fr}
  .q-footer-brand{grid-column:auto}
  .q-footer-col{padding:0;border:0}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.q-card-main{display:block;height:100%;color:inherit}
.q-article-card>.save{position:absolute;right:17px;bottom:13px;z-index:4;width:31px;height:31px;border:0;background:transparent;color:#fff;font-size:1.3rem;line-height:1;display:grid;place-items:center}
.q-article-card>.save.saved{color:var(--orange)}
.q-meta{padding-right:38px}
.q-card-main:focus-visible{outline:3px solid rgba(255,121,0,.9);outline-offset:-3px;border-radius:17px}

/* Django integration */
.q-newsletter button[disabled]{cursor:wait;opacity:.72}
.q-newsletter small{display:block;margin-top:10px;color:#8a8e94;font-size:.68rem}

.q-consent { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 7px; margin-top: 7px; max-width: 560px; color: #787878; font-size: 10px; line-height: 1.35; text-align: left; }
.q-consent input { width: 14px; height: 14px; margin-top: 0; accent-color: #f68a16; flex: 0 0 auto; }
.q-consent a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.q-flash-wrap { position: relative; z-index: 20; padding-top: 12px; }
.q-flash { padding: 12px 15px; border-radius: 12px; background: #fff; border: 1px solid #dedede; box-shadow: 0 8px 25px rgba(0,0,0,.07); font-size: 13px; }
.q-flash-success { border-color: rgba(32, 149, 91, .35); }
.q-flash-error { border-color: rgba(196, 52, 52, .35); }

/* Shared shell on inner pages */
body.page-inner{
  background:var(--soft);
}
body.page-inner .q-header{
  position:sticky;
  top:0;
  background:rgba(245,245,243,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(17,19,24,.06);
}
body.page-inner .q-nav a:hover,
body.page-inner .q-nav a:focus-visible,
body.page-inner .q-nav a.active{
  background:rgba(17,19,24,.06);
  box-shadow:none;
}
body.page-inner main{
  min-height:48vh;
}
body.page-inner .q-footer{
  margin-top:24px;
}
[data-theme="dark"] body.page-inner{
  background:#101215;
}
[data-theme="dark"] body.page-inner .q-header{
  background:rgba(16,18,21,.94);
  border-bottom-color:#2b2e33;
  color:var(--ink);
}
[data-theme="dark"] body.page-inner .q-nav a:hover,
[data-theme="dark"] body.page-inner .q-nav a:focus-visible,
[data-theme="dark"] body.page-inner .q-nav a.active{
  background:rgba(255,255,255,.08);
}
[data-theme="dark"] .q-logo-sub{color:#aeb2b8}
[data-theme="dark"] .q-icon-btn{background:rgba(255,255,255,.08);color:#f4f5f6}
