@import url('fonts.css');

:root{
  --bg:#f4f1ea;
  --bg-alt:#efece3;
  --card:#fbf9f4;
  --ink:#14201a;
  --ink-soft:#3c4a42;
  --muted:#5d6b63;
  --border:#ded8cb;
  --chip:#e8e3d8;
  --green:#1e4b3a;
  --green-dark:#14382b;
  --green-deep:#14281f;
  --green-border:#25392e;
  --green-muted:#b3c0b6;
  --green-link:#dcd6c8;
  --green-faint:#7d8f82;
  --orange:#b4653a;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Archivo',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Consolas,monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
a{color:var(--green);text-decoration:none;}
a:hover{color:var(--orange);}
img{max-width:100%;display:block;}
ul,ol{margin:0;padding:0;}
button{font-family:inherit;}

.wrap{max-width:1240px;margin:0 auto;padding-left:28px;padding-right:28px;}
.wrap-narrow{max-width:1000px;margin:0 auto;padding-left:28px;padding-right:28px;}
.wrap-copy{max-width:880px;margin:0 auto;padding-left:28px;padding-right:28px;}
.wrap-legal{max-width:820px;margin:0 auto;padding-left:28px;padding-right:28px;}
.wrap-form{max-width:1100px;margin:0 auto;padding-left:28px;padding-right:28px;}
.wrap-plans{max-width:1100px;margin:0 auto;padding-left:28px;padding-right:28px;}

@keyframes hlFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@keyframes hlSlide{from{transform:translateX(24px);opacity:0;}to{transform:none;opacity:1;}}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(244,241,234,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.site-header-inner{max-width:1240px;margin:0 auto;padding:14px 28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:10px;cursor:pointer;}
.brand-mark{width:30px;height:30px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;color:var(--bg);font-family:var(--serif);font-size:17px;flex:none;}
.brand-name{display:flex;flex-direction:column;line-height:1;}
.brand-name span:first-child{font-family:var(--serif);font-size:22px;letter-spacing:.01em;}
.brand-tag{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin-top:3px;}
.main-nav{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto;}
.main-nav a{padding:8px 11px;border-radius:999px;font-size:13.5px;font-weight:500;color:var(--muted);}
.main-nav a:hover{background:var(--chip);color:var(--ink);}
.main-nav a.active{color:var(--ink);background:var(--chip);}
.cart-btn{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--green);color:var(--bg);cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap;border:none;}
.cart-btn:hover{background:var(--green-dark);}

/* ---------- generic section rhythm ---------- */
.section{padding:88px 28px;}
.section-tight{padding:44px 28px 88px;}
.section-top{padding:70px 28px 0;}
.kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;}
.page-h1{font-size:54px;margin:16px 0 0;letter-spacing:-.02em;line-height:1.08;}
.page-lead{font-size:17px;line-height:1.65;color:var(--ink-soft);margin-top:18px;max-width:700px;}
.h2{font-size:42px;letter-spacing:-.015em;}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:600;font-size:14.5px;cursor:pointer;border:1px solid transparent;text-align:center;}
.btn-primary{background:var(--green);color:var(--bg);}
.btn-primary:hover{background:var(--green-dark);color:var(--bg);}
.btn-outline{border-color:var(--green);color:var(--green);background:none;}
.btn-outline:hover{background:var(--chip);color:var(--green);}
.btn-light{background:var(--bg);color:var(--green-deep);}
.btn-light:hover{background:#fff;}
.btn-sm{padding:9px 15px;border-radius:999px;font-size:12.5px;font-weight:600;}
.chip{padding:9px 17px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:none;color:var(--ink-soft);}
.chip.active{background:var(--green);color:var(--bg);border-color:var(--green);}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;}

/* ---------- hero ---------- */
.hero{padding:0 28px;position:relative;}
.hero-grid{padding:70px 0 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.hero h1{font-size:66px;line-height:1.03;margin:18px 0 0;letter-spacing:-.02em;}
.hero p{font-size:17.5px;line-height:1.65;color:var(--ink-soft);max-width:520px;margin:22px 0 0;}
.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:34px;margin-top:44px;flex-wrap:wrap;}
.hero-stats .n{font-family:var(--serif);font-size:34px;line-height:1;}
.hero-stats .l{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:7px;}
.photo-box{border-radius:6px;border:1px solid var(--border);overflow:hidden;position:relative;background:var(--border);}
.photo-box img{width:100%;height:100%;object-fit:cover;}
.hero-photo{height:520px;}

.trust-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-alt);}
.trust-inner{padding:26px 28px;display:flex;gap:40px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--ink-soft);}
.trust-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.trust-item{display:flex;align-items:center;gap:9px;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--orange);display:inline-block;flex:none;}

/* ---------- cards ---------- */
.card{background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;}
.card:hover{border-color:var(--green);}
.card-photo{height:180px;position:relative;background:var(--border);}
.card-photo img{width:100%;height:100%;object-fit:cover;}
.card-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1;}
.card-tags{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;}
.tag{padding:4px 9px;border-radius:999px;background:var(--chip);color:var(--ink-soft);}
.tag-solid{padding:4px 9px;border-radius:999px;background:var(--green);color:var(--bg);}
.card-title{font-family:var(--serif);font-size:25px;line-height:1.2;}
.card-desc{margin:0;font-size:14px;line-height:1.6;color:var(--muted);}
.card-foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.price{font-weight:700;font-size:16px;}

.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.section-head-link{font-size:14px;font-weight:600;color:var(--green);border-bottom:1px solid var(--green);padding-bottom:2px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:38px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;}

/* ---------- dark "how it works" ---------- */
.dark-section{background:var(--green-deep);color:#e9e5da;padding:88px 28px;}
.dark-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;}
.dark-section h2{color:var(--bg);}
.dark-section p{font-size:16px;line-height:1.7;color:var(--green-muted);margin-top:18px;}
.steps{display:grid;gap:2px;background:var(--green-border);}
.step{background:var(--green-deep);padding:24px 26px;display:flex;gap:22px;}
.step-n{font-family:var(--mono);font-size:11px;color:var(--orange);padding-top:5px;}
.step-t{font-size:17px;font-weight:600;color:var(--bg);}
.step-d{margin:7px 0 0;font-size:14.5px;line-height:1.6;color:var(--green-muted);}

/* ---------- product grid ---------- */
.product-card{background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;}
.product-card:hover{border-color:var(--green);}
.product-photo{height:170px;background:var(--border);position:relative;}
.product-photo img{width:100%;height:100%;object-fit:cover;}
.product-photo.tall{height:200px;}
.product-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.product-body.roomy{padding:20px;gap:9px;}
.product-name{font-size:15.5px;font-weight:600;}
.product-body.roomy .product-name{font-size:16px;line-height:1.3;}
.product-cat{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);}
.product-short{font-size:13px;color:var(--muted);line-height:1.5;}
.product-body.roomy .product-short{font-size:13.5px;line-height:1.55;}
.product-stock{font-size:12.5px;color:#4d7a5c;}
.product-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;}
.product-foot.bordered{padding-top:14px;border-top:1px solid var(--border);}
.add-btn{padding:8px 14px;border-radius:999px;background:var(--green);color:var(--bg);font-size:12.5px;font-weight:600;cursor:pointer;border:none;}
.add-btn:hover{background:var(--orange);}

/* ---------- blog teasers on home ---------- */
.teasers{padding:0 28px 88px;}
.teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.teaser{border-top:2px solid var(--ink);padding-top:18px;cursor:pointer;display:block;}
.teaser-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;}
.teaser-title{font-family:var(--serif);font-size:24px;line-height:1.25;margin-top:10px;color:var(--ink);}
.teaser-lead{font-size:14px;line-height:1.6;color:var(--muted);margin-top:8px;}

/* ---------- team ---------- */
.team-photo{height:230px;border-radius:6px;border:1px solid var(--border);background:var(--border);overflow:hidden;}
.team-photo img{width:100%;height:100%;object-fit:cover;}
.team-name{font-size:17px;font-weight:600;margin-top:14px;}
.team-role{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-top:5px;}
.team-bio{font-size:14px;line-height:1.6;color:var(--muted);margin:9px 0 0;}

/* ---------- tours list ---------- */
.tour-list{display:flex;flex-direction:column;gap:2px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden;}
.tour-row{background:var(--card);padding:26px 28px;display:grid;grid-template-columns:120px 1fr 220px 150px;gap:26px;align-items:center;}
.tour-day{font-family:var(--serif);font-size:30px;line-height:1;}
.tour-month{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.tour-name{font-family:var(--serif);font-size:24px;line-height:1.2;}
.tour-desc{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--muted);max-width:520px;}
.tour-meta{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-soft);}
.tour-price{font-weight:700;font-size:20px;text-align:right;}
.tour-cta{text-align:right;}
.tour-cta .btn-sm{margin-top:10px;display:inline-block;}

/* ---------- courses ---------- */
.course-card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:30px;}
.course-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.course-name{font-family:var(--serif);font-size:27px;line-height:1.2;}
.course-len{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--chip);color:var(--ink-soft);white-space:nowrap;}
.course-desc{font-size:14.5px;line-height:1.65;color:var(--muted);margin:14px 0 18px;}
.course-points{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:16px;}
.course-point{display:flex;gap:10px;font-size:14px;color:var(--ink-soft);}
.course-point .m{color:var(--orange);}
.course-foot{display:flex;align-items:center;justify-content:space-between;margin-top:20px;}
.course-price{font-weight:700;font-size:19px;}

/* ---------- shop perks ---------- */
.perks{margin:44px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden;}
.perk{background:var(--bg-alt);padding:22px 24px;}
.perk-t{font-size:15px;font-weight:600;}
.perk-d{font-size:13.5px;color:var(--muted);line-height:1.55;margin-top:6px;}

/* ---------- blog list ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.post{display:flex;flex-direction:column;}
.post-photo{height:190px;border-radius:6px;background:var(--border);border:1px solid var(--border);overflow:hidden;}
.post-photo img{width:100%;height:100%;object-fit:cover;}
.post-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:16px;}
.post-title{font-family:var(--serif);font-size:26px;line-height:1.22;margin-top:9px;}
.post-lead,.post-body{font-size:14.5px;line-height:1.65;color:var(--muted);margin:10px 0 0;}

/* ---------- plans ---------- */
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start;}
.plan-card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:32px;display:flex;flex-direction:column;gap:14px;}
.plan-tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);}
.plan-name{font-family:var(--serif);font-size:30px;}
.plan-price{font-size:36px;font-weight:700;letter-spacing:-.02em;}
.plan-perks{display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--border);padding-top:16px;}
.plan-perk{display:flex;gap:10px;font-size:14px;line-height:1.5;color:var(--ink-soft);}
.plan-perk .m{color:var(--orange);}
.plan-cta{margin-top:8px;}

/* ---------- faq ---------- */
.faq-item{border-top:1px solid var(--border);}
.faq-item summary{padding:22px 0;display:flex;justify-content:space-between;gap:20px;cursor:pointer;align-items:center;font-size:19px;font-weight:600;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-family:var(--mono);font-size:18px;color:var(--orange);margin-left:12px;}
.faq-item[open] summary::after{content:'\2212';}
.faq-item p{margin:0;padding:0 0 24px;max-width:700px;font-size:15.5px;line-height:1.7;color:var(--ink-soft);}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.contact-list{margin-top:32px;display:flex;flex-direction:column;gap:20px;border-top:1px solid var(--border);padding-top:24px;}
.contact-l{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.contact-v{font-size:16px;margin-top:6px;line-height:1.5;}
.form-panel{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:32px;}
.field{display:flex;flex-direction:column;gap:16px;}
.field label,.field .flabel{font-size:13px;font-weight:600;margin-bottom:7px;display:block;}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea,.field select{
  width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:4px;background:var(--bg);
  font-family:var(--sans);font-size:14.5px;color:var(--ink);
}
.field textarea{resize:vertical;}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.55;color:var(--muted);}
.consent input{margin-top:3px;}
.honey{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}
.thanks{padding:40px 0;text-align:center;}
.thanks .t{font-family:var(--serif);font-size:30px;}
.thanks p{font-size:15px;color:var(--muted);line-height:1.6;margin-top:12px;}

/* ---------- legal ---------- */
.legal-eff{font-family:var(--mono);font-size:11px;color:var(--muted);}
.legal-blocks{margin-top:36px;display:flex;flex-direction:column;gap:30px;}
.legal-block h2{font-size:26px;margin:0 0 10px;}
.legal-block p{margin:0;font-size:15.5px;line-height:1.75;color:var(--ink-soft);}
.legal-footer{margin-top:44px;padding:24px 26px;background:var(--bg-alt);border:1px solid var(--border);border-radius:6px;font-size:14px;line-height:1.7;color:var(--ink-soft);}

/* ---------- footer ---------- */
.site-footer{background:var(--green-deep);color:var(--green-muted);padding:64px 28px 30px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;}
.footer-brand{font-family:var(--serif);font-size:26px;color:var(--bg);}
.footer-about{font-size:14px;line-height:1.7;margin:12px 0 0;max-width:300px;}
.footer-contact{margin-top:20px;font-size:13.5px;line-height:1.8;}
.footer-col-title{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--green-faint);}
.footer-links{display:flex;flex-direction:column;gap:9px;margin-top:16px;}
.footer-links a{font-size:14px;color:var(--green-link);}
.footer-links a:hover{color:var(--orange);}
.footer-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--green-border);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12.5px;color:var(--green-faint);}

/* ---------- cart drawer ---------- */
.cart-overlay{position:fixed;inset:0;z-index:60;display:none;justify-content:flex-end;}
.cart-overlay.open{display:flex;}
.cart-scrim{position:absolute;inset:0;background:rgba(20,32,26,.45);border:none;cursor:pointer;}
.cart-panel{position:relative;width:440px;max-width:100%;background:var(--bg);height:100%;display:flex;flex-direction:column;animation:hlSlide .22s ease-out;box-shadow:-20px 0 60px rgba(0,0,0,.2);}
.cart-head{padding:24px 28px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.cart-head .t{font-family:var(--serif);font-size:26px;}
.cart-close{cursor:pointer;font-size:22px;color:var(--muted);line-height:1;background:none;border:none;}
.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:40px;text-align:center;}
.cart-empty .k{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.cart-empty p{font-size:15px;color:var(--muted);line-height:1.6;margin:0;}
.cart-items{flex:1;overflow-y:auto;padding:8px 28px;}
.cart-line{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--border);}
.cart-line-photo{width:64px;height:64px;flex:none;border-radius:4px;background:var(--border);overflow:hidden;}
.cart-line-photo img{width:100%;height:100%;object-fit:cover;}
.cart-line-name{font-size:15px;font-weight:600;line-height:1.3;}
.cart-line-price{font-size:13px;color:var(--muted);margin-top:4px;}
.qty-row{display:flex;align-items:center;gap:12px;margin-top:10px;}
.qty-btn{width:26px;height:26px;border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;background:var(--card);}
.qty-val{font-size:14px;min-width:14px;text-align:center;}
.remove-btn{margin-left:auto;font-size:12.5px;color:var(--orange);cursor:pointer;background:none;border:none;}
.cart-line-total{font-weight:700;font-size:15px;}
.cart-summary{padding:22px 28px;border-top:1px solid var(--border);background:var(--bg-alt);}
.sum-row{display:flex;justify-content:space-between;font-size:14px;color:var(--ink-soft);}
.sum-row + .sum-row{margin-top:8px;}
.sum-total{display:flex;justify-content:space-between;font-size:19px;font-weight:700;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
.checkout-note{font-size:11.5px;color:var(--muted);line-height:1.6;margin-top:12px;text-align:center;}

/* ---------- cookie bar ---------- */
.cookie-bar{position:fixed;left:22px;bottom:22px;z-index:80;max-width:460px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:24px 26px;box-shadow:0 18px 50px rgba(20,32,26,.22);animation:hlFade .25s ease-out;display:none;}
.cookie-bar.open{display:block;}
.cookie-bar .t{font-size:16px;font-weight:600;}
.cookie-bar p{font-size:13.5px;line-height:1.65;color:var(--ink-soft);margin:9px 0 0;}
.cookie-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap;}
.cookie-actions button{border:none;}
.cookie-actions .secondary{background:none;border:1px solid var(--border);color:var(--ink);}

/* ---------- order confirmation ---------- */
.order-modal-wrap{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:rgba(20,32,26,.5);padding:28px;}
.order-modal{background:var(--bg);border-radius:8px;max-width:460px;padding:40px;text-align:center;animation:hlFade .2s ease-out;}
.order-modal .t{font-family:var(--serif);font-size:34px;margin-top:14px;}
.order-modal p{font-size:15px;line-height:1.7;color:var(--ink-soft);margin:14px 0 0;}

/* ---------- checkout page ---------- */
.checkout-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;}
.summary-card{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:28px;}
.summary-line{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);align-items:center;}
.summary-line:first-child{padding-top:0;}
.summary-thumb{width:56px;height:56px;flex:none;border-radius:4px;background:var(--border);overflow:hidden;}
.summary-thumb img{width:100%;height:100%;object-fit:cover;}
.summary-name{font-size:14.5px;font-weight:600;}
.summary-qty{font-size:12.5px;color:var(--muted);margin-top:3px;}
.summary-price{margin-left:auto;font-weight:700;font-size:14.5px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.empty-cart-box{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:60px 30px;text-align:center;}

/* ---------- 404 ---------- */
.error-page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 28px;}
.error-page .code{font-family:var(--mono);font-size:13px;letter-spacing:.2em;color:var(--orange);text-transform:uppercase;}
.error-page h1{font-size:56px;margin:16px 0;}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .hero-grid,.dark-grid,.grid-2,.contact-grid,.checkout-grid{grid-template-columns:1fr;}
  .grid-3,.post-grid,.teaser-grid{grid-template-columns:repeat(2,1fr);}
  .grid-4,.perks,.plans-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .tour-row{grid-template-columns:1fr;text-align:left;}
  .tour-price,.tour-cta{text-align:left;}
  .hero h1{font-size:46px;}
  .page-h1{font-size:38px;}
}
@media (max-width:640px){
  .grid-3,.grid-4,.post-grid,.teaser-grid,.perks,.plans-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .hero h1{font-size:36px;}
  .cart-panel{width:100%;}
}
