*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --cream:#f5efe6;--cream-warm:#ede5d5;--parchment:#faf6ef;--linen:#e8dfd0;
  --sage:#8fa47e;--sage-light:#b5c4a8;--sage-pale:#d4dece;--sage-deep:#6b8660;
  --lavender:#b8a0c4;--lavender-deep:#8b6d9e;--lavender-pale:#d8cce0;
  --plum:#7a5a8a;--plum-deep:#5e3d6e;
  --gold:#c4a265;--gold-bright:#d9be88;--gold-dim:#9e8050;--gold-pale:#e2d0a8;
  --charcoal:#2c2a28;--charcoal-soft:#4a4744;--charcoal-faint:#7a7570;
  --font-display:'Bodoni Moda',serif;
  --font-serif:'Playfair Display',serif;
  --font-sans:'DM Sans',sans-serif;
}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-sans);color:var(--charcoal);background:var(--parchment);
  font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
body::after{
  content:'';position:fixed;inset:0;z-index:10000;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");
  opacity:0.5;mix-blend-mode:multiply;
}
.cursor{
  position:fixed;width:18px;height:18px;border-radius:50%;
  border:1.5px solid var(--lavender-deep);pointer-events:none;z-index:99999;
  transition:width 0.3s,height 0.3s,border-color 0.3s,background 0.3s;
  transform:translate(-50%,-50%);
}
.cursor.hover{width:48px;height:48px;border-color:var(--sage);background:rgba(143,164,126,0.08)}
.scroll-progress{position:fixed;top:0;left:0;height:2px;z-index:100001;
  background:linear-gradient(90deg,var(--sage),var(--lavender),var(--gold));
}

/* ── NAV (always solid on inner pages) ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:10001;
  padding:1rem 3rem;
  background:rgba(250,246,239,0.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 1px 30px rgba(0,0,0,0.04);
  display:flex;align-items:center;justify-content:space-between;
}
.nav-brand{
  font-family:var(--font-display);font-size:1.1rem;font-weight:400;
  letter-spacing:0.25em;text-transform:uppercase;color:var(--charcoal);text-decoration:none;
}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a{
  font-family:var(--font-sans);font-size:0.7rem;font-weight:400;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--charcoal-faint);
  text-decoration:none;transition:color 0.3s;position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;
  background:var(--sage);transition:width 0.4s cubic-bezier(0.16,1,0.3,1);
}
.nav-links a:hover{color:var(--charcoal)}
.nav-links a:hover::after{width:100%}
.nav-links a.active{color:var(--plum)}
.nav-links a.active::after{width:100%;background:var(--plum)}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:0.5rem}
.nav-toggle span{display:block;width:26px;height:1px;background:var(--charcoal);margin:7px 0}

/* ── PAGE HERO ── */
.page-hero{
  padding:11rem 3rem 6rem;text-align:center;
  position:relative;overflow:hidden;background:var(--cream);
}
.page-hero .hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 50% at 25% 35%, rgba(184,160,196,0.1) 0%, transparent 70%),
    radial-gradient(ellipse 60% 60% at 75% 65%, rgba(181,196,168,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 50% 20%, rgba(196,162,101,0.06) 0%, transparent 50%);
  animation:bgShift 25s ease-in-out infinite alternate;
}
@keyframes bgShift{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.06) translate(-1.5%,1%)}}
.page-hero::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:150px;
  background:linear-gradient(to bottom,transparent,var(--parchment));pointer-events:none;
}
.page-hero h1{
  font-family:var(--font-display);font-size:clamp(2.8rem,7vw,5.5rem);
  font-weight:400;color:var(--charcoal);letter-spacing:0.02em;line-height:0.95;
  margin-bottom:0.8rem;position:relative;z-index:1;
}
.page-hero h1 .line{display:block;overflow:hidden}
.page-hero h1 .line span{
  display:inline-block;opacity:0;transform:translateY(100%);
  animation:lineReveal 1.2s cubic-bezier(0.16,1,0.3,1) both;
}
.page-hero h1 .line:nth-child(1) span{animation-delay:0.3s}
.page-hero h1 .line:nth-child(2) span{animation-delay:0.5s;color:var(--plum)}
@keyframes lineReveal{to{opacity:1;transform:translateY(0)}}
.page-hero .subtitle{
  font-family:var(--font-sans);font-size:0.6rem;font-weight:400;
  letter-spacing:0.5em;text-transform:uppercase;color:var(--sage-deep);
  margin-bottom:2rem;position:relative;z-index:1;
  opacity:0;animation:fadeIn 1s ease 0.7s both;
}
.page-hero .hero-body{
  font-family:var(--font-serif);font-size:clamp(0.95rem,1.8vw,1.15rem);
  font-style:italic;color:var(--charcoal-soft);
  max-width:520px;margin:0 auto;line-height:1.9;position:relative;z-index:1;
  opacity:0;animation:fadeIn 1s ease 0.9s both;
}
@keyframes fadeIn{to{opacity:1}}

/* ── BIO ── */
.bio-section{padding:6rem 3rem;background:var(--cream)}
.bio-inner{
  max-width:850px;margin:0 auto;display:flex;gap:3.5rem;align-items:flex-start;
}
.bio-photo-wrap{
  width:180px;height:220px;flex-shrink:0;border-radius:3px;overflow:hidden;
  background:linear-gradient(135deg,var(--cream-warm),var(--linen));
  border:1px solid rgba(143,164,126,0.12);
}
.bio-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.bio-text h3{
  font-family:var(--font-display);font-size:2rem;font-weight:400;margin-bottom:0.4rem;
}
.bio-creds{
  font-family:var(--font-sans);font-size:0.6rem;font-weight:400;
  letter-spacing:0.12em;color:var(--sage-deep);margin-bottom:1.5rem;line-height:1.9;
}
.bio-text p{font-size:0.92rem;color:var(--charcoal-soft);line-height:2}
.bio-text p em{font-style:italic;color:var(--plum)}

/* ── PRODUCT GRID ── */
.products-section{padding:5rem 3rem;background:var(--parchment)}
.section-header{text-align:center;margin-bottom:4rem}
.section-header .label{
  font-family:var(--font-sans);font-size:0.6rem;font-weight:500;
  letter-spacing:0.35em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:0.8rem;
}
.section-header h2{
  font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:400;color:var(--charcoal);margin-bottom:0.8rem;
}
.section-header h2 em{font-style:italic;color:var(--plum)}
.gold-line{width:40px;height:0.5px;background:var(--sage);margin:0 auto}
.section-intro{
  font-family:var(--font-serif);font-size:0.95rem;font-style:italic;
  color:var(--charcoal-soft);max-width:540px;margin:1.5rem auto 0;line-height:1.8;
}
.browse-collection{text-align:center;margin-top:3rem}
.browse-collection .cta-btn{
  display:inline-block;font-family:var(--font-sans);font-size:0.65rem;
  font-weight:500;letter-spacing:0.25em;text-transform:uppercase;
  color:var(--cream);background:var(--sage-deep);
  padding:1rem 2.5rem;border-radius:3px;text-decoration:none;
  transition:all 0.4s;border:1px solid transparent;
}
.browse-collection .cta-btn:hover{
  background:transparent;color:var(--sage-deep);border-color:var(--sage-deep);
}

.product-grid{
  max-width:1050px;margin:3rem auto 0;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;
}
.product-card{
  background:var(--cream);border:1px solid rgba(143,164,126,0.1);
  border-radius:4px;padding:2.5rem 2rem;text-align:center;
  transition:all 0.6s cubic-bezier(0.16,1,0.3,1);position:relative;overflow:hidden;
}
.product-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(184,160,196,0.06) 0%,rgba(143,164,126,0.04) 100%);
  opacity:0;transition:opacity 0.5s;
}
.product-card:hover::before{opacity:1}
.product-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 50px rgba(0,0,0,0.05);
  border-color:rgba(143,164,126,0.25);
}
.product-card .icon{font-size:1.8rem;margin-bottom:1rem;display:block}
.product-card .card-cover{
  display:block;width:120px;max-width:55%;margin:0 auto 1.2rem;
  border-radius:2px;box-shadow:0 14px 30px rgba(0,0,0,0.12),0 3px 10px rgba(0,0,0,0.06);
  position:relative;z-index:1;
}
.product-card .card-preview{
  display:block;width:100%;margin:-0.5rem 0 1.2rem;aspect-ratio:16/10;
  object-fit:cover;object-position:top;border-radius:3px;
  border:1px solid rgba(143,164,126,0.15);position:relative;z-index:1;
}
.product-card h3{
  font-family:var(--font-display);font-size:1.4rem;font-weight:500;
  color:var(--charcoal);margin-bottom:0.3rem;position:relative;z-index:1;
}
.product-card .card-sub{
  font-family:var(--font-sans);font-size:0.55rem;font-weight:400;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--sage-deep);
  margin-bottom:1rem;position:relative;z-index:1;
}
.product-card p{
  font-size:0.85rem;color:var(--charcoal-soft);line-height:1.8;
  margin-bottom:1.5rem;position:relative;z-index:1;
}
.product-card a{
  font-family:var(--font-sans);font-size:0.6rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;color:var(--sage-deep);
  text-decoration:none;padding-bottom:2px;
  border-bottom:0.5px solid var(--sage-pale);transition:all 0.3s;
  position:relative;z-index:1;
}
.product-card a:hover{color:var(--plum);border-bottom-color:var(--plum)}

/* ── CTA ── */
.cta-section{
  padding:6rem 3rem;text-align:center;
  background:linear-gradient(135deg,rgba(122,90,138,0.08) 0%,rgba(143,164,126,0.06) 100%),var(--cream-warm);
  border-top:1px solid rgba(143,164,126,0.1);border-bottom:1px solid rgba(143,164,126,0.1);
}
.cta-section h3{
  font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2.2rem);
  font-weight:400;font-style:italic;color:var(--charcoal);margin-bottom:1rem;
}
.cta-section p{
  font-family:var(--font-sans);font-size:0.9rem;font-weight:300;
  color:var(--charcoal-soft);max-width:480px;margin:0 auto 2.5rem;line-height:1.9;
}
.cta-btn{
  display:inline-block;padding:1rem 2.5rem;
  background:var(--sage-deep);color:var(--cream);
  font-family:var(--font-sans);font-size:0.65rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;
  border-radius:3px;transition:all 0.4s;
}
.cta-btn:hover{background:var(--plum);transform:translateY(-3px);box-shadow:0 8px 30px rgba(122,90,138,0.15)}

/* ── BIZ CARDS ── */
.biz-section{padding:5rem 3rem;background:var(--cream)}
.biz-inner{max-width:750px;margin:0 auto}
.biz-card{
  background:var(--parchment);border:1px solid rgba(143,164,126,0.1);
  border-radius:4px;padding:3.5rem 3rem;text-align:center;
  margin-bottom:2.5rem;transition:all 0.6s cubic-bezier(0.16,1,0.3,1);
  position:relative;overflow:hidden;
}
.biz-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(184,160,196,0.05),rgba(143,164,126,0.04));
  opacity:0;transition:opacity 0.5s;
}
.biz-card:hover::before{opacity:1}
.biz-card:hover{border-color:rgba(143,164,126,0.25);box-shadow:0 16px 50px rgba(0,0,0,0.04)}
.biz-card h3{
  font-family:var(--font-display);font-size:1.8rem;font-weight:400;
  margin-bottom:0.4rem;position:relative;z-index:1;
}
.biz-card .card-sub{
  font-family:var(--font-sans);font-size:0.55rem;font-weight:400;
  letter-spacing:0.25em;text-transform:uppercase;color:var(--sage-deep);
  margin-bottom:1.5rem;position:relative;z-index:1;
}
.biz-card p{
  font-size:0.9rem;color:var(--charcoal-soft);line-height:1.9;
  max-width:500px;margin:0 auto 1.8rem;position:relative;z-index:1;
}
.system-tags{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:2.5rem;position:relative;z-index:1}
.system-tag{
  font-family:var(--font-sans);font-size:0.55rem;font-weight:400;
  letter-spacing:0.15em;text-transform:uppercase;
  padding:0.45rem 1rem;background:var(--cream);
  border:1px solid rgba(143,164,126,0.12);border-radius:2px;
  color:var(--charcoal-faint);transition:all 0.3s;
}
.system-tag:hover{border-color:var(--sage);color:var(--sage-deep)}
.biz-btn{
  display:inline-block;padding:1rem 2.5rem;
  background:var(--sage-deep);color:var(--cream);
  font-family:var(--font-sans);font-size:0.65rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;
  border-radius:3px;transition:all 0.4s;position:relative;z-index:1;
}
.biz-btn:hover{background:var(--plum);transform:translateY(-3px);box-shadow:0 8px 30px rgba(122,90,138,0.15)}
.book-btn{
  display:inline-block;padding:1rem 2.5rem;
  background:var(--gold);color:var(--charcoal);
  font-family:var(--font-sans);font-size:0.65rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;text-decoration:none;
  border-radius:3px;transition:all 0.4s;position:relative;z-index:1;
}
.book-btn:hover{background:var(--gold-bright);transform:translateY(-3px);box-shadow:0 8px 30px rgba(196,162,101,0.15)}
.biz-book-cover{
  display:block;width:180px;max-width:60%;margin:0 auto 1.5rem;
  border-radius:2px;box-shadow:0 18px 40px rgba(0,0,0,0.12),0 4px 12px rgba(0,0,0,0.06);
  position:relative;z-index:1;
}

/* ── SYSTEMS SHOWCASE ── */
.systems-showcase{padding:6rem 3rem;background:var(--parchment);border-top:1px solid rgba(143,164,126,0.1)}
.systems-showcase-inner{max-width:1180px;margin:0 auto}
.systems-showcase .section-header{margin-bottom:3rem}
.systems-showcase .section-header .label{
  font-family:var(--font-sans);font-size:0.55rem;font-weight:500;
  letter-spacing:0.35em;text-transform:uppercase;color:var(--sage-deep);
  margin-bottom:1rem;text-align:center;
}
.systems-showcase .section-header h2{
  font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:400;color:var(--charcoal);text-align:center;line-height:1.15;margin-bottom:1rem;
}
.systems-showcase .section-header h2 em{font-style:italic;color:var(--plum)}
.systems-showcase .section-header .sub{
  font-family:var(--font-serif);font-style:italic;font-size:1rem;
  color:var(--charcoal-faint);text-align:center;max-width:560px;margin:0 auto;line-height:1.7;
}
.systems-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.5rem;margin-top:3rem;
}
.system-item{
  background:var(--cream);border:1px solid rgba(143,164,126,0.12);
  border-radius:6px;overflow:hidden;
  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1),box-shadow 0.5s,border-color 0.5s;
  display:flex;flex-direction:column;
}
.system-item:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 40px rgba(0,0,0,0.06);
  border-color:rgba(143,164,126,0.3);
}
.system-item .sys-img{
  position:relative;overflow:hidden;aspect-ratio:9/16;
  background:linear-gradient(135deg,var(--cream-warm),var(--linen));
}
.system-item .sys-img img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;
  transition:transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.system-item:hover .sys-img img{transform:scale(1.04)}
.system-item .sys-body{padding:1.3rem 1.4rem 1.5rem;flex:1}
.system-item .sys-name{
  font-family:var(--font-display);font-size:1.15rem;font-weight:500;
  color:var(--charcoal);margin-bottom:0.15rem;
}
.system-item .sys-tag{
  font-family:var(--font-sans);font-size:0.5rem;letter-spacing:0.22em;
  text-transform:uppercase;color:var(--sage-deep);margin-bottom:0.6rem;
}
.system-item .sys-desc{
  font-family:var(--font-sans);font-size:0.8rem;font-weight:300;
  color:var(--charcoal-soft);line-height:1.6;
}

/* ── PREVIEW GALLERY ── */
.preview-gallery{padding:5rem 3rem;background:var(--cream);border-top:1px solid rgba(143,164,126,0.1)}
.preview-gallery-inner{max-width:1100px;margin:0 auto}
.preview-gallery .section-header{margin-bottom:3rem}
.preview-gallery .section-header .label{
  font-family:var(--font-sans);font-size:0.55rem;font-weight:500;
  letter-spacing:0.35em;text-transform:uppercase;color:var(--sage-deep);
  margin-bottom:1rem;text-align:center;
}
.preview-gallery .section-header h2{
  font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.6rem);
  font-weight:400;text-align:center;line-height:1.15;margin-bottom:1rem;
}
.preview-gallery .section-header h2 em{font-style:italic;color:var(--plum)}
.preview-gallery .section-header .sub{
  font-family:var(--font-serif);font-style:italic;font-size:1rem;
  color:var(--charcoal-faint);text-align:center;max-width:560px;margin:0 auto;line-height:1.7;
}
.preview-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:1.5rem;margin-top:2.5rem;
}
.preview-item{
  border:1px solid rgba(143,164,126,0.15);border-radius:6px;overflow:hidden;
  background:var(--parchment);transition:transform 0.5s,box-shadow 0.5s;
}
.preview-item:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,0.06)}
.preview-item img{
  display:block;width:100%;aspect-ratio:9/16;object-fit:cover;object-position:top;
}
.preview-item figcaption{
  padding:0.9rem 1rem;text-align:center;
  font-family:var(--font-sans);font-size:0.55rem;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--charcoal-faint);
  border-top:1px solid rgba(143,164,126,0.1);
}

/* ── APP CARDS ── */
.apps-grid{
  max-width:950px;margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;
}
.app-card{
  background:var(--cream);border:1px solid rgba(143,164,126,0.1);
  border-radius:4px;overflow:hidden;transition:all 0.6s cubic-bezier(0.16,1,0.3,1);
  position:relative;
}
.app-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(143,164,126,0.06),rgba(184,160,196,0.04));
  opacity:0;transition:opacity 0.5s;
}
.app-card:hover::before{opacity:1}
.app-card:hover{
  transform:translateY(-6px);box-shadow:0 16px 50px rgba(0,0,0,0.05);
  border-color:rgba(143,164,126,0.25);
}
.app-preview{
  position:relative;overflow:hidden;aspect-ratio:16/10;
  background:linear-gradient(135deg,var(--cream-warm),var(--linen));
  border-bottom:1px solid rgba(143,164,126,0.1);
}
.app-preview img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;
  transition:transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.carousel img{opacity:0;transition:opacity 0.8s ease,transform 0.8s cubic-bezier(0.16,1,0.3,1);z-index:1}
.carousel img.active{opacity:1;z-index:2}
.app-card:hover .carousel img.active{transform:scale(1.03)}
.carousel-dots{
  position:absolute;bottom:0.9rem;left:50%;transform:translateX(-50%);
  display:flex;gap:0.5rem;z-index:3;padding:0.4rem 0.7rem;border-radius:20px;
  background:rgba(250,246,239,0.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.carousel-dots .dot{
  width:7px;height:7px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(60,50,70,0.25);transition:background 0.3s,transform 0.3s;
}
.carousel-dots .dot.active{background:var(--plum);transform:scale(1.3)}
.carousel-dots .dot:hover{background:var(--plum)}
.app-card:hover .app-preview img{transform:scale(1.05)}
.app-card-body{padding:2.2rem 2rem 1.5rem;text-align:center;position:relative;z-index:1}
.app-card-body .emoji{font-size:2.2rem;margin-bottom:1rem;display:block}
.app-card-body h3{font-family:var(--font-display);font-size:1.5rem;font-weight:500;margin-bottom:0.3rem}
.app-card-body .card-sub{
  font-family:var(--font-sans);font-size:0.55rem;letter-spacing:0.2em;
  text-transform:uppercase;color:var(--sage-deep);margin-bottom:1rem;
}
.app-card-body p{font-size:0.85rem;color:var(--charcoal-soft);line-height:1.8}
.app-card-footer{
  padding:1.2rem 2rem;border-top:1px solid rgba(143,164,126,0.08);
  text-align:center;position:relative;z-index:1;
  display:flex;flex-wrap:wrap;gap:0.9rem 1.4rem;justify-content:center;
}
.notebook-previews{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0.9rem;margin-top:1.6rem;
}
.notebook-previews a{
  display:block;text-decoration:none;color:var(--charcoal-soft);
  border:1px solid rgba(143,164,126,0.15);border-radius:4px;overflow:hidden;
  background:var(--parchment);transition:transform 0.4s,box-shadow 0.4s;
}
.notebook-previews a:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,0.06)}
.notebook-previews img{display:block;width:100%;aspect-ratio:2/1.25;object-fit:cover}
.notebook-previews span{
  display:block;padding:0.55rem 0.4rem;font-family:var(--font-sans);
  font-size:0.52rem;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--charcoal-faint);text-align:center;
}
@media(max-width:540px){.notebook-previews{grid-template-columns:1fr}}
.app-card-footer a{
  font-family:var(--font-sans);font-size:0.6rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;
  color:var(--sage-deep);transition:color 0.3s;
}
.app-card-footer a:hover{color:var(--plum)}
.coming-soon{
  font-family:var(--font-sans);font-size:0.6rem;font-weight:400;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);
}

/* ── QUOTE ── */
.quote-band{
  padding:6rem 3rem;text-align:center;background:var(--cream-warm);
  border-top:1px solid rgba(143,164,126,0.1);border-bottom:1px solid rgba(143,164,126,0.1);
}
.quote-band blockquote{
  font-family:var(--font-serif);font-size:clamp(0.95rem,1.6vw,1.15rem);
  font-style:italic;color:var(--charcoal-soft);
  max-width:560px;margin:0 auto 1rem;line-height:1.9;
}
.quote-band cite{
  font-family:var(--font-sans);font-size:0.6rem;font-style:normal;
  letter-spacing:0.25em;text-transform:uppercase;color:var(--sage);
}

/* ── FOOTER ── */
footer{
  padding:5rem 3rem 3rem;text-align:center;
  background:var(--charcoal);color:rgba(245,239,230,0.7);
}
.footer-brand{
  font-family:var(--font-display);font-size:1.3rem;font-weight:400;
  letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(245,239,230,0.35);margin-bottom:1rem;
}
.footer-email{margin-bottom:2rem}
.footer-email a{
  font-family:var(--font-serif);font-size:0.95rem;font-style:italic;
  color:var(--sage-light);text-decoration:none;
  border-bottom:0.5px solid transparent;transition:border-color 0.3s;
}
.footer-email a:hover{border-bottom-color:var(--sage-light)}
.footer-socials{display:flex;gap:2.5rem;justify-content:center;margin-bottom:3rem}
.footer-socials a{
  font-family:var(--font-sans);font-size:0.6rem;font-weight:300;
  letter-spacing:0.2em;text-transform:uppercase;
  color:rgba(245,239,230,0.35);text-decoration:none;transition:color 0.3s;
}
.footer-socials a:hover{color:var(--sage-light)}
.footer-copy{
  font-family:var(--font-sans);font-size:0.6rem;font-weight:300;
  letter-spacing:0.1em;color:rgba(245,239,230,0.12);
  border-top:1px solid rgba(245,239,230,0.06);padding-top:2rem;
}

/* ── ORNAMENT ── */
.ornament{
  text-align:center;padding:2rem 0;
  font-family:var(--font-display);font-size:1rem;
  letter-spacing:0.5em;color:var(--sage-pale);
}

/* ── REVEAL ── */
.reveal{
  opacity:0;transform:translateY(50px);
  transition:opacity 1.2s cubic-bezier(0.16,1,0.3,1),transform 1.2s cubic-bezier(0.16,1,0.3,1);
}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:0.15s}
.reveal-d2{transition-delay:0.25s}

/* ── MOBILE ── */
@media(max-width:768px){
  .cursor{display:none}
  nav{padding:0.8rem 1.5rem;flex-wrap:wrap}
  .nav-links{display:none}
  .nav-links.open{
    display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;
    background:rgba(250,246,239,0.97);backdrop-filter:blur(20px);
    padding:2rem 1.5rem;gap:1.5rem;border-bottom:1px solid var(--linen);
  }
  .nav-toggle{display:block}
  .page-hero{padding:7rem 1.5rem 3.5rem}
  .page-hero h1{font-size:clamp(2.2rem,10vw,3.5rem)}
  .bio-section{padding:4rem 1.5rem}
  .bio-inner{flex-direction:column;align-items:center;text-align:center;gap:2rem}
  .products-section{padding:3rem 1.5rem}
  .product-grid{grid-template-columns:1fr}
  .product-card{padding:2rem 1.5rem}
  .cta-section{padding:4rem 1.5rem}
  .biz-section{padding:3rem 1.5rem}
  .biz-card{padding:2.5rem 1.5rem}
  .system-tags{gap:0.3rem}
  .system-tag{font-size:0.5rem;padding:0.35rem 0.7rem}
  .apps-grid{grid-template-columns:1fr}
  .quote-band{padding:4rem 1.5rem}
  footer{padding:3rem 1.5rem 2rem}
  .footer-socials{flex-wrap:wrap;gap:1.2rem}
}
