/* Base / Cake font  */
@font-face {
  font-family: 'cakefont';
  src: url('../font/cakedingbats-webfont.eot');
  src: url('../font/cakedingbats-webfont.eot?#iefix') format('embedded-opentype'),
       url('../font/cakedingbats-webfont.woff2') format('woff2'),
       url('../font/cakedingbats-webfont.woff') format('woff'),
       url('../font/cakedingbats-webfont.ttf') format('truetype'),
       url('../font/cakedingbats-webfont.svg#cake_dingbatsregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

html { font-size: clamp(15px, 1.2vw, 18px); }
*, *::before, *::after { box-sizing: border-box; }
img, video { max-width: 100%; height: auto; display: block; }

body { padding: 60px 0; }
@media (max-width: 600px) { body { padding: 24px 0; } }

/* Old page bits kept (no header styles here) */
h1 { font-weight: bold; }
ul { list-style-type: none; margin: 0 0 30px 0; padding-left: 25px; }
hr { border-bottom: 1px solid #e7e7e7; border-top: 0; margin-bottom: 35px; }
.text-center { text-align: center; }
.links a { margin-right: 10px; }
.release-name { color: #D33C43; font-weight: 400; font-style: italic; }
.bullet:before {
  font-family: 'cakefont', sans-serif; font-size: 18px; display: inline-block;
  margin-left: -1.3em; width: 1.2em; -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; vertical-align: -1px;
}
.success:before { color: #88c671; content: "\0056"; }
.problem:before { color: #d33d44; content: "\0057"; }
.cake-error { padding: 10px; margin: 10px 0; }
#url-rewriting-warning { display: none; }

/*  Design tokens & helpers  */
:root{
  --background:#ffffff;
  --foreground:#305245;
  --card:#f4eee7;
  --card-foreground:#305245;
  --primary:#a6c3a1;
  --primary-foreground:#305245;
  --secondary:#f4eee7;
  --secondary-foreground:#305245;
  --muted:#f4eee7;
  --muted-foreground:#305245;
  --border:#a6c3a1;
}

.text-muted-foreground{ color:var(--muted-foreground); }
.bg-card{ background:var(--card); color:var(--card-foreground); }
.bg-muted{ background:var(--muted); color:var(--muted-foreground); }
.section-title{ font-size:2rem; margin-bottom:20px; color:var(--foreground); }

.container{ width:min(1200px,92%); margin-inline:auto; }

/*  Buttons  */
.btn{
  display:inline-block; padding:10px 20px; border-radius:6px;
  font-size:1rem; font-weight:500; cursor:pointer; text-decoration:none;
  transition:background .3s ease, color .3s ease, transform .15s ease;
}
.btn-primary{ background:var(--primary); color:var(--primary-foreground); }
.btn-primary:hover{ background:#8fb28d; }
.btn-secondary{ background:var(--secondary); color:var(--secondary-foreground); }
.btn-secondary:hover{ background:#e8e1d7; }
.btn-ghost{ background:transparent; border:1px solid var(--primary); color:var(--primary); }
.btn-ghost:hover{ background:var(--primary); color:var(--primary-foreground); }
@media (max-width:480px){ .btn{ padding:10px 14px; font-size:0.95rem; } }

/*  Hero (page content only)  */
.hero{
  display:grid;
  grid-template-columns:minmax(320px,1.2fr) 1fr;
  gap:48px; align-items:center; padding:48px 0;
}
.hero_title{
  font-family:serif; font-weight:700;
  font-size:clamp(2.2rem,5vw,3.5rem);
  line-height:1.1; margin:0 0 12px; color:var(--foreground,#305245);
}
.hero_tagline{
  font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.7;
  max-width:60ch; margin:0 0 24px; color:var(--muted-foreground,#4a5a52);
}
.hero_actions .btn{ margin-right:12px; }
.hero_image{ display:flex; justify-content:center; }
.hero_img{
  width:100%; max-width:620px; aspect-ratio:4/3; object-fit:cover;
  border-radius:16px; display:block;
}
@media (max-width:900px){
  .hero{ grid-template-columns:1fr; gap:28px; padding:28px 0; }
  .hero_image{ order:2; }
  .hero_tagline{ max-width:100%; }
  .hero_actions .btn{ width:100%; margin:8px 0 0; }
  .hero_actions .btn + .btn{ margin-left:0; }
}
@media (max-width:480px){
  .hero_title{ font-size:clamp(1.9rem,8vw,2.4rem); }
  .hero_tagline{ font-size:0.95rem; line-height:1.6; }
  .hero_img{ aspect-ratio:16/9; border-radius:12px; }
}

/* Product cards  */
.cards{ display:flex; flex-wrap:wrap; gap:20px; justify-content:center; }
.card{
  background:var(--card); border-radius:12px; padding:15px; text-align:center;
  flex:1 1 280px; max-width:320px; display:flex; flex-direction:column;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
}
.card img{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; margin-bottom:10px;
  cursor:pointer;
}
.card h3{ margin:10px 0; font-size:1.8rem; color:var(--card-foreground); }
@media (max-width:900px){ .cards{ gap:16px; } .card{ flex:1 1 46%; max-width:48%; } }
@media (max-width:640px){ .card{ flex:1 1 100%; max-width:100%; } .card h3{ font-size:1.4rem; } }

/* Values list  */
.values__list{
  display:flex; gap:30px; justify-content:center;
  margin:40px 0; padding:0; list-style:none;
}
.values__list li{ font-weight:bold; color:var(--foreground); }
@media (max-width:800px){
  .values__list{ flex-direction:column; gap:12px; align-items:center; }
  .values__list li{ font-weight:600; }
}

/*  Split content (luxury)  */
.luxury{
  display:flex; flex-wrap:wrap; gap:40px; margin:60px auto; max-width:1200px;
  padding:0 20px; align-items:center;
}
.luxury__text{ flex:1 1 50%; }
.luxury__image{ flex:1 1 50%; }
.luxury__image img{ border-radius:12px; width:100%; }
@media (max-width:1024px){ .luxury{ gap:28px; padding:0 16px; } }
@media (max-width:800px){ .luxury{ flex-direction:column; } .luxury__text,.luxury__image{ flex:1 1 100%; } }

/*  Contact strip & Footer  */
.contact-strip{
  background:var(--muted); padding:30px 20px; margin:40px 0; text-align:center; border-radius:8px;
}
.contact-strip a{ font-weight:500; color:var(--foreground); }
.mini-footer{ text-align:center; font-size:.9rem; color:#777; margin-top:50px; }
@media (max-width:640px){
  .contact-strip{ padding:20px 16px; text-align:left; }
  .mini-footer{ font-size:.85rem; margin-top:32px; }
}

/*  Accessibility niceties  */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important;
     transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* Keep borders legible on small screens */
@media (max-width:640px){ :root{ --border:#8fb28d; } }
