:root{--bg:#f8f1ea;--surface:#fff8f3;--surface-2:#f3e6da;--surface-3:#ead7c6;--text:#463126;--muted:#7b6557;--line:rgba(70,49,38,.12);--primary:#8c5a3c;--primary-dark:#6e4228;--accent:#c78658;--cream:#fdf8f2;--shadow:0 10px 30px rgba(101,67,46,.10);--radius:24px;--radius-sm:14px;--container:min(1200px,calc(100% - 32px));--font-body:'Satoshi',sans-serif;--font-display:'Boska',serif}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);background:linear-gradient(180deg,#fbf4ee 0%,#f7efe7 100%);color:var(--text);line-height:1.65}a{text-decoration:none;color:inherit}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:var(--container);margin:0 auto}.topbar{background:rgba(255,255,255,.45);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-inner,.header-main,.hero-grid,.story-grid,.service-grid,.product-grid,.memory-box-panel,.cta-grid,.footer-grid{display:grid;gap:24px}.topbar-inner{grid-template-columns:1fr auto;align-items:center;padding:10px 0}.lang-switcher,.utility-links{display:flex;gap:14px;align-items:center}.lang-switcher a,.utility-links a{font-size:14px;color:var(--muted)}.badge{display:inline-flex;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--primary);color:#fff;align-items:center;justify-content:center;font-size:12px}.memory-box-link{padding:8px 12px;background:#f3e5d8;border-radius:999px;color:var(--primary-dark)}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,241,234,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(70,49,38,.08)}.header-main{grid-template-columns:auto 1fr auto;align-items:center;padding:18px 0}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:72px;height:72px;flex:0 0 72px}.brand-text strong{display:block;font-size:18px}.brand-text small{display:block;color:var(--muted)}.site-nav ul{display:flex;gap:24px;list-style:none;padding:0;margin:0;justify-content:center}.site-nav a{font-size:15px;color:var(--text)}.site-nav a:hover{color:var(--primary)}.nav-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid transparent;font-weight:600;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:#fff;border-color:var(--line);color:var(--text)}.hero{padding:56px 0 32px}.hero-grid{grid-template-columns:1.02fr .98fr;align-items:center}.hero-copy .kicker{display:inline-block;padding:8px 14px;background:#f1e0d3;border-radius:999px;color:var(--primary-dark);font-size:13px;margin-bottom:20px}.hero-copy h1{font-family:var(--font-display);font-size:clamp(2.8rem,4vw,5rem);line-height:1;margin:0 0 18px}.hero-copy p{font-size:1.08rem;color:var(--muted);max-width:58ch}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-visual{position:relative;background:radial-gradient(circle at top left,#fff8f1 0%,#f2dfcf 60%,#e9d2be 100%);border-radius:36px;padding:24px;border:1px solid var(--line);box-shadow:var(--shadow);min-height:540px;overflow:hidden}.memory-collage{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;height:100%}.memory-main{border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,235,224,.9));border:1px solid rgba(70,49,38,.08);padding:22px;display:flex;flex-direction:column;justify-content:space-between}.memory-main .photo-placeholder{height:270px;border-radius:22px;background:linear-gradient(135deg,#dfc2aa,#f4e6d9 55%,#e8d2bf)}.memory-notes{display:grid;gap:14px}.memory-note,.memory-mini,.story-card,.service-card,.product-card,.box-card,.faq-item,.page-card{background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border:1px solid rgba(70,49,38,.08);border-radius:22px;box-shadow:var(--shadow)}.memory-note{padding:16px}.memory-note strong{display:block;margin-bottom:6px}.memory-side{display:grid;gap:16px;grid-template-rows:1fr 1fr 1fr}.memory-mini{padding:16px;display:flex;flex-direction:column;justify-content:end;min-height:120px}.memory-mini:nth-child(1){background:linear-gradient(180deg,#fff7ef,#f0dbca)}.memory-mini:nth-child(2){background:linear-gradient(180deg,#f9ede2,#efd4c0)}.memory-mini:nth-child(3){background:linear-gradient(180deg,#f7eadf,#ead2c3)}.story-section,.services-section,.products-section,.memory-box-section,.faq-section,.final-cta,.page-section{padding:34px 0 22px}.section-head{margin-bottom:22px}.section-head h2{font-family:var(--font-display);font-size:clamp(2rem,2.6vw,3.3rem);margin:0 0 10px}.section-head p{color:var(--muted);max-width:64ch}.story-grid{grid-template-columns:repeat(3,1fr)}.story-card,.service-card,.product-card,.box-card,.faq-item,.page-card{padding:24px}.story-card h3,.service-card h3,.product-card h3,.box-card h3,.faq-item h3,.page-card h2{margin:0 0 8px;font-size:1.3rem}.story-card p,.service-card p,.product-card p,.box-card p,.faq-item p,.page-card p{margin:0;color:var(--muted)}.service-grid,.product-grid{grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(4,1fr)}.product-thumb{height:190px;border-radius:18px;background:linear-gradient(135deg,#eed8c3,#f9f1e9 65%,#d9b79f);margin-bottom:16px}.product-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;font-size:14px}.memory-box-panel{grid-template-columns:1.1fr .9fr;align-items:center;background:linear-gradient(135deg,#fff8f3,#f1dfd1);border:1px solid rgba(70,49,38,.08);padding:26px;border-radius:32px;box-shadow:var(--shadow)}.box-visual{min-height:280px;border-radius:24px;background:linear-gradient(135deg,#dcc0a9,#f7ebdf 55%,#ebd8c7);position:relative}.box-visual:before,.box-visual:after{content:"";position:absolute;border-radius:20px;border:1px solid rgba(70,49,38,.08);background:rgba(255,255,255,.58)}.box-visual:before{width:56%;height:46%;left:10%;top:14%}.box-visual:after{width:42%;height:32%;right:12%;bottom:12%}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.final-cta .cta-grid{grid-template-columns:1fr auto;align-items:center;background:linear-gradient(135deg,#fff8f1,#edd7c4);padding:28px;border-radius:32px;border:1px solid rgba(70,49,38,.08);box-shadow:var(--shadow)}.site-footer{padding:40px 0 60px;margin-top:30px;border-top:1px solid rgba(70,49,38,.08)}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.page-hero{padding:42px 0 20px}.page-hero h1{font-family:var(--font-display);font-size:clamp(2.3rem,3vw,4rem);margin:0 0 14px}.page-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-grid{display:grid;gap:16px}.field label{display:block;margin-bottom:6px;font-size:14px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fffdf9;border-radius:16px;padding:14px 16px}.field textarea{min-height:140px}.page-card ul{margin:0;padding-left:18px;color:var(--muted)}@media (max-width:1100px){.hero-grid,.memory-box-panel,.footer-grid,.page-layout,.story-grid,.service-grid,.product-grid,.faq-grid,.final-cta .cta-grid{grid-template-columns:1fr}.site-nav{display:none}.site-nav.open{display:block;position:absolute;top:100%;left:16px;right:16px;background:#fff8f2;padding:16px;border-radius:20px;box-shadow:var(--shadow)}.site-nav ul{flex-direction:column}.nav-toggle{display:inline-flex;justify-self:end}.header-main{grid-template-columns:auto auto 1fr auto}.header-cta{display:none}}@media (max-width:720px){.topbar-inner{grid-template-columns:1fr;justify-items:start}.hero-visual{min-height:auto}.memory-collage{grid-template-columns:1fr}.brand-mark{width:58px;height:58px;flex-basis:58px}}


.hero-memory {
  padding-block: clamp(3.5rem, 8vw, 6rem);
  background:
    radial-gradient(circle at top left, rgba(232, 208, 188, 0.45), transparent 34%),
    linear-gradient(180deg, var(--color-surface-2) 0%, var(--color-bg) 100%);
}
.hero-grid-memory {
  align-items: center;
  grid-template-columns: 1.05fr 0.95fr;
}
.hero-points {
  margin-top: 1.25rem;
  display: grid;
  gap: .75rem;
  color: var(--color-text-muted);
}
.hero-points li {
  position: relative;
  padding-left: 1.2rem;
}
.hero-points li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .65rem;
  width: .45rem;
  height: .45rem;
  border-radius: 999px;
  background: var(--color-primary);
}
.memory-collage {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1rem;
}
.memory-card {
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(67,41,21,.08);
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(63,41,24,.08);
}
.memory-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.memory-photo.large {
  grid-row: span 2;
  min-height: 430px;
}
.memory-photo.large span {
  display: block;
  padding: .85rem 1rem 1rem;
  font-size: .92rem;
  color: var(--color-text-muted);
}
.memory-note,
.memory-audio {
  padding: 1.15rem;
  display: grid;
  gap: .55rem;
  background: linear-gradient(180deg, rgba(255,251,247,.95), rgba(245,238,231,.96));
}
.memory-note strong,
.memory-audio strong {
  font-family: var(--font-display);
  font-size: 1.1rem;
}
.memory-photo.small {
  min-height: 180px;
}
.soft-section {
  background: linear-gradient(180deg, rgba(247,243,238,.4), rgba(255,255,255,0));
}
.narrow-center {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
}
.feature-split-grid,
.timeline-grid,
.fit-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 2rem;
}
.soft-card,
.timeline-step,
.demo-panel,
.warm-panel,
.cta-card {
  border-radius: 1.25rem;
  border: 1px solid rgba(67,41,21,.08);
  background: rgba(255,255,255,.76);
  box-shadow: 0 10px 30px rgba(63,41,24,.06);
}
.soft-card,
.timeline-step {
  padding: 1.35rem;
}
.timeline-section {
  background: linear-gradient(180deg, rgba(234,223,211,.26), rgba(247,246,242,0));
}
.timeline-no {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(1,105,111,.12);
  color: var(--color-primary);
  font-weight: 700;
  margin-bottom: 1rem;
}
.showcase-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 1.5rem;
  align-items: center;
}
.mini-list {
  display: grid;
  gap: .65rem;
  margin-top: 1rem;
}
.mini-list span {
  display: inline-flex;
  width: fit-content;
  padding: .55rem .8rem;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(67,41,21,.08);
}
.before-after-demo {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.demo-panel {
  padding: 1.4rem;
}
.demo-panel.before {
  background: linear-gradient(180deg, rgba(250,245,239,.95), rgba(242,236,229,.95));
}
.demo-panel.after {
  background: linear-gradient(180deg, rgba(236,246,244,.95), rgba(225,240,237,.95));
}
.demo-panel small {
  display: inline-block;
  margin-bottom: .7rem;
  color: var(--color-text-muted);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.demo-panel ul {
  display: grid;
  gap: .75rem;
  padding-left: 1rem;
}
.warm-panel,
.cta-card {
  padding: clamp(1.5rem, 4vw, 2.4rem);
}
.cta-band {
  padding-bottom: clamp(4rem, 7vw, 6rem);
}
.cta-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.25rem;
  align-items: center;
  background: linear-gradient(135deg, rgba(255,250,245,.98), rgba(240,247,245,.98));
}
@media (max-width: 960px) {
  .hero-grid-memory,
  .showcase-layout,
  .cta-card,
  .feature-split-grid,
  .timeline-grid,
  .fit-grid {
    grid-template-columns: 1fr;
  }
  .memory-collage,
  .before-after-demo {
    grid-template-columns: 1fr;
  }
  .memory-photo.large {
    min-height: 320px;
    grid-row: auto;
  }
}


.hero-design {
  background:
    radial-gradient(circle at top right, rgba(229, 212, 194, 0.42), transparent 35%),
    linear-gradient(180deg, var(--color-surface-2) 0%, var(--color-bg) 100%);
}
.design-collage .memory-note,
.design-collage .memory-audio {
  background: linear-gradient(180deg, rgba(252,247,242,.96), rgba(244,236,229,.96));
}
.design-demo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
.design-demo-grid .demo-panel p {
  margin-top: .5rem;
}
@media (max-width: 960px) {
  .design-demo-grid {
    grid-template-columns: 1fr;
  }
}


.hero-keepsakes {
  background: radial-gradient(circle at top left, rgba(230, 214, 191, 0.40), transparent 34%), linear-gradient(180deg, var(--color-surface-2) 0%, var(--color-bg) 100%);
}
.hero-farewell {
  background: radial-gradient(circle at top right, rgba(220, 211, 202, 0.34), transparent 34%), linear-gradient(180deg, var(--color-surface-2) 0%, var(--color-bg) 100%);
}
.hero-faq,
.hero-contact,
.hero-auth,
.hero-box,
.hero-cart {
  background: radial-gradient(circle at top left, rgba(232, 219, 204, 0.34), transparent 32%), linear-gradient(180deg, var(--color-surface-2) 0%, var(--color-bg) 100%);
}
.products-show-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.products-show-grid.compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.product-show-card {
  border-radius: 1.25rem;
  overflow: hidden;
  border: 1px solid rgba(67,41,21,.08);
  background: rgba(255,255,255,.8);
  box-shadow: 0 10px 30px rgba(63,41,24,.06);
}
.product-show-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.product-show-body {
  padding: 1rem 1rem 1.1rem;
}
.product-meta {
  margin-top: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.faq-visual-card {
  border-radius: 1.25rem;
  overflow: hidden;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(67,41,21,.08);
  box-shadow: 0 10px 30px rgba(63,41,24,.06);
}
.faq-visual-card img {
  width: 100%;
  aspect-ratio: 6 / 5;
  object-fit: cover;
}
.faq-visual-card div {
  padding: 1rem;
}
.faq-long-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.faq-long-grid.compact {
  grid-template-columns: 1fr;
}
.faq-long-card {
  padding: 1.25rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(67,41,21,.08);
  background: rgba(255,255,255,.78);
  box-shadow: 0 10px 30px rgba(63,41,24,.05);
}
.form-show-layout,
.memory-box-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 1.25rem;
}
.single-column {
  grid-template-columns: 1fr;
}
.form-card-hero,
.contact-side-card,
.cart-summary-card {
  background: rgba(255,255,255,.82);
}
.narrow-wrap {
  max-width: 760px;
  margin-inline: auto;
}
.hero-points-wrap {
  margin-top: 1rem;
}
@media (max-width: 960px) {
  .products-show-grid,
  .products-show-grid.compact,
  .faq-long-grid,
  .form-show-layout,
  .memory-box-grid {
    grid-template-columns: 1fr;
  }
}
