/* CodeFrom v14: clear portfolio, editable ready-made template shelf, eight-article grid. */
:root{--cf-purple:#6353ef;--cf-ink:#17152e}
.cf-brandmark{display:block;width:34px;height:34px;flex:0 0 auto;border-radius:11px;box-shadow:0 6px 15px rgba(88,75,213,.16)}
.brand:has(.cf-brandmark){display:inline-flex;align-items:center;gap:8px}
.cf-auth-link{display:inline-flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap;font-size:12px;font-weight:800;text-decoration:none;color:#282344;background:#f1efff;border:1px solid #ded9ff;padding:11px 15px;border-radius:13px;transition:background .2s,transform .2s}
.cf-auth-link:hover{background:#e8e4ff;transform:translateY(-2px)}
.cf-auth-link .cf-avatar{display:inline-grid;place-items:center;background:#6554f0;color:#fff;border-radius:50%;height:20px;width:20px;font-weight:700;font-size:11px}
.cf-portfolio{background:radial-gradient(circle at 12% 8%,#f0edff 0,transparent 42%),#fff;padding:92px 0 95px}
.cf-section-kicker{color:#6353e9;font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:800;display:flex;gap:9px;align-items:center}
.cf-section-kicker:before{content:'';display:inline-block;width:21px;height:6px;border-radius:10px;background:#6a56fb}
.cf-section-heading{display:flex;gap:24px;justify-content:space-between;align-items:end;margin:17px 0 32px}
.cf-section-heading h2{font:700 clamp(32px,4vw,53px)/1.09 'Space Grotesk',sans-serif;letter-spacing:-.059em;color:#18162f;margin:0;max-width:760px}
.cf-section-heading p{max-width:390px;color:#636176;font-size:14px;line-height:1.75;margin:0}
.cf-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cf-project-grid>.project-card{grid-column:auto!important;display:flex!important;flex-direction:column!important;min-width:0;min-height:0!important;border-radius:21px;background:white;box-shadow:0 12px 38px rgba(32,25,97,.035)}
.cf-project-grid .project-visual{height:184px!important;min-height:0!important;order:0!important;padding:13px 13px 0;align-items:flex-end}
.cf-project-grid .project-visual img{max-height:169px;max-width:115%;width:110%;object-fit:contain;transform:none!important}
.cf-project-grid .project-toplabel{font-size:9px;padding:7px 9px}
.cf-project-grid .project-body{padding:21px!important;display:flex;flex-direction:column;flex:1}
.cf-project-grid .project-kicker{display:flex;gap:6px;flex-wrap:wrap;font-size:9px;align-items:center}
.cf-project-grid .project-title{font-size:23px!important;line-height:1.2;letter-spacing:-.055em;margin:12px 0 9px}
.cf-project-grid .project-body>p{font-size:12.5px!important;line-height:1.7;margin:0 0 14px;color:#6c6a78;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;max-width:none!important}
.cf-project-grid .project-bottom{margin-top:auto!important;gap:11px;display:flex;flex-direction:column;align-items:stretch;border-top:1px solid #ebeaf3;padding-top:12px}
.cf-project-grid .project-tech{font-size:10px}
.cf-project-grid .project-link{display:inline-flex;align-items:center;justify-content:space-between;min-height:36px;font-size:12px}
.cf-portfolio-more{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:23px;padding:20px 24px;border-radius:18px;background:#f7f6ff;border:1px solid #e9e5ff;color:#55536a;font-size:13px}
.cf-portfolio-more strong{color:#1d193c}
.cf-viewall{font-weight:800;color:#6150df;white-space:nowrap;text-decoration:none}
.cf-templates{padding:94px 0 102px;background:linear-gradient(160deg,#1b1736 0%,#30246c 55%,#201948 100%);color:#fff;position:relative;overflow:hidden}
.cf-templates:before{content:'';position:absolute;pointer-events:none;right:-220px;top:-330px;width:760px;height:760px;background:radial-gradient(circle,rgba(151,123,255,.35),transparent 64%)}
.cf-templates .container{position:relative;z-index:1}
.cf-templates .cf-section-kicker{color:#b7ffcf}.cf-templates .cf-section-kicker:before{background:#b7ffcf}
.cf-templates .cf-section-heading h2{color:#fff}.cf-templates .cf-section-heading p{color:#d5cffa}
.cf-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.cf-template-card{min-width:0;display:flex;flex-direction:column;color:#221d36;text-decoration:none;background:#fff;border-radius:22px;overflow:hidden;transition:transform .28s,box-shadow .28s;box-shadow:0 15px 24px rgba(0,0,0,.11)}
.cf-template-card:hover{transform:translateY(-8px);box-shadow:0 24px 40px rgba(0,0,0,.22)}
.cf-template-cover{min-height:182px;display:flex;align-items:flex-end;justify-content:center;position:relative;overflow:hidden;padding:20px 14px 0}
.cf-template-cover img{width:109%;height:160px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 12px 12px rgba(40,35,75,.13));transition:transform .28s}
.cf-template-card:hover .cf-template-cover img{transform:translateY(-5px) scale(1.04)}
.cf-template-bubble{position:absolute;top:13px;left:13px;background:rgba(255,255,255,.93);color:#5146a7;font-size:10px;font-weight:800;padding:7px 10px;border-radius:99px}
.cf-template-content{display:flex;flex-direction:column;gap:9px;flex:1;padding:20px}
.cf-template-content h3{font:700 21px/1.15 'Space Grotesk',sans-serif;letter-spacing:-.045em;margin:0}
.cf-template-content p{font-size:12px;line-height:1.65;color:#716d80;margin:0;flex:1}
.cf-template-action{border-top:1px solid #f0edf6;padding-top:13px;margin-top:9px;display:flex;align-items:center;justify-content:space-between;color:#6053d6;font-weight:800;font-size:12px}
.cf-template-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:28px}
.cf-template-footer p{max-width:520px;font-size:13px;color:#d8d3ff;line-height:1.65;margin:0}
.cf-template-shop{background:#b4ffbe;color:#1a2b1e;display:inline-flex;gap:13px;align-items:center;text-decoration:none;font-weight:800;border-radius:14px;padding:16px 20px;transition:transform .2s}
.cf-template-shop:hover{transform:translateY(-3px)}
/* Journal takes up to eight genuine published posts, four across on desktop. */
.cf-journal .cf-journal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.cf-journal .cf-journal-cover{min-height:170px;padding:16px}
.cf-journal .cf-journal-cover-words{font-size:clamp(22px,2.2vw,29px)}
.cf-journal .cf-journal-cover-glyph{font-size:68px}
.cf-journal .cf-journal-card-body{padding:19px}
.cf-journal .cf-journal-card h3{font-size:18px;margin:10px 0 8px;letter-spacing:-.035em}
.cf-journal .cf-journal-card p{font-size:12px}
.cf-journal .cf-journal-read{margin-top:17px;font-size:12px}
.cf-journal{background:linear-gradient(135deg,#f9f9ff,#f5f3ff)}
@media (max-width:1220px){.cf-project-grid,.cf-template-grid,.cf-journal .cf-journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-project-grid .project-visual{height:230px!important}.cf-project-grid .project-visual img{max-height:205px}.cf-auth-link{padding:10px}}
@media(min-width:981px) and (max-width:1260px){.nav-links a{padding:10px 8px!important}.nav-end>.btn-primary{display:none}}
@media(max-width:980px){.nav-end>.cf-auth-link{display:none}}
@media(max-width:660px){.cf-portfolio,.cf-templates{padding:66px 0}.cf-section-heading{display:block;margin-bottom:25px}.cf-section-heading p{margin-top:13px}.cf-project-grid,.cf-template-grid,.cf-journal .cf-journal-grid{grid-template-columns:1fr;gap:16px}.cf-project-grid .project-visual{height:208px!important}.cf-template-cover{min-height:205px}.cf-template-cover img{height:189px}.cf-portfolio-more{align-items:flex-start;flex-direction:column}.cf-template-footer{align-items:stretch}.cf-template-shop{justify-content:center}.cf-journal .cf-journal-cover{min-height:200px}.cf-journal .cf-journal-cover-words{font-size:30px}}
@media(prefers-reduced-motion:reduce){.cf-template-card,.cf-template-cover img{transition:none}}
