/* Sand & Slopes v2.1 — verified site shell */
:root{
  --shell-ink:#12354a;
  --shell-muted:#607789;
  --shell-blue:#1697d5;
  --shell-blue-dark:#0876ad;
  --shell-sky:#eaf7fd;
  --shell-line:rgba(18,53,74,.13);
  --shell-shadow:0 16px 44px rgba(18,53,74,.10);
}

.skip-link{
  position:fixed;
  z-index:3000;
  top:10px;
  left:12px;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  color:var(--shell-ink);
  font-weight:800;
  box-shadow:var(--shell-shadow);
}
.skip-link:focus{transform:translateY(0)}

.site-shell-header{
  position:relative;
  z-index:1000;
  width:min(1280px,calc(100% - 28px));
  margin:14px auto 0;
  border:1px solid rgba(255,255,255,.82);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 42px rgba(18,53,74,.11);
  backdrop-filter:blur(18px);
}
.shell-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:82px;
  padding:10px 14px 10px 18px;
}
.shell-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:var(--shell-ink)!important;
  text-decoration:none!important;
}
.shell-brand img{
  width:58px!important;
  height:50px!important;
  flex:0 0 auto;
  object-fit:contain;
}
.shell-brand-copy{display:grid;gap:2px;min-width:0}
.shell-brand-name{
  font-size:1.03rem;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.02em;
}
.shell-brand-note{
  overflow:hidden;
  color:var(--shell-muted);
  font-size:.76rem;
  font-weight:700;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.shell-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
}
.shell-nav a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border-radius:999px;
  color:var(--shell-ink)!important;
  font-size:.88rem;
  font-weight:800;
  text-decoration:none!important;
  white-space:nowrap;
}
.shell-nav a:hover,.shell-nav a:focus-visible{background:var(--shell-sky)}
.shell-nav .shell-cta{
  margin-left:5px;
  padding-inline:18px;
  background:linear-gradient(135deg,var(--shell-blue),#76cbee);
  color:#062f46!important;
  box-shadow:0 8px 20px rgba(22,151,213,.22);
}

.site-shell-footer{
  width:min(1280px,calc(100% - 28px))!important;
  margin:38px auto 18px!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,#103c55,#0b2f45)!important;
  color:#fff!important;
  box-shadow:0 24px 58px rgba(11,47,69,.20)!important;
}
.shell-footer-main{
  display:grid;
  grid-template-columns:minmax(260px,1.25fr) repeat(2,minmax(170px,.75fr));
  gap:34px;
  padding:36px 38px 30px;
}
.shell-footer-brand{max-width:470px}
.shell-footer-title{
  margin:0 0 10px;
  color:#fff;
  font-size:1.28rem;
  font-weight:900;
  letter-spacing:-.025em;
}
.shell-footer-copy{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:.94rem;
  line-height:1.7;
}
.shell-footer-heading{
  display:block;
  margin-bottom:12px;
  color:#8fdcff;
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.shell-footer-links{display:grid;gap:9px}
.shell-footer-links a{
  width:fit-content;
  color:rgba(255,255,255,.88)!important;
  font-size:.91rem;
  font-weight:700;
  text-decoration:none!important;
}
.shell-footer-links a:hover,.shell-footer-links a:focus-visible{color:#fff!important;text-decoration:underline!important}
.shell-footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:17px 38px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.67);
  font-size:.8rem;
}
.shell-footer-legal{display:flex;gap:14px;flex-wrap:wrap}
.shell-footer-legal a{color:inherit!important;font-weight:700}
.shell-travel-note{
  margin:0;
  padding:15px 38px 20px;
  color:rgba(255,255,255,.60);
  font-size:.74rem;
  line-height:1.55;
}

.trust-bar{
  line-height:1.5;
  text-align:center;
}

.content-verification{
  margin-top:22px!important;
  padding:20px 22px;
  border:1px solid var(--shell-line);
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#f1f9fd);
  color:var(--shell-muted);
  box-shadow:0 12px 30px rgba(18,53,74,.07);
}
.content-verification strong{display:block;margin-bottom:5px;color:var(--shell-ink)}
.content-verification p{margin:0;line-height:1.65}
.content-verification .source-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px}
.content-verification a{font-weight:800}

.not-found-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 12%,rgba(118,203,238,.26),transparent 30%),
    radial-gradient(circle at 88% 18%,rgba(255,209,102,.22),transparent 26%),
    linear-gradient(180deg,#f7fbfe,#edf6fb);
}
.not-found-main{padding:48px 0 8px}
.not-found-hero{
  width:min(1120px,calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:20px;
}
.not-found-copy,.not-found-map{
  border:1px solid rgba(255,255,255,.84);
  border-radius:30px;
  box-shadow:var(--shell-shadow);
}
.not-found-copy{
  padding:clamp(32px,5vw,62px);
  background:linear-gradient(145deg,#103c55,#0b2f45);
  color:#fff;
}
.not-found-code{
  display:inline-flex;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(255,255,255,.09);
  color:#9edfff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.09em;
}
.not-found-copy h1{
  max-width:650px;
  margin:18px 0 15px;
  color:#fff;
  font-size:clamp(2.5rem,5.4vw,5rem);
  line-height:.98;
  letter-spacing:-.055em;
}
.not-found-copy p{max-width:610px;margin:0;color:rgba(255,255,255,.79);font-size:1.04rem;line-height:1.7}
.not-found-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.not-found-actions a{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:11px 18px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none!important;
}
.not-found-actions .primary{background:#fff;color:#103c55!important}
.not-found-actions .secondary{border:1px solid rgba(255,255,255,.28);color:#fff!important}
.not-found-map{
  position:relative;
  min-height:410px;
  overflow:hidden;
  display:grid;
  place-items:center;
  padding:30px;
  background:
    linear-gradient(rgba(255,255,255,.38) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.38) 1px,transparent 1px),
    linear-gradient(145deg,#d9f1fb,#f8fcfe);
  background-size:34px 34px,34px 34px,auto;
}
.not-found-compass{
  width:190px;
  height:190px;
  display:grid;
  place-items:center;
  border:2px solid rgba(18,53,74,.18);
  border-radius:50%;
  background:rgba(255,255,255,.78);
  color:var(--shell-ink);
  box-shadow:0 18px 46px rgba(18,53,74,.12);
  font-size:3.8rem;
  transform:rotate(-16deg);
}
.recovery-grid{
  width:min(1120px,calc(100% - 32px));
  margin:20px auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.recovery-card{
  display:block;
  padding:22px;
  border:1px solid var(--shell-line);
  border-radius:22px;
  background:rgba(255,255,255,.92);
  color:var(--shell-ink)!important;
  box-shadow:0 12px 30px rgba(18,53,74,.07);
  text-decoration:none!important;
}
.recovery-card span{display:block;margin-bottom:7px;font-size:1.03rem;font-weight:900}
.recovery-card small{display:block;color:var(--shell-muted);font-size:.86rem;line-height:1.55}
.recovery-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(18,53,74,.11)}

@media (max-width:900px){
  .shell-header-inner{align-items:flex-start;flex-direction:column}
  .shell-nav{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:2px}
  .shell-footer-main{grid-template-columns:1fr 1fr}
  .shell-footer-brand{grid-column:1 / -1}
  .not-found-hero{grid-template-columns:1fr}
  .not-found-map{min-height:260px}
}
@media (max-width:620px){
  .site-shell-header{width:calc(100% - 18px);margin-top:9px;border-radius:19px}
  .shell-header-inner{padding:10px}
  .shell-brand img{width:50px!important;height:44px!important}
  .shell-brand-note{max-width:220px}
  .shell-nav a{padding-inline:11px;font-size:.82rem}
  .shell-footer-main{grid-template-columns:1fr;padding:28px 24px 24px}
  .shell-footer-brand{grid-column:auto}
  .shell-footer-bottom{align-items:flex-start;flex-direction:column;padding:16px 24px}
  .shell-travel-note{padding:12px 24px 20px}
  .recovery-grid{grid-template-columns:1fr}
  .not-found-main{padding-top:28px}
  .not-found-copy{padding:32px 24px}
}

@media (prefers-reduced-motion:reduce){
  .recovery-card{transition:none}
}
