/* Public marketing site. Everything is scoped to the signed-out body class so
   the compact authenticated app keeps its existing layout and behaviour. */
.public-header-nav,.public-footer-brand { display:none; }
.is-public { background:#fbf7f0 !important; }
.is-public header {
  position:sticky !important; height:76px; padding:0 max(24px,calc((100% - 1180px)/2)) !important;
  border-bottom:1px solid rgba(222,210,196,.78); background:rgba(251,247,240,.92) !important;
  box-shadow:none !important; backdrop-filter:blur(16px);
}
.is-public .public-header-nav { display:flex; align-items:center; gap:30px; margin-left:auto; margin-right:30px; }
.is-public .public-header-nav a { color:var(--text2); font-size:14px; font-weight:800; text-decoration:none; }
.is-public .public-header-nav a:hover { color:var(--coral); }
.is-public #signInBtn { width:auto !important; min-height:43px; margin:0 !important; padding:9px 19px !important; border:2px solid var(--coral-dark) !important; border-radius:999px !important; background:var(--coral) !important; color:#fff !important; box-shadow:0 3px 0 var(--coral-dark) !important; font-family:'Nunito',sans-serif; font-size:14px; font-weight:900; transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease; }
.is-public #header-wallet { display:none !important; }
.is-public main { max-width:none !important; margin:0 !important; padding:0 !important; }
.is-public #welcome { width:100%; overflow:hidden; text-align:left !important; }
.is-public footer { position:relative; z-index:1; max-width:none; margin:0; padding:42px max(24px,calc((100% - 1180px)/2)); display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 50px; border-top:1px solid var(--hairline); background:#fff; text-align:right; }
.is-public .public-footer-brand { display:grid; grid-column:1; grid-row:1 / 4; grid-template-columns:auto 1fr; align-items:center; justify-self:start; text-align:left; }
.is-public .public-footer-brand .logo-dots { grid-row:1 / 3; margin-right:10px; }.is-public .public-footer-brand strong { font-family:'Baloo 2',cursive; font-size:19px; line-height:1; }.is-public .public-footer-brand small { margin-top:4px; color:var(--muted); font-size:11px; font-weight:700; }
.is-public footer > p { margin:0 !important; }.is-public footer .footer-sub { font-size:12px; }

.public-kicker { display:block; color:var(--coral); font-size:12px; line-height:1.25; font-weight:900; letter-spacing:.105em; text-transform:uppercase; }
.public-hero {
  position:relative; width:min(1180px,calc(100% - 48px)); min-height:680px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr); align-items:center; gap:76px; padding:58px 0 70px;
}
.public-hero::before { content:''; position:absolute; z-index:-1; width:520px; height:520px; right:-220px; top:-110px; border-radius:50%; background:#eaf4fd; filter:blur(2px); opacity:.72; }
.public-hero::after { content:''; position:absolute; z-index:-1; width:260px; height:260px; left:-190px; bottom:-60px; border-radius:50%; background:#fff0e9; opacity:.85; }
.public-hero-copy { position:relative; z-index:1; min-width:0; }
.public-hero-copy h1 { max-width:590px; margin:10px 0 19px !important; color:var(--ink); font-family:'Baloo 2',cursive; font-size:clamp(48px,5vw,68px); font-weight:800; line-height:.98; letter-spacing:-.035em; overflow-wrap:anywhere; }
.public-hero-copy h1 > span { color:inherit; text-shadow:none; animation:none; }
.public-hero-copy h1 > span:first-child { display:block; }
#welcome .public-hero-copy > p { max-width:570px; margin:0 0 28px; color:var(--text2); font-size:18px; line-height:1.65; font-weight:600; }
.public-hero-actions { display:flex; align-items:center; gap:12px; }
#welcome .public-primary-cta {
  display:inline-flex; align-items:center; justify-content:center; gap:11px; width:auto !important; max-width:none !important; min-height:58px;
  margin:0; padding:15px 22px !important; border:0 !important; border-radius:17px !important; background:var(--coral) !important; color:#fff !important;
  box-shadow:0 4px 0 var(--coral-dark) !important; font-family:'Baloo 2',cursive; font-size:18px; line-height:1; font-weight:800; cursor:pointer;
}
.public-primary-cta:hover { transform:translateY(-1px); }
.public-primary-cta:active { transform:translateY(3px); box-shadow:0 1px 0 var(--coral-dark) !important; }
.public-secondary-cta { display:inline-flex; align-items:center; min-height:56px; padding:0 15px; color:var(--ink); font-size:14px; font-weight:900; text-decoration:none; }
.public-secondary-cta:hover { color:var(--coral-dark); }
.public-hero-trust { display:flex; flex-wrap:wrap; gap:18px; margin-top:24px; }
.public-hero-trust span { display:flex; align-items:center; gap:7px; color:var(--text2); font-size:12px; font-weight:800; }
.public-hero-trust strong { font:inherit; }
.public-hero-trust i { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#eaf7ef; color:var(--green); font-style:normal; }

.public-hero-visual { position:relative; padding:24px; border:1px solid #e6d7c5; border-radius:32px; background:linear-gradient(145deg,#fff8e8 0%,#fff0ec 100%); box-shadow:0 24px 60px rgba(64,50,38,.14); }
.public-visual-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:15px; }
.public-visual-heading span { color:var(--coral-dark); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.public-visual-heading strong { font-family:'Baloo 2',cursive; font-size:18px; }
.public-visual-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.public-visual-grid figure { position:relative; overflow:hidden; margin:0; aspect-ratio:2/3; border:5px solid #fff; border-radius:21px; background:#fff; box-shadow:0 6px 20px rgba(47,42,46,.12); }
.public-visual-grid figure > span { position:absolute; z-index:1; top:8px; left:8px; padding:5px 8px; border-radius:999px; background:#fff; color:var(--ink); font-size:10px; font-weight:900; box-shadow:0 2px 8px rgba(47,42,46,.12); }
.public-visual-grid figure > span.is-result { background:var(--green); color:#fff; }
.public-visual-grid figure > span.is-colored { background:var(--blue); color:#fff; }
.public-visual-grid img { display:block; width:100%; height:100%; object-fit:cover; }
.public-visual-arrow { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:36px; height:36px; transform:translate(-50%,-50%); border:3px solid #fff; border-radius:50%; background:var(--coral); color:#fff; font-size:18px; font-style:normal; font-weight:900; }
.public-visual-arrow.is-first { left:33.333%; }
.public-visual-arrow.is-second { left:66.667%; }
.public-visual-note { position:absolute; right:-24px; bottom:32px; display:flex; align-items:center; gap:10px; min-width:205px; padding:12px 15px; border:1px solid var(--hairline); border-radius:16px; background:#fff; box-shadow:0 10px 30px rgba(47,42,46,.14); }
.public-visual-note > span { display:grid; place-items:center; width:34px; height:34px; border-radius:11px; background:#f1eafa; color:#8c64bf; }
#welcome .public-visual-note p { margin:0; line-height:1.25; }
.public-visual-note strong,.public-visual-note small { display:block; }
.public-visual-note strong { font-size:12px; }
.public-visual-note small { margin-top:2px; color:var(--muted); font-size:10px; font-weight:700; }

.public-proof { width:min(1080px,calc(100% - 48px)); margin:0 auto 82px; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--hairline); border-radius:23px; background:#fff; box-shadow:0 8px 30px rgba(47,42,46,.055); }
.public-proof article { display:flex; align-items:center; gap:14px; min-height:105px; padding:22px 28px; }
.public-proof article + article { border-left:1px solid var(--hairline); }
.public-proof-icon { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; border-radius:14px; font-size:20px; font-weight:900; }
.public-proof-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.public-proof-icon.coral { background:#fff0ec; color:var(--coral); }.public-proof-icon.blue { background:#eaf4fd; color:var(--blue); }.public-proof-icon.green { background:#eaf7ef; color:var(--green); }
.public-proof strong,.public-proof small { display:block; }
.public-proof strong { font-size:14px; }.public-proof small { margin-top:2px; color:var(--muted); font-size:11px; font-weight:700; }

.public-section { width:min(1080px,calc(100% - 48px)); margin:0 auto 95px; }
.public-value { scroll-margin-top:96px; padding:62px 52px 48px; border:1px solid rgba(41,33,27,.07); border-radius:36px; background:#fffdfa; box-shadow:0 18px 50px rgba(120,85,50,.08); box-sizing:border-box; }
.public-value-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.public-value-grid article { display:flex; align-items:flex-start; gap:15px; min-width:0; padding:22px; border:1px solid rgba(41,33,27,.08); border-radius:20px; background:#fff; }
.public-value-grid article.is-free { background:#fff5df; border-color:rgba(245,178,63,.3); }
.public-value-grid article.is-community { background:#edf8f1; border-color:rgba(46,139,87,.18); }
.public-value-badge,.public-value-icon { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border-radius:14px; background:#ffe1d6; color:var(--coral); font-family:'Baloo 2',cursive; font-size:20px; font-weight:900; }
.public-value-icon { background:#eef3fa; color:var(--blue); }
.public-value-grid h3 { margin:1px 0 5px; font-family:'Baloo 2',cursive; font-size:19px; line-height:1.2; }
#welcome .public-value-grid p,#welcome .public-value-community p,#welcome .public-value-feedback p { margin:0; color:var(--text2); font-size:13px; line-height:1.55; font-weight:600; }
.public-value-community { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:14px; padding:23px 25px; border-radius:20px; background:#dce9f6; }
.public-value-community strong,.public-value-feedback strong { display:block; margin-bottom:4px; font-family:'Baloo 2',cursive; font-size:20px; line-height:1.2; }
.public-value-gallery-link { flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; padding:12px 17px; border-radius:999px; background:var(--ink); color:#fff; font-size:12px; font-weight:900; text-decoration:none; }
.public-value-gallery-link:hover { background:var(--coral-dark); }
.public-value-feedback { display:flex; gap:14px; margin-top:14px; padding:19px 22px; border:1px dashed rgba(232,91,68,.3); border-radius:20px; background:#fff3ef; }
.public-value-feedback > span { color:var(--coral); font-size:24px; }
.public-value-feedback small { display:block; margin-top:7px; color:var(--muted); font-size:10px; font-weight:700; }
.public-wall-showcase { scroll-margin-top:96px; padding:54px 36px 38px; border-radius:36px; background:linear-gradient(145deg,#eaf4fd 0%,#f4effb 100%); box-sizing:border-box; }
.public-wall-showcase .public-section-heading { margin-bottom:32px; }
.public-wall-grid { display:grid; grid-template-columns:.82fr 1.36fr .82fr; gap:18px; align-items:stretch; }
.public-wall-card { overflow:hidden; display:grid; grid-template-rows:1fr auto; min-width:0; margin:0; border:1px solid rgba(52,75,98,.1); border-radius:24px; background:#fffdfa; box-shadow:0 10px 28px rgba(60,75,95,.1); transition:transform .2s ease,box-shadow .2s ease; }
.public-wall-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(60,75,95,.15); }
.public-wall-image { display:grid; place-items:center; height:390px; padding:12px; overflow:hidden; background:#fff; box-sizing:border-box; }
.public-wall-image img { display:block; width:100%; height:100%; object-fit:contain; }
.public-wall-card figcaption { display:grid; gap:2px; padding:15px 17px 17px; border-top:1px solid rgba(52,75,98,.08); }
.public-wall-card figcaption span { color:var(--coral-dark); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.public-wall-card figcaption strong { color:var(--ink); font-family:'Baloo 2',cursive; font-size:18px; line-height:1.2; }
.public-how { width:100%; margin:0 0 95px; padding:82px max(24px,calc((100% - 1080px)/2)); background:#fff; }
.public-section-heading { max-width:680px; margin:0 auto 45px; text-align:center; }
#welcome .public-section h2,#welcome .public-origin h2,#welcome .public-final-cta h2 { margin:7px 0 10px; font-family:'Baloo 2',cursive; font-size:clamp(34px,4vw,48px); line-height:1.05; font-weight:800; letter-spacing:-.02em; }
#welcome .public-section-heading p { margin:0; color:var(--text2); font-size:15px; font-weight:600; }
.public-step-list { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.public-step-list article { position:relative; min-height:190px; padding:26px; border:1px solid var(--hairline); border-radius:22px; background:#fff; box-shadow:0 7px 24px rgba(47,42,46,.055); }
.public-step-list article::after { content:''; position:absolute; left:27px; right:27px; top:72px; height:1px; background:var(--hairline); }
.public-step-list article > span { color:var(--coral); font-family:'Baloo 2',cursive; font-size:17px; font-weight:800; }
.public-step-list h3 { margin:36px 0 7px; font-family:'Baloo 2',cursive; font-size:22px; line-height:1.1; }
#welcome .public-step-list p { margin:0; color:var(--text2); font-size:14px; line-height:1.55; font-weight:600; }

.public-ideas { display:grid; grid-template-columns:.88fr 1.12fr; gap:62px; align-items:center; padding:52px; border-radius:30px; background:#eaf4fd; }
.public-ideas-copy h2 { font-size:42px !important; }
#welcome .public-ideas-copy p { margin:0 0 20px; color:var(--text2); font-size:15px; line-height:1.6; font-weight:600; }
.public-ideas-copy a { color:var(--ink); font-size:14px; font-weight:900; text-decoration:none; }
.public-ideas-copy a span { color:var(--coral); }
.public-ideas-links { display:flex; flex-wrap:wrap; gap:8px 17px; }
.public-ideas-links a { padding-bottom:3px; border-bottom:2px solid rgba(41,33,27,.12); }
.public-ideas-links b { font:inherit; color:inherit; }
.public-ideas-links a:hover { border-bottom-color:var(--coral); }
.public-idea-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.public-idea-cards article { min-height:118px; padding:18px; border:1px solid rgba(211,223,233,.9); border-radius:17px; background:rgba(255,255,255,.88); }
.public-idea-cards span,.public-idea-cards strong,.public-idea-cards small { display:block; }
.public-idea-cards span { margin-bottom:15px; color:var(--blue); font-family:'Baloo 2',cursive; font-size:12px; font-weight:800; }
.public-idea-cards strong { font-size:14px; }.public-idea-cards small { margin-top:3px; color:var(--muted); font-size:11px; font-weight:700; }

.public-origin { width:min(1080px,calc(100% - 48px)); margin:0 auto 92px; display:grid; grid-template-columns:1fr .9fr; gap:72px; align-items:center; padding:38px 42px; border-radius:28px; background:#fff8e8; }
.public-origin > div { padding-left:27px; border-left:4px solid var(--ochre); }
#welcome .public-origin p { margin:0; color:var(--text2); font-size:17px; line-height:1.75; font-weight:600; }
.public-final-cta { width:min(1080px,calc(100% - 48px)); margin:0 auto 72px; padding:56px 30px; border:1px solid #eaded0; border-radius:30px; background:linear-gradient(145deg,#fff2ed,#f2ecfa); text-align:center; }
.public-final-cta h2 { margin-bottom:7px !important; }
#welcome .public-final-cta p { margin:0 0 24px; color:var(--text2); font-size:16px; font-weight:600; }

@media (max-width:920px) {
  .is-public .public-header-nav { display:none; }
  .public-hero { grid-template-columns:1fr; max-width:700px; gap:45px; padding-top:52px; }
  .public-hero-copy { text-align:center; }
  .public-hero-copy h1,#welcome .public-hero-copy > p { margin-left:auto !important; margin-right:auto !important; }
  .public-hero-actions,.public-hero-trust { justify-content:center; }
  .public-hero-visual { max-width:600px; margin:auto; }
  .public-proof { grid-template-columns:1fr; max-width:700px; }
  .public-proof article + article { border-left:0; border-top:1px solid var(--hairline); }
  .public-wall-grid { grid-template-columns:1fr 1fr; }
  .public-wall-card.is-landscape { grid-column:1 / -1; grid-row:1; }
  .public-wall-image { height:420px; }
  .public-step-list { grid-template-columns:1fr; max-width:700px; margin:auto; }
  .public-step-list article { min-height:0; }
  .public-ideas,.public-origin { grid-template-columns:1fr; gap:35px; }
}
@media (max-width:600px) {
  .is-public header { height:68px; padding:0 18px !important; }
  .is-public .logo-word { font-size:20px; }
  .is-public #signInBtn { min-height:40px; padding:7px 12px !important; }
  .public-hero { width:calc(100% - 32px); min-height:0; padding:38px 0 54px; }
  .public-hero::before { width:290px; height:290px; right:-210px; top:170px; opacity:.52; }
  .public-hero::after { width:170px; height:170px; left:-125px; bottom:300px; opacity:.6; }
  .public-hero-copy h1 { font-size:38px; line-height:1; }
  #welcome .public-hero-copy > p { font-size:16px; }
  .public-hero-actions { flex-direction:column; gap:5px; }
  #welcome .public-primary-cta { width:100% !important; }
  .public-secondary-cta { min-height:40px; }
  .public-hero-trust { display:grid; grid-template-columns:repeat(2,1fr); gap:10px 5px; margin-top:18px; }
  .public-hero-trust span { display:block; color:var(--muted); font-size:9px; line-height:1.3; text-align:center; }
  .public-hero-trust i { margin:0 auto 5px; }
  .public-hero-visual { padding:16px; border-radius:24px; }
  .public-visual-heading { display:block; }.public-visual-heading strong { display:block; margin-top:2px; }
  .public-visual-grid { gap:6px; }.public-visual-grid figure { border-width:3px; border-radius:15px; }
  .public-visual-grid figure > span { top:6px; left:5px; padding:4px 6px; font-size:8px; }
  .public-visual-arrow { width:29px; height:29px; border-width:2px; font-size:14px; }
  .public-visual-note { position:relative; right:auto; bottom:auto; margin-top:12px; }
  .public-proof,.public-section,.public-origin,.public-final-cta { width:calc(100% - 32px); }
  .public-value { padding:38px 18px 24px; border-radius:26px; }
  .public-value-grid { grid-template-columns:1fr; gap:9px; }
  .public-value-grid article { padding:17px; border-radius:17px; }
  .public-value-community { display:block; padding:20px; }
  .public-value-gallery-link { width:100%; justify-content:center; margin-top:15px; box-sizing:border-box; }
  .public-value-feedback { padding:17px; }
  .public-proof { grid-template-columns:repeat(3,1fr); margin-bottom:62px; border-radius:20px; }
  .public-proof article { display:block; min-height:138px; padding:17px 9px; text-align:center; }
  .public-proof article + article { border-top:0; border-left:1px solid var(--hairline); }
  .public-proof-icon { width:38px; height:38px; margin:0 auto 11px; border-radius:12px; }.public-proof-icon svg { width:19px; height:19px; }
  .public-proof strong { font-size:11px; line-height:1.25; }.public-proof small { margin-top:5px; font-size:9px; line-height:1.3; }
  .public-section { margin-bottom:68px; }
  .public-wall-showcase { padding:34px 16px 26px; border-radius:26px; }
  .public-wall-grid { display:flex; gap:12px; margin:0 -16px; padding:0 16px 8px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .public-wall-grid::-webkit-scrollbar { display:none; }
  .public-wall-card,.public-wall-card.is-landscape { flex:0 0 min(78vw,310px); grid-column:auto; grid-row:auto; scroll-snap-align:center; }
  .public-wall-image { height:330px; padding:9px; }
  .public-wall-card figcaption { padding:13px 15px 15px; }
  .public-how { width:100%; margin-bottom:68px; padding:62px 16px; }
  .public-section-heading { margin-bottom:28px; }
  #welcome .public-section h2,#welcome .public-origin h2,#welcome .public-final-cta h2 { font-size:34px; }
  .public-step-list { position:relative; display:block; max-width:500px; }
  .public-step-list::before { content:''; position:absolute; left:18px; top:18px; bottom:18px; width:1px; background:#eaded0; }
  .public-step-list article { min-height:0; margin:0; padding:0 0 28px 58px; border:0; border-radius:0; background:transparent; box-shadow:none; }
  .public-step-list article:last-child { padding-bottom:0; }
  .public-step-list article::after { display:none; }
  .public-step-list article > span { position:absolute; left:0; top:0; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--coral); color:#fff; font-size:11px; }
  .public-step-list h3 { margin:0 0 4px; font-size:20px; }.public-step-list article > div { padding-top:2px; }
  .public-ideas { padding:28px 18px; border-radius:24px; }
  .public-ideas-copy h2 { font-size:34px !important; }
  .public-idea-cards { grid-template-columns:1fr 1fr; gap:9px; }
  .public-idea-cards article { min-height:112px; padding:14px; }
  .public-idea-cards span { margin-bottom:9px; }.public-idea-cards strong { font-size:12px; line-height:1.25; }.public-idea-cards small { font-size:9px; line-height:1.3; }
  .public-origin { margin-bottom:68px; padding:29px 22px; gap:19px; border-radius:24px; }
  .public-origin > div { padding-left:17px; }
  #welcome .public-origin p { font-size:15px; }
  .public-final-cta { margin-bottom:54px; padding:40px 18px; }
  .is-public footer { padding:32px 22px; display:block; text-align:left; }
  .is-public .public-footer-brand { margin-bottom:22px; }
  .is-public footer > p { margin-top:5px !important; }
}

/* Art direction: warmer, crafted and more expressive without changing the app. */
@keyframes marketing-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-9px); } }
.is-public {
  --bg:#fbf3ea; --ink:#29211b; --text2:#5a4f45; --muted:#7a6e62;
  --coral:#e85b44; --coral-dark:#c94530; --blue:#4a78c0; --green:#2e8b57;
  --hairline:rgba(41,33,27,.09); background:#fbf3ea !important;
}
.is-public header { background:rgba(251,243,234,.88) !important; border-bottom-color:rgba(41,33,27,.06); }
.is-public .logo-dots,.is-public .public-footer-brand .logo-dots { gap:3px; }
.is-public .logo-dots i,.is-public .public-footer-brand .logo-dots i { width:11px; height:11px; margin-left:0 !important; }
.is-public .logo-dots i:nth-child(1){background:#f1684f}.is-public .logo-dots i:nth-child(2){background:#f5b23f}.is-public .logo-dots i:nth-child(3){background:#4a9de0}.is-public .logo-dots i:nth-child(4){background:#47ae79}
.is-public #signInBtn:hover { transform:translateY(-1px); background:#f1684f !important; box-shadow:0 5px 0 var(--coral-dark) !important; }
.is-public #signInBtn:active { transform:translateY(3px); box-shadow:0 0 0 var(--coral-dark) !important; }
.public-kicker { letter-spacing:.14em; }
.public-title-highlight { position:relative; display:inline; padding:0 .1em; border-radius:.22em; background:linear-gradient(transparent 58%,#ffe1d6 58%); color:var(--coral) !important; white-space:normal; -webkit-box-decoration-break:clone; box-decoration-break:clone; }
#welcome .public-primary-cta { border-radius:999px !important; padding-left:29px !important; padding-right:29px !important; box-shadow:0 7px 20px rgba(232,91,68,.32) !important; transition:transform .2s,box-shadow .2s; }
#welcome .public-primary-cta:hover { transform:translateY(-2px); box-shadow:0 11px 27px rgba(232,91,68,.4) !important; }
.public-secondary-cta { min-height:auto; padding:3px 0; border-bottom:2px dashed #c9baaa; }
.public-secondary-cta:hover { border-bottom-color:var(--coral); }
.public-hero::before { background:#e9f0f9; }.public-hero::after { background:#fce4d8; }
.public-hero-visual { overflow:visible; background:#fff4e4; border-color:rgba(41,33,27,.06); box-shadow:0 24px 60px rgba(120,85,50,.14); }
.public-hero-visual::before,.public-hero-visual::after { content:''; position:absolute; z-index:3; border-radius:50%; pointer-events:none; animation:marketing-float 5.5s ease-in-out infinite; }
.public-hero-visual::before { width:26px; height:26px; top:-15px; right:-13px; background:#f5b23f; }
.public-hero-visual::after { width:17px; height:17px; bottom:35px; left:-20px; background:#47ae79; animation-delay:1s; }
.public-visual-grid figure:first-child { transform:rotate(-1.4deg); }.public-visual-grid figure:nth-child(2) { transform:rotate(.8deg); }.public-visual-grid figure:nth-child(3) { transform:rotate(1.4deg); }
.public-visual-grid figure { transition:transform .25s,box-shadow .25s; }.public-visual-grid figure:hover { transform:rotate(0) translateY(-3px); box-shadow:0 12px 28px rgba(120,85,50,.2); }
.public-visual-note { box-shadow:0 7px 22px rgba(120,85,50,.11); }
.public-proof { gap:18px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.public-proof article { border:1px solid rgba(41,33,27,.07) !important; border-radius:22px; background:#fffdfa; box-shadow:0 6px 18px rgba(120,85,50,.06); transition:transform .2s,box-shadow .2s; }
.public-proof article:hover { transform:translateY(-4px); box-shadow:0 11px 26px rgba(120,85,50,.1); }
.public-proof-icon { border-radius:14px; }.public-proof-icon.coral{background:#ffe1d6;color:#e0664b}.public-proof-icon.blue{background:#dce8f8;color:#4a78c0}.public-proof-icon.green{background:#ddf2e4;color:#2e8b57}
.public-how { background:transparent; }
.public-step-list { position:relative; }
.public-step-list::before { content:''; position:absolute; z-index:-1; top:28px; left:16%; right:16%; border-top:3px dashed #e3cdb8; }
.public-step-list article { min-height:205px; padding:29px 27px; border-color:rgba(41,33,27,.07); border-radius:26px; background:#fffdfa; box-shadow:0 10px 28px rgba(120,85,50,.08); transition:transform .2s; }
.public-step-list article:nth-child(1){transform:rotate(-.45deg)}.public-step-list article:nth-child(2){transform:rotate(.45deg)}.public-step-list article:nth-child(3){transform:rotate(-.45deg)}
.public-step-list article:hover { transform:rotate(0) translateY(-4px); }
.public-step-list article::after { display:none; }
.public-step-list article > span { position:relative; z-index:1; display:grid; place-items:center; width:50px; height:50px; border-radius:15px; font-size:20px; }
.public-step-list article:nth-child(1)>span{background:#ffe1d6;color:#e85b44}.public-step-list article:nth-child(2)>span{background:#dce8f8;color:#4a78c0}.public-step-list article:nth-child(3)>span{background:#ddf2e4;color:#2e8b57}
.public-step-list h3 { margin-top:17px; }
.public-ideas { overflow:hidden; position:relative; background:#dce9f6; border-radius:40px; }
.public-ideas::before { content:''; position:absolute; width:250px; height:250px; left:-75px; bottom:-95px; border-radius:50%; background:rgba(255,253,250,.48); }
.public-ideas-copy,.public-idea-cards { position:relative; }
.public-idea-cards article { border-color:rgba(60,90,130,.08); border-radius:20px; background:#fffdfa; box-shadow:0 6px 18px rgba(60,90,130,.1); }
.public-idea-cards article:nth-child(even) { transform:translateY(10px); }
.public-origin { padding:20px 0; border-radius:0; background:transparent; }
.public-origin > div { border-left-width:6px; border-left-color:#f5b23f; }
.public-final-cta { position:relative; overflow:hidden; border:0; border-radius:40px; background:linear-gradient(120deg,#f6e9ee 0%,#eae4f6 100%); }
.public-final-cta::before,.public-final-cta::after { content:''; position:absolute; border-radius:50%; animation:marketing-float 6s ease-in-out infinite; }
.public-final-cta::before { width:16px; height:16px; top:34px; left:11%; background:#f1684f; box-shadow:720px 32px 0 3px #f5b23f; }
.public-final-cta::after { width:13px; height:13px; bottom:42px; left:20%; background:#47ae79; box-shadow:690px -5px 0 1px #7a5bc7; animation-delay:1s; }
.public-final-cta > * { position:relative; z-index:1; }
.is-public footer { background:#fbf3ea; border-top-color:rgba(41,33,27,.08); }

@media(max-width:600px){
  .public-title-highlight { white-space:normal; }
  .is-public #signInBtn { border-width:1.5px !important; }
  .public-hero-visual::before { width:18px;height:18px;right:-5px }.public-hero-visual::after{left:-7px}
  .public-visual-grid figure:first-child,.public-visual-grid figure:nth-child(2),.public-visual-grid figure:nth-child(3){transform:none}
  .public-proof { gap:8px; }.public-proof article { border-radius:17px; }
  .public-how { background:transparent; }
  .public-step-list::before { z-index:0; top:18px; left:18px; right:auto; bottom:18px; height:auto; border-top:0; border-left:2px dashed #e3cdb8; }
  .public-step-list article,.public-step-list article:nth-child(n){transform:none;background:transparent;box-shadow:none;border:0!important}
  .public-step-list article > span { width:38px;height:38px;border-radius:12px;font-size:12px; }
  .public-ideas { border-radius:26px; }.public-idea-cards article:nth-child(even){transform:none}
  .public-final-cta::before{left:8%;box-shadow:300px 25px 0 2px #f5b23f}.public-final-cta::after{left:16%;box-shadow:290px -2px 0 #7a5bc7}
}
@media(prefers-reduced-motion:reduce){.public-hero-visual::before,.public-hero-visual::after,.public-final-cta::before,.public-final-cta::after{animation:none}.public-proof article,.public-step-list article,.public-visual-grid figure,.public-wall-card{transition:none}}
