Teraskala | Camilan Kering Kekinian
:root{
--green:#173f35; --green-2:#245849; --lime:#d8f078; --cream:#fff9ed;
--paper:#fffdf7; --ink:#1d2924; --muted:#65716a; --orange:#f28b42;
--line:#e8e5d9; --shadow:0 18px 50px rgba(23,63,53,.12);
--radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:min(1120px,calc(100% - 36px));margin-inline:auto}
.announcement{background:var(--green);color:#fff;padding:9px 14px;text-align:center;font-size:.78rem;letter-spacing:.02em}
header{position:sticky;top:0;z-index:20;background:rgba(255,253,247,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,229,217,.8)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px}
.brand{font-weight:900;letter-spacing:-.06em;font-size:1.65rem;color:var(--green)}
.brand span{color:var(--orange)}
.navlinks{display:none;gap:25px;font-size:.9rem;color:var(--muted)}
.navlinks a:hover{color:var(--green)}
.nav-cta{font-size:.82rem;font-weight:800;background:var(--green);color:#fff;padding:11px 15px;border-radius:999px}
.hero{padding:44px 0 56px;overflow:hidden;background:radial-gradient(circle at 90% 10%,#e9f2c5 0,transparent 33%),linear-gradient(180deg,#fff9ed 0%,#fffdf7 100%)}
.hero-grid{display:grid;gap:30px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--green-2);background:#eaf1d4;padding:8px 12px;border-radius:999px}
.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2.55rem,9vw,5.3rem);line-height:.99;letter-spacing:-.065em;margin:20px 0 18px;color:var(--green)}
h1 em{font-style:normal;color:#e07835}
.hero-copy{font-size:1.03rem;color:var(--muted);max-width:520px}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin:25px 0 18px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:14px 19px;font:inherit;font-weight:850;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 9px 22px rgba(23,63,53,.18)}
.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--green)}
.microproof{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted)}
.microproof strong{color:var(--green)}
.hero-art{position:relative;min-height:300px;display:grid;place-items:center}
.art-blob{position:absolute;width:min(88%,380px);aspect-ratio:1;border-radius:44% 56% 60% 40% / 48% 43% 57% 52%;background:#dfe9b7;transform:rotate(-9deg)}
.snack-card{position:relative;width:min(83%,340px);min-height:285px;border-radius:28px;background:linear-gradient(145deg,#f9bd69,#ef853f);box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(3deg);overflow:hidden}
.snack-card:after{content:"";position:absolute;width:200px;height:200px;border:1px solid rgba(255,255,255,.45);border-radius:50%;right:-65px;top:-70px;box-shadow:0 0 0 18px rgba(255,255,255,.08),0 0 0 38px rgba(255,255,255,.07)}
.pack-label{position:relative;z-index:1;align-self:flex-start;background:var(--green);color:#fff;border-radius:9px;padding:7px 10px;font-size:.68rem;letter-spacing:.1em;font-weight:900}
.snack-emoji{position:relative;z-index:1;font-size:6rem;text-align:center;filter:drop-shadow(0 12px 9px rgba(80,38,9,.18));line-height:1.1}
.pack-name{position:relative;z-index:1;color:#3d2414;font-size:1.5rem;font-weight:950;letter-spacing:-.06em;line-height:1.02}
.pack-name small{display:block;font-size:.72rem;letter-spacing:.03em;margin-top:7px;font-weight:800}
.floating-tag{position:absolute;z-index:2;background:#fffdf7;border-radius:16px;padding:12px 15px;box-shadow:var(--shadow);font-weight:850;font-size:.8rem}
.floating-tag.one{left:0;top:20px;transform:rotate(-5deg)}
.floating-tag.two{right:0;bottom:22px;transform:rotate(4deg)}
.section{padding:68px 0}
.section-head{max-width:650px;margin:0 auto 30px;text-align:center}
.kicker{color:#d87331;text-transform:uppercase;letter-spacing:.15em;font-size:.73rem;font-weight:900}
h2{font-size:clamp(2rem,6vw,3.25rem);line-height:1.05;letter-spacing:-.055em;color:var(--green);margin:12px 0}
.section-head p,.muted{color:var(--muted)}
.product-grid{display:grid;gap:18px}
.product-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 8px 25px rgba(23,63,53,.04)}
.product-visual{min-height:175px;border-radius:18px;background:linear-gradient(135deg,#fbe3ba,#f6b75f);display:grid;place-items:center;font-size:5rem;margin-bottom:20px;position:relative;overflow:hidden}
.product-visual.green{background:linear-gradient(135deg,#e7edc6,#b8cd8a)}
.pill{display:inline-block;border-radius:999px;background:#edf3dc;color:var(--green);font-size:.72rem;font-weight:850;padding:6px 10px}
.product-card h3{font-size:1.3rem;letter-spacing:-.035em;margin:12px 0 7px;color:var(--green)}
.price{font-size:1.25rem;font-weight:950;color:var(--green);margin:12px 0}
.price small{font-size:.78rem;font-weight:600;color:var(--muted)}
.feature-grid{display:grid;gap:14px}
.feature{padding:20px;border-radius:20px;background:#f4f5e9}
.feature-icon{width:42px;height:42px;border-radius:14px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:1.2rem;margin-bottom:13px}
.feature h3{font-size:1rem;color:var(--green);margin-bottom:6px}
.feature p{font-size:.9rem;color:var(--muted);margin-bottom:0}
.banner{background:var(--green);color:#fff;border-radius:30px;padding:30px 24px;display:grid;gap:20px;align-items:center;overflow:hidden;position:relative}
.banner h2{color:#fff}
.banner p{color:#d7e2d8;margin-bottom:0}
.banner .btn{background:var(--lime);color:var(--green);justify-self:start}
.banner-mark{font-size:5.5rem;text-align:center;opacity:.95}
.testimonials{display:grid;gap:14px}
.quote-card{border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff}
.stars{color:#df853b;letter-spacing:.12em;font-size:1rem}
.quote-card blockquote{margin:12px 0;color:var(--ink);font-weight:650}
.quote-card .person{font-size:.82rem;color:var(--muted)}
.honesty-note{font-size:.78rem;color:var(--muted);background:#f5f3eb;border-radius:12px;padding:12px 14px;margin-top:14px}
.audience-grid{display:grid;gap:15px}
.audience{border-radius:22px;padding:22px;background:#f8eee0}
.audience:nth-child(2){background:#eaf0d9}
.audience strong{display:block;color:var(--green);font-size:1.05rem;margin:9px 0 5px}
.audience span{font-size:2rem}
.fashion{border:1px dashed #c9d3bd;border-radius:24px;padding:25px;background:linear-gradient(135deg,#f5f1e5,#fffdf7);display:flex;gap:18px;align-items:center}
.fashion-symbol{width:72px;height:72px;flex:0 0 72px;border-radius:22px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:2rem}
.fashion h3{margin:0 0 5px;color:var(--green)}
.fashion p{margin:0;color:var(--muted);font-size:.9rem}
.faq{display:grid;gap:10px;max-width:760px;margin:auto}
details{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px 18px}
summary{font-weight:850;color:var(--green);cursor:pointer}
details p{color:var(--muted);margin:12px 0 0;font-size:.92rem}
.final-cta{background:#eaf0d9;text-align:center;border-radius:30px;padding:35px 22px}
.final-cta p{color:var(--muted);max-width:530px;margin:0 auto 22px}
footer{padding:30px 0 100px;color:var(--muted);font-size:.82rem}
.footer-row{display:flex;flex-direction:column;gap:8px}
.sticky-wa{position:fixed;z-index:30;bottom:14px;left:14px;right:14px;display:flex;justify-content:center;align-items:center;gap:9px;background:#1f9d62;color:#fff;padding:15px 20px;border-radius:999px;font-weight:900;box-shadow:0 12px 30px rgba(20,80,48,.3)}
.wa-icon{width:22px;height:22px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:.75rem}
@media(min-width:700px){
.wrap{width:min(1120px,calc(100% - 56px))}
.navlinks{display:flex}
.hero{padding:72px 0 82px}
.hero-grid{grid-template-columns:1.04fr .96fr;gap:42px}
.hero-art{min-height:420px}
.snack-card{min-height:360px;padding:27px}
.snack-emoji{font-size:8rem}
.section{padding:88px 0}
.product-grid{grid-template-columns:repeat(2,1fr)}
.feature-grid{grid-template-columns:repeat(4,1fr)}
.banner{grid-template-columns:1fr .4fr;padding:42px}
.banner-mark{font-size:7rem}
.testimonials{grid-template-columns:repeat(3,1fr)}
.audience-grid{grid-template-columns:repeat(2,1fr)}
.footer-row{flex-direction:row;justify-content:space-between;align-items:center}
.sticky-wa{left:auto;right:24px;bottom:24px;width:auto;padding:15px 22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
Camilan kering kekinian untuk nemenin hari lo ✦ Pesanan besar? Chat dulu, ya!
Teraskala · Camilan kering kekinian
Renyahnya bikin mood naik.
Lagi pengin camilan gurih dengan sentuhan pedas daun jeruk? Kenalan sama Otak-Otak Crispy Teraskala, teman santai, teman nugas, sampai pelengkap makan.
Original & Pedas Daun Jeruk•Ukuran 250 g / 500 g
🌶️ Gurih + pedas
TERASKALA PICKS
tako
OTAK-OTAK
CRISPYIKAN PILIHAN · CAMILAN KERING
✨ Teman ngemil lo
The crunchy one
Satu camilan, dua pilihan rasa.
Pilih rasa favorit lo, lalu chat kami buat konfirmasi harga, ketersediaan, dan pengiriman.
tako
Gurih klasik
Otak-Otak Crispy Original
Pilihan buat lo yang suka rasa gurih dan renyah tanpa menonjolkan sensasi pedas daun jeruk.
Rp25.000–Rp45.500 / rentang harga produk
Tanya & pesan ↗
🌶️🍃
Favorit pencinta pedas
Otak-Otak Crispy Pedas Daun Jeruk
Perpaduan rasa pedas, gurih, dan aroma daun jeruk untuk nemenin waktu santai atau jadi lauk tambahan.
Rp25.000–Rp45.500 / rentang harga produk
Tanya & pesan ↗
Buuruan cobain
Why Teraskala?
Ngemil simpel, rasa tetap berkesan.
Yang bikin Otak-Otak Crispy layak masuk daftar camilan lo.
🐟
Bahan ikan pilihan
Dibuat dari bahan baku ikan pilihan, sesuai informasi produk dari pemasok.
🌶️
Racikan rempah
Bumbu mencakup cabai rawit, bawang goreng, minyak sayur, dan garam.
✨
Tekstur renyah
Sensasi crispy untuk teman santai, belajar, atau pelengkap makan.
📦
Pilihan ukuran
Tersedia ukuran kemasan 250 g dan 500 g. Tanyakan ketersediaan saat order.
Ready buat ngemil?
Jangan cuma dibayangin. Cek stoknya dulu!
Chat Teraskala untuk tanya varian, ukuran, harga, dan opsi pengiriman. Butuh jumlah besar? Hubungi kami lebih dulu.
Tanya stok via WhatsApp ↗
tako
Kata pembeli
Pengalaman pelanggan, tanpa dibuat-buat.
Kepercayaan dibangun dari pengalaman nyata.
⭐⭐⭐⭐⭐
“Rasa: Bumbunya berasa enak bgtt dan kerasa bumbu daun jeruknya
Wajibb dicobaaa.”
Nisfi**17 · 2026-02-10
⭐⭐⭐⭐⭐
“Rasanya enakk, daun jeruknya kerasa guriih
Tim nyemal nyemil perpedasan harus beli disini sih wajibbb”
n**7· 2026-02-14
⭐⭐⭐⭐⭐
“enak pas rasanya ngga terlalu pedas juga anak" suka banget
Rasa: mantuuuul”
d**e · 2026-06-08
Aduh aduh aduhhh... ga kebayang kalo ada Teraskala unlimited di samping mimin nihh wkwwk
Cocok buat siapa?
Camilan buat banyak momen.
Dokumen produk menyebut remaja dan dewasa sebagai target konsumen.
📚Teman belajar & nugasBuat nemenin sesi belajar, kerja, atau istirahat sejenak.
🍽️Teman santai & pelengkap makanNikmati sebagai camilan atau tambahkan sebagai lauk pendamping.
✦
Next chapterSheikalova, segera hadir
Teraskala punya rencana untuk menghadirkan fashion muslim wanita dan pria lewat Sheikalova. Saat ini, koleksi tersebut belum tersedia untuk dipesan. Stay tuned!
Sebelum order
Info singkat, biar jelas.
Bagaimana cara pesan?
Tekan tombol WhatsApp di halaman ini. Pesan otomatis akan membantu lo memulai chat, lalu konfirmasi varian, ukuran, harga, dan alamat pengiriman.
Apakah bisa pesan banyak?
Bisa ditanyakan. Untuk pesanan dalam jumlah besar, hubungi Teraskala terlebih dahulu agar detail pesanan dapat dikonfirmasi.
Apakah tersedia COD dan instant delivery?
Informasi yang tersedia menyebut COD dan instant delivery untuk Tasikmalaya dan sekitarnya. Konfirmasi area, biaya, dan ketersediaannya lewat WhatsApp.
Bagaimana cara menyimpan camilan?
Simpan di tempat kering dan tutup kembali kemasan setelah dibuka agar kerenyahannya lebih terjaga.
Your snack break starts here
Yuk, pilih camilan lo.
Tanya varian, ukuran, harga, dan opsi pengiriman langsung ke Teraskala. Nggak perlu nebak-nebak, tinggal chat.
Chat Teraskala di WhatsApp ↗
↗ Pesan via WhatsApp
/*
SETUP PENTING:
1) Ganti 6281234567890 dengan nomor WhatsApp bisnis Teraskala.
Gunakan kode negara 62, tanpa tanda +, spasi, atau angka 0 di depan.
2) Ganti harga/rincian varian setelah harga 250 g dan 500 g dikonfirmasi.
3) Ganti kartu placeholder testimoni dengan ulasan pelanggan yang asli dan berizin.
4) Ilustrasi snack saat ini berupa emoji/CSS, bukan foto produk asli.
*/
const WHATSAPP_NUMBER = "6282130477286"; // GANTI dengan nomor WhatsApp Teraskala
const BASE_MESSAGE = "Halo Teraskala! Saya mau tanya Otak-Otak Crispy. Boleh info varian, ukuran, harga, stok, dan pengirimannya?";
function waUrl(message) {
return "https://wa.me/" + WHATSAPP_NUMBER + "?text=" + encodeURIComponent(message);
}
document.querySelectorAll(".wa-link").forEach((link) => {
const product = link.dataset.product;
const message = product
? `Halo Teraskala! Saya tertarik dengan ${product}. Boleh info harga, ukuran, stok, dan pengirimannya?`
: BASE_MESSAGE;
link.href = waUrl(message);
link.addEventListener("click", (event) => {
if (WHATSAPP_NUMBER === "6281234567890") {
event.preventDefault();
alert("Nomor WhatsApp masih contoh. Edit WHATSAPP_NUMBER di bagian script paling bawah file HTML sebelum digunakan.");
}
});
});
document.getElementById("year").textContent = new Date().getFullYear();