
:root{
  --ink:#2e2722;
  --muted:#746a62;
  --cream:#fffaf2;
  --sand:#f3e6d6;
  --peach:#efb48e;
  --orange:#e9864a;
  --brown:#6d4a36;
  --line:#eadbca;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:linear-gradient(180deg,#fffaf4 0%,#fffdf9 45%,#f8efe4 100%);
  color:var(--ink);
  font-family:Inter,Arial,Helvetica,sans-serif;
}
a{color:inherit}
.warm-nav{
  background:rgba(255,250,242,.93);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(109,74,54,.08);
}
.warm-nav .navbar-brand{color:var(--ink)!important}
.warm-nav .navbar-brand span{color:var(--orange)}
.warm-nav .nav-link{color:#66584f!important;font-weight:600}
.warm-nav .nav-link:hover{color:var(--orange)!important}
.navbar-toggler{border-color:var(--line)}
.navbar-toggler-icon{
  filter:invert(22%) sepia(12%) saturate(900%) hue-rotate(340deg);
}
.warm-hero{position:relative;overflow:hidden}
.warm-hero:before{
  content:"";
  position:absolute;
  width:420px;height:420px;border-radius:50%;
  background:rgba(239,180,142,.26);
  right:-120px;top:-160px;
  filter:blur(4px);
}
.eyebrow,.section-kicker{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:800;
  color:var(--orange);
  margin-bottom:.65rem;
}
.warm-display,.warm-preview{
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.42),transparent 34%),
    linear-gradient(145deg,#d99b70,#b86f45);
  color:white;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 24px 65px rgba(113,70,42,.18);
}
.display-box,.product-preview{
  min-height:360px;
  border-radius:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:clamp(3rem,10vw,7rem);
  font-weight:800;
  padding:2rem;
}
.product-preview{min-height:480px}
.warm-display strong{color:#fff0dc}
.small-label{
  font-size:.8rem;
  letter-spacing:.13em;
  text-transform:uppercase;
  opacity:.8;
  margin-bottom:1rem;
}
.warm-card,.catalog-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(109,74,54,.10);
  border-radius:26px;
  box-shadow:0 12px 36px rgba(96,62,39,.08);
}
.catalog-card{
  padding:1.1rem;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.catalog-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 44px rgba(96,62,39,.13);
  border-color:rgba(233,134,74,.28);
}
.catalog-icon{
  width:54px;height:54px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  background:var(--sand);color:var(--brown);
  font-size:1.4rem;font-weight:800;
}
.card-link{text-decoration:none;color:inherit}
.item-symbol{
  min-height:132px;
  border-radius:20px;
  background:linear-gradient(145deg,#f8eadb,#fff9f1);
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  font-size:2.25rem;font-weight:800;
  word-break:break-word;
  padding:1rem;
}
.related-preview{
  min-height:112px;
  border-radius:18px;
  background:linear-gradient(145deg,#f8eadb,#fff9f1);
  display:flex;align-items:center;justify-content:center;
  text-align:center;font-weight:800;
  padding:1rem;word-break:break-word;
}
.warm-banner{
  border-radius:30px;
  padding:2rem;
  background:linear-gradient(135deg,#f2dfcb,#f8eadb 55%,#fff8ef);
  border:1px solid rgba(109,74,54,.08);
}
.warm-cta{
  background:var(--orange);
  color:white;
  border:none;
  border-radius:14px;
  font-weight:700;
  box-shadow:0 10px 24px rgba(233,134,74,.23);
}
.warm-cta:hover{background:#d9783e;color:#fff;transform:translateY(-1px)}
.warm-secondary{
  background:transparent;
  border:1px solid var(--brown);
  color:var(--brown);
  border-radius:14px;
  font-weight:700;
}
.warm-secondary:hover{background:var(--brown);color:white}
.soft-link{
  text-decoration:none;
  padding:.62rem .9rem;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid var(--line);
  color:var(--brown);
  font-weight:700;
  font-size:.88rem;
}
.soft-link:hover{background:var(--sand)}
.material-choice{
  width:100%;
  display:block;
  cursor:pointer;
  border:1px solid var(--line);
  padding:1rem;
  border-radius:18px;
  background:#fffdf9;
  transition:.2s ease;
}
.material-choice span{display:block;color:var(--muted);font-size:.86rem;margin-top:.2rem}
.btn-check:checked + .material-choice{
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(233,134,74,.12);
  background:#fff7ee;
}
.font-option{
  border:1px solid var(--line);
  background:#fffdf9;
  border-radius:999px;
  color:var(--brown);
}
.font-option:hover,.font-option.active{
  border-color:var(--orange);
  background:#fff1e5;
  color:#9f552e;
}
.form-control,.form-select{
  border-radius:14px;
  border-color:var(--line);
  padding:.78rem .9rem;
  background:#fffdf9;
}
.form-control:focus,.form-select:focus{
  border-color:#e6a47c;
  box-shadow:0 0 0 .2rem rgba(233,134,74,.13);
}
.content-prose h2{margin-top:2rem;font-weight:800}
.content-prose p{color:#5f564f;line-height:1.75}
.warm-footer{
  background:#3a2d26;
  color:#fff;
}
.warm-footer a{color:#fff}
.warm-footer .text-white-50{color:rgba(255,255,255,.65)!important}

/* loading */
.page-loader{
  position:fixed;inset:0;z-index:9999;
  background:#fff8ee;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  transition:opacity .45s ease,visibility .45s ease;
}
.page-loader.hidden{opacity:0;visibility:hidden}
.loader-mark{
  font-size:1.7rem;font-weight:900;letter-spacing:.03em;color:var(--brown)
}
.loader-mark span{color:var(--orange)}
.loader-dot{
  width:9px;height:9px;margin-top:16px;border-radius:50%;
  background:var(--orange);
  animation:loaderPulse 1s ease-in-out infinite;
}
@keyframes loaderPulse{
  0%,100%{transform:scale(.75);opacity:.45}
  50%{transform:scale(1.35);opacity:1}
}

/* scroll reveal */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .65s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}
body.loaded .warm-nav{animation:navDrop .5s ease both}
@keyframes navDrop{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
  .page-loader{display:none}
}
@media(max-width:767px){
  .product-preview{min-height:320px}
  .display-box{min-height:300px}
  .warm-banner{padding:1.35rem}
}

.world-sample{
  min-height:95px;
  border-radius:20px;
  background:linear-gradient(145deg,#f8eadb,#fff9f1);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:2.4rem;
  font-weight:700;
  padding:1rem;
}
.world-character{font-size:2.8rem}
.world-big{font-size:clamp(5rem,14vw,10rem)}
