/* Cervo Studio theme styles. Colours and fonts come from theme.json presets. */
:root{--cv-ink:var(--wp--preset--color--ink);--cv-paper:var(--wp--preset--color--paper);--cv-lime:var(--wp--preset--color--lime);--cv-muted:var(--wp--preset--color--muted);--cv-mist:var(--wp--preset--color--mist);--cv-line:var(--wp--preset--color--line);--cv-dline:#33382f;--cv-ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{height:auto;max-width:100%}
:where(.wp-site-blocks)>*{margin-block-start:0}
:focus-visible{outline:2px solid #6f8a12;outline-offset:3px}
.cv-ink :focus-visible,.cv-night :focus-visible{outline-color:var(--cv-lime)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.cv-skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--cv-lime);color:var(--cv-ink);padding:12px 16px}
.cv-skip:focus{top:12px}

/* type helpers */
.cv-mono,.cv-mono a{font-family:var(--wp--preset--font-family--mono);font-size:.75rem!important;letter-spacing:.08em;text-transform:uppercase}
h1 em,h2 em,h3 em,.cv-em,blockquote em{font-family:var(--wp--preset--font-family--serif);font-style:italic;font-weight:400;letter-spacing:-.02em}
.cv-ink h1 em,.cv-ink h2 em,.cv-ink h3 em,.cv-ink blockquote em,.cv-night h1 em,.cv-night h2 em{color:var(--cv-lime)}
.cv-sub{font-size:clamp(1.15rem,1.8vw,1.6rem)!important;letter-spacing:-.02em;color:#dfe2d6;max-width:760px;font-weight:400}
.cv-muted{color:var(--cv-muted)}
.cv-ink .cv-muted,.cv-night .cv-muted{color:var(--cv-mist)}
.cv-hero h1{font-size:clamp(3.6rem,12.5vw,13rem);line-height:.86;margin:0}
.cv-hero h1 .cv-line{display:block}

/* sections */
.cv-ink{background:var(--cv-ink)!important;color:var(--cv-paper)}
.cv-night{background:var(--wp--preset--color--night)!important;color:var(--cv-paper)}
.cv-ink a:not(.wp-element-button):hover,.cv-night a:not(.wp-element-button):hover{color:var(--cv-lime)}
.cv-grain{background-image:radial-gradient(rgba(209,243,55,.08) 1px,transparent 1px);background-size:22px 22px}
.cv-section{padding-block:clamp(4rem,9vw,8.5rem)!important}
.cv-tight{padding-block:clamp(3rem,6vw,5rem)!important}

/* buttons */
.wp-block-button__link{display:inline-flex;align-items:center;gap:.9rem;transition:transform .2s var(--cv-ease),background .2s}
.wp-block-button__link:hover{transform:translateY(-2px)}
.wp-block-button__link:after{content:'↗';display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;margin:-.4rem -.9rem -.4rem 0;border-radius:50%;background:var(--cv-ink);color:var(--cv-lime);font-size:.95rem}
.is-style-cv-ink .wp-block-button__link{background:var(--cv-ink)!important;color:var(--cv-paper)!important}
.is-style-cv-ink .wp-block-button__link:after{background:var(--cv-lime);color:var(--cv-ink)}
.is-style-cv-ink .wp-block-button__link:hover{color:var(--cv-lime)!important}
.is-style-cv-ghost .wp-block-button__link{background:transparent!important;color:inherit!important;box-shadow:inset 0 0 0 1px #4b5242}
.is-style-cv-ghost .wp-block-button__link:after{background:var(--cv-lime);color:var(--cv-ink)}
.cv-btn{display:inline-flex;align-items:center;gap:.9rem;min-height:3.4rem;padding:0 .6rem 0 1.5rem;border-radius:999px;background:var(--cv-lime);color:var(--cv-ink)!important;text-decoration:none;font-weight:500;border:0;font:inherit;font-weight:500;cursor:pointer;transition:transform .2s var(--cv-ease)}
.cv-btn:hover{transform:translateY(-2px)}
.cv-btn .cv-arrow{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--cv-ink);color:var(--cv-lime)}
.cv-btn.is-ink{background:var(--cv-ink);color:var(--cv-paper)!important}
.cv-btn.is-ink .cv-arrow{background:var(--cv-lime);color:var(--cv-ink)}

/* header */
.cv-header{position:sticky;top:0;z-index:50;background:var(--cv-ink);color:var(--cv-paper);border-bottom:1px solid var(--cv-dline)}
.admin-bar .cv-header{top:32px}
.cv-header__in{max-width:1440px;margin:0 auto;padding:0 clamp(18px,3.4vw,56px);height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cv-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--cv-paper)!important}
.cv-logo__mark{font-family:var(--wp--preset--font-family--mono);color:var(--cv-lime);display:inline-flex;align-items:center;gap:4px;font-size:16px}
.cv-logo__mark i{width:13px;height:13px;border:3.5px solid currentColor;border-radius:50%;display:inline-block}
.cv-logo__word{font-size:25px;font-weight:700;letter-spacing:-1px}
.cv-logo__word b{color:var(--cv-lime);font-weight:700}
.cv-nav{display:flex;gap:28px;font-size:14px}
.cv-nav a{color:var(--cv-paper);text-decoration:none}
.cv-nav a[aria-current="page"]{color:var(--cv-lime)}
.cv-menu{display:none;width:46px;height:46px;border:1px solid #4b5242;border-radius:50%;background:transparent;color:var(--cv-paper);cursor:pointer}
.cv-mobile{display:none;flex-direction:column;gap:18px;padding:24px clamp(18px,3.4vw,56px) 32px;border-top:1px solid var(--cv-dline);font-size:24px}
.cv-mobile a{color:var(--cv-paper);text-decoration:none}
.cv-mobile.is-open{display:flex}
@media (max-width:1000px){.cv-nav{display:none}.cv-menu{display:inline-flex;align-items:center;justify-content:center}.cv-header .cv-btn{display:none}}

/* hero */
.cv-reveal{animation:cvUp 1s var(--cv-ease) both}
.cv-reveal.d1{animation-delay:.12s}.cv-reveal.d2{animation-delay:.24s}
@keyframes cvUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.cv-underline{background:linear-gradient(var(--cv-lime),var(--cv-lime)) 0 92%/0 14% no-repeat;animation:cvUl 1.4s .6s var(--cv-ease) forwards}
@keyframes cvUl{to{background-size:100% 14%}}
.cv-tilt-stage{perspective:1200px;display:flex;justify-content:flex-end}
.cv-tilt{position:relative;width:min(100%,440px);aspect-ratio:1;transform-style:preserve-3d;transition:transform .25s ease-out}
.cv-tilt img{width:100%;height:100%;object-fit:cover;border-radius:26px;box-shadow:30px 50px 90px rgba(0,0,0,.55);display:block}
.cv-tilt:before{content:'';position:absolute;inset:-6%;border:1px solid rgba(209,243,55,.45);border-radius:50%;animation:cvOrb 20s linear infinite;pointer-events:none}
@keyframes cvOrb{from{transform:rotateX(70deg) rotateZ(0)}to{transform:rotateX(70deg) rotateZ(360deg)}}
.cv-chip{position:absolute;font-family:var(--wp--preset--font-family--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;border-radius:12px}
.cv-chip b{display:block;font-family:var(--wp--preset--font-family--grotesk);font-size:26px;letter-spacing:-.03em;text-transform:none}
.cv-chip.a{left:-18px;top:18%;background:var(--cv-paper);color:var(--cv-ink);transform:translateZ(60px)}
.cv-chip.b{right:-14px;bottom:16%;background:var(--cv-lime);color:var(--cv-ink);transform:translateZ(90px)}
.cv-marquee{border-top:1px solid var(--cv-dline);padding:18px 0;overflow:hidden}
.cv-marquee__track{display:flex;gap:56px;white-space:nowrap;width:max-content;animation:cvMarq 40s linear infinite;font-family:var(--wp--preset--font-family--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#8a917d}
@keyframes cvMarq{to{transform:translateX(-50%)}}

/* problem rows */
.cv-row{display:grid!important;grid-template-columns:80px 1fr 1.2fr;gap:24px;align-items:center;padding:28px 12px!important;border-top:1px solid var(--cv-line);margin:0!important;transition:background .3s,padding .3s}
.cv-row:last-child{border-bottom:1px solid var(--cv-line)}
.cv-row:hover{background:var(--cv-lime);padding-left:28px!important}
.cv-row>*{margin:0!important}
.cv-row h3{font-size:clamp(1.4rem,2.2vw,2rem)}
@media (max-width:800px){.cv-row{grid-template-columns:44px 1fr}.cv-row>p:last-child{grid-column:2}}

/* sticky offer stack */
.cv-stack{position:sticky;top:96px;border-radius:28px;padding:clamp(28px,4vw,64px)!important;min-height:420px;display:grid!important;grid-template-columns:120px 1fr 1fr;gap:clamp(20px,4vw,60px)!important;align-items:start;box-shadow:0 -20px 50px rgba(23,26,23,.12);margin-block-start:24px!important}
.cv-stack:nth-child(2){top:126px}.cv-stack:nth-child(3){top:156px}
.cv-stack h3{font-size:clamp(2.5rem,5vw,4.9rem);letter-spacing:-.06em;line-height:.95;margin:0}
.cv-stack>*{margin:0!important}
.cv-lines{display:grid;gap:14px;align-content:end;height:100%}
.cv-line-item{display:flex!important;justify-content:space-between;gap:12px;border-top:1px solid currentColor;border-color:rgba(127,135,112,.45);padding-top:14px;margin:0!important}
.cv-line-item>*{margin:0!important}
@media (max-width:1000px){.cv-stack{grid-template-columns:1fr;position:relative;top:0!important;min-height:0}}

/* proof */
.cv-proof-img img{border-radius:22px;transform:perspective(1200px) rotateY(-12deg) rotateX(4deg);box-shadow:-30px 40px 90px rgba(0,0,0,.6);border:1px solid var(--cv-dline)}
.cv-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important}
.cv-stats>*{border-top:1px solid var(--cv-dline);padding-top:14px;margin:0!important}
.cv-stat-num{font-size:2.75rem!important;letter-spacing:-.05em;line-height:1.1;margin:0!important}
blockquote.cv-quote{margin:0;font-size:clamp(1.75rem,3.2vw,3rem);letter-spacing:-.04em;line-height:1.1;border:0;padding:0}

/* FAQ (core/details) */
.wp-block-details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:clamp(1.1rem,1.6vw,1.375rem)}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary:after{content:'+';font-size:1.6rem;line-height:1;transition:transform .25s}
.wp-block-details[open] summary:after{transform:rotate(45deg)}
.wp-block-details>:not(summary){color:var(--cv-muted)}
.cv-faq .wp-block-details:last-child{border-bottom:1px solid var(--cv-line)}

/* cards and pricing */
.cv-card{border:1px solid var(--cv-line);border-radius:24px;padding:28px!important;transition:transform .35s var(--cv-ease),box-shadow .35s}
.cv-card:hover{transform:translateY(-6px);box-shadow:10px 10px 0 var(--cv-ink)}
.cv-card.cv-ink{border-color:var(--cv-ink)}
.cv-card.cv-ink:hover{box-shadow:10px 10px 0 var(--cv-lime)}
.cv-price{font-size:2.9rem!important;letter-spacing:-.05em;line-height:1!important}
.cv-ticks{list-style:none;padding:0!important;margin:0}
.cv-ticks li{display:flex;gap:10px;padding:4px 0}
.cv-ticks li:before{content:'';flex:0 0 8px;height:8px;margin-top:9px;background:var(--wp--preset--color--olive)}
.cv-ink .cv-ticks li:before{background:var(--cv-lime)}
.cv-table-wrap{overflow-x:auto;border:1px solid var(--cv-line);border-radius:18px}
.cv-table-wrap table{width:100%;min-width:860px;border-collapse:collapse}
.cv-table-wrap th,.cv-table-wrap td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--cv-line);vertical-align:top;border-left:0;border-right:0;border-top:0}
.cv-table-wrap td:nth-child(4),.cv-table-wrap th:nth-child(4){background:var(--wp--preset--color--sage)}
.cv-table-wrap thead th{font-weight:500;font-size:1.2rem}
.cv-list-row{display:grid!important;grid-template-columns:1.2fr 2fr .9fr;gap:20px;padding:20px 0!important;border-top:1px solid var(--cv-line);align-items:baseline;margin:0!important}
.cv-list-row>*{margin:0!important}
.cv-list-row:last-child{border-bottom:1px solid var(--cv-line)}
@media (max-width:700px){.cv-list-row{grid-template-columns:1fr;gap:4px}}

/* quiz + estimator */
.cv-quiz__bar{display:inline-block;width:140px;height:4px;border-radius:4px;background:var(--cv-dline);overflow:hidden;vertical-align:middle}
.cv-quiz__bar i{display:block;height:100%;background:var(--cv-lime);transition:width .4s}
.cv-quiz__step[hidden]{display:none}
.cv-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cv-opt{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:120px;padding:22px;border:1px solid var(--cv-dline);border-radius:18px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.cv-opt:hover{border-color:var(--cv-lime)}
.cv-opt[aria-pressed="true"]{background:var(--cv-lime);color:var(--cv-ink);border-color:var(--cv-lime)}
.cv-opt span:last-child{font-size:1.25rem;letter-spacing:-.02em}
.cv-paper .cv-opt,.cv-est .cv-opt{border-color:var(--cv-line);min-height:52px;flex-direction:row;align-items:center;padding:12px 16px;border-radius:14px}
.cv-est .cv-opt span:last-child{font-size:1rem;margin-left:auto}
.cv-est .cv-opt[aria-pressed="true"]{background:var(--cv-ink);color:var(--cv-paper);border-color:var(--cv-ink)}
.cv-est{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,90px);align-items:start}
.cv-est__total{position:sticky;top:100px;background:var(--cv-ink);color:var(--cv-paper);border-radius:24px;padding:clamp(24px,3vw,40px);display:grid;gap:16px}
.cv-est__num{font-size:2.75rem;letter-spacing:-.05em}
.cv-back{background:none;border:0;color:var(--cv-mist);cursor:pointer;min-height:44px;padding:0;font-family:var(--wp--preset--font-family--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:900px){.cv-opts{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-est{grid-template-columns:1fr}}
@media (max-width:520px){.cv-opts{grid-template-columns:1fr}}

/* forms (fallback + Fluent Forms skin) */
.cv-form{display:grid;gap:16px}
.cv-form label,.cv-form-skin .ff-el-input--label label{font-size:.85rem;color:inherit;opacity:.8}
.cv-form input,.cv-form textarea,.cv-form select,.cv-form-skin .ff-el-form-control{width:100%;min-height:52px;border:1px solid var(--cv-line);border-radius:12px;background:#fff;color:var(--cv-ink);font:inherit;font-size:1rem;padding:12px 14px;box-sizing:border-box}
.cv-ink .cv-form input,.cv-ink .cv-form textarea,.cv-ink .cv-form select,.cv-ink .cv-form-skin .ff-el-form-control{background:#1f231e;border-color:var(--cv-dline);color:var(--cv-paper)}
.cv-form .cv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cv-form-skin .ff-btn-submit,.cv-form button[type=submit]{min-height:3.4rem;border-radius:999px!important;background:var(--cv-lime)!important;color:var(--cv-ink)!important;border:0!important;font:inherit;font-weight:500;padding:0 1.6rem;cursor:pointer}
.cv-lime-bg .cv-form-skin .ff-btn-submit,.cv-lime-bg .cv-form button[type=submit]{background:var(--cv-ink)!important;color:var(--cv-paper)!important}
.cv-form__note{font-size:.8rem;opacity:.7;margin:0}
.cv-form__ok{padding:18px;border-radius:14px;background:var(--cv-lime);color:var(--cv-ink)}
.cv-summary-field{background:#e8f79a!important;color:var(--cv-ink)!important}

/* before / after */
.cv-ba{position:relative;overflow:hidden;border-radius:18px;border:1px solid var(--cv-dline);background:#000;aspect-ratio:1440/688}
.cv-ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;margin:0}
.cv-ba__after{clip-path:inset(0 50% 0 0)}
.cv-ba__line{position:absolute;top:0;bottom:0;left:50%;width:3px;margin-left:-1px;background:var(--cv-lime);pointer-events:none}
.cv-ba__tag{position:absolute;top:16px;padding:6px 10px;font-family:var(--wp--preset--font-family--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;transition:opacity .2s}
.cv-ba__tag.is-after{left:16px;background:var(--cv-lime);color:var(--cv-ink)}
.cv-ba__tag.is-before{right:16px;background:var(--cv-paper);color:var(--cv-ink)}
.cv-ba__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.cv-tg{min-height:44px;padding:0 18px;border:1px solid #4b5242;background:transparent;color:inherit;font:inherit;font-size:14px;cursor:pointer;border-radius:999px}
.cv-tg[aria-pressed="true"]{background:var(--cv-lime);color:var(--cv-ink);border-color:var(--cv-lime)}
.cv-ba__range{width:100%;accent-color:var(--cv-lime);min-height:44px;margin-top:12px}

/* work grid */
.cv-work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.cv-work__card{display:block;text-decoration:none;border-radius:24px;overflow:hidden;background:var(--cv-ink);color:var(--cv-paper)!important;transition:transform .35s var(--cv-ease)}
.cv-work__card:hover{transform:translateY(-6px)}
.cv-work__card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;transition:transform .6s}
.cv-work__card:hover img{transform:scale(1.04)}
.cv-work__body{padding:24px 26px 28px;display:flex;justify-content:space-between;gap:20px;align-items:end}
.cv-work__body h3{margin:6px 0 0;font-size:clamp(1.6rem,2.6vw,2.4rem)}
.cv-filters{display:flex;flex-wrap:wrap;gap:8px}
.cv-filter{min-height:44px;padding:0 18px;border:1px solid var(--cv-line);background:transparent;color:inherit;font:inherit;font-size:14px;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.cv-filter[aria-pressed="true"],.cv-filter.is-on{background:var(--cv-ink);color:var(--cv-paper);border-color:var(--cv-ink)}
.cv-night .cv-filter{border-color:#3a3f34}
.cv-night .cv-filter[aria-pressed="true"]{background:var(--cv-lime);color:var(--cv-ink);border-color:var(--cv-lime)}
@media (max-width:800px){.cv-work{grid-template-columns:1fr}}

/* studio reel (pinned 3D ring) */
.cv-reel{position:relative}
.cv-reel__pin{position:sticky;top:76px;height:calc(100vh - 76px);min-height:560px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.admin-bar .cv-reel__pin{top:108px}
.cv-reel__scene{position:relative;flex:1;max-height:640px;perspective:1700px;display:flex;align-items:center;justify-content:center}
.cv-reel__ring{position:relative;width:var(--cv-panel-w,300px);height:var(--cv-panel-h,430px);transform-style:preserve-3d;will-change:transform}
.cv-reel__panel{position:absolute;inset:0;border-radius:22px;overflow:hidden;background:#171a17;border:1px solid #2c3128;backface-visibility:hidden;transition:opacity .4s,filter .4s,border-color .4s;opacity:.38;filter:saturate(.3)}
.cv-reel__panel.is-active{opacity:1;filter:none;border-color:var(--cv-lime);box-shadow:0 30px 80px rgba(209,243,55,.15)}
.cv-reel__panel img,.cv-reel__panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cv-reel__meta{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;font-family:var(--wp--preset--font-family--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#cfd3c5;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.cv-reel__floor{position:absolute;left:10%;right:10%;bottom:0;height:120px;background:radial-gradient(ellipse at center,rgba(209,243,55,.16),transparent 70%);pointer-events:none}
.cv-reel__ui{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:10px clamp(18px,3.4vw,56px) 34px;max-width:1440px;margin:0 auto;width:100%;box-sizing:border-box}
.cv-reel__nav{width:56px;height:56px;border-radius:50%;border:1px solid #3a3f34;background:transparent;color:var(--cv-paper);font-size:20px;cursor:pointer}
.cv-reel__nav:hover{background:var(--cv-lime);color:var(--cv-ink);border-color:var(--cv-lime)}
.cv-reel__caption{text-align:center}
.cv-reel__title{margin:6px 0 0;font-size:clamp(1.6rem,3vw,2.75rem);letter-spacing:-.04em}
.cv-reel__text{margin:6px auto 0;color:#a9ae9f;max-width:560px}
.cv-reel__progress{height:2px;background:#22261f;margin:0 auto;max-width:1440px}
.cv-reel__progress i{display:block;height:100%;background:var(--cv-lime);width:0}
.cv-reel.is-static .cv-reel__pin{position:relative;top:0;height:auto}
@media (max-width:700px){.cv-reel{--cv-panel-w:220px;--cv-panel-h:320px}.cv-reel__pin{min-height:500px}}

/* studio archive */
.cv-archive{columns:4 250px;column-gap:14px}
.cv-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;break-inside:avoid;margin:0 0 14px;padding:14px;border-radius:18px;overflow:hidden;background:#171a17;border:1px solid #2c3128;text-decoration:none;color:var(--cv-paper)!important;transition:border-color .2s,transform .3s;min-height:160px}
.cv-tile:hover{border-color:var(--cv-lime);transform:translateY(-4px)}
.cv-tile img,.cv-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cv-tile>span{position:relative}
.cv-tile__kind{font-family:var(--wp--preset--font-family--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:var(--cv-lime);color:var(--cv-ink);padding:4px 7px;align-self:flex-end}
.cv-tile__title{font-size:15px;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.cv-empty{border:1.5px dashed #4b5242;border-radius:18px;padding:30px;text-align:center;color:#8a917d}

/* misc */
.cv-rec{display:inline-flex;align-items:center;gap:8px}
.cv-rec:before{content:'';width:9px;height:9px;border-radius:50%;background:#ff4d3d;animation:cvBlink 1.2s step-end infinite}
@keyframes cvBlink{50%{opacity:.15}}
.cv-pill{border-radius:24px;padding:28px!important;min-height:240px;display:flex!important;flex-direction:column;justify-content:space-between;transition:transform .35s}
.cv-pill:hover{transform:translateY(-6px) rotate(-.5deg)}
.cv-spin{animation:cvSpin 30s linear infinite}
@keyframes cvSpin{to{transform:rotate(360deg)}}
.cv-lime-bg{background:var(--cv-lime)!important;color:var(--cv-ink)}
.cv-footer a{color:var(--cv-mist);text-decoration:none}
.cv-footer a:hover{color:var(--cv-lime)}
.cv-footer__big{font-size:clamp(3rem,8vw,7.5rem);font-weight:700;letter-spacing:-.06em;line-height:.85;margin:0}
.cv-bar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:var(--cv-ink);color:var(--cv-paper);border-top:1px solid var(--cv-dline);transform:translateY(100%);transition:transform .3s}
.cv-bar.is-on{transform:none}
@media (max-width:700px){.cv-bar{display:flex}body{padding-bottom:0}}
.cv-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:720px;margin:0 auto;background:var(--cv-paper);color:var(--cv-ink);border:1px solid var(--cv-ink);border-radius:18px;padding:20px;display:grid;gap:12px;box-shadow:8px 8px 0 rgba(23,26,23,.25)}
.cv-cookie[hidden]{display:none}
.cv-cookie__actions{display:flex;flex-wrap:wrap;gap:10px}
.cv-cookie button{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--cv-ink);background:transparent;font:inherit;cursor:pointer}
.cv-cookie button.is-primary{background:var(--cv-ink);color:var(--cv-paper)}
.cv-draft{display:inline-block;background:#ffd9cc;color:#7a2a0c;padding:4px 8px;border-radius:6px}

@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cv-underline{background-size:100% 14%}}

/* ---------- layout pieces used by the patterns ---------- */
.cv-header-part{position:sticky;top:0;z-index:50}
.admin-bar .cv-header-part{top:32px}
@media (max-width:782px){.admin-bar .cv-header-part{top:0}}
.cv-header{position:relative}
.cv-main{min-height:60vh}
.cv-paper{background:var(--cv-paper)}
.cv-white{background:#fff!important;color:var(--cv-ink)}
.cv-sage-bg{background:var(--wp--preset--color--sage)!important}
.cv-pt0{padding-top:0!important}
.cv-pb{padding-bottom:clamp(4rem,8vw,7rem)!important}
.cv-small{font-size:.9rem}
.cv-lime-text{color:var(--wp--preset--color--olive)}
.cv-ink .cv-lime-text,.cv-night .cv-lime-text,.cv-ink .cv-lime-text a,.cv-night .cv-lime-text a{color:var(--cv-lime)}
.cv-kicker{margin:0 0 1.2rem!important;display:flex;align-items:center;gap:.6rem}
.cv-kicker:before{content:'';width:22px;height:1px;background:currentColor;opacity:.6}
.cv-h2-measure{max-width:16ch;margin-left:0!important}
.cv-h2-mission{max-width:22ch;margin-left:0!important;font-size:clamp(2.2rem,4.6vw,4.4rem)!important}
.cv-gap-xl{gap:clamp(28px,6vw,110px)!important}
.wp-block-columns{margin-block:0}
.cv-lead{max-width:640px;color:#a9ae9f;margin-top:.6rem!important}

/* hero */
.cv-hero{padding-top:clamp(3rem,7vw,6rem)!important;padding-bottom:0!important;position:relative;overflow:hidden}
.cv-hero--page{padding-bottom:clamp(3.5rem,7vw,6rem)!important}
.cv-hero--page h1,.cv-page-title{font-size:clamp(3rem,8.5vw,8.5rem)!important;line-height:.9!important;max-width:15ch}
.cv-hero .wp-block-buttons{margin-top:2rem}
.cv-hero__cols{margin-bottom:clamp(2.5rem,5vw,4rem)!important}
.cv-hero h1 em{color:var(--cv-lime)}
.cv-eyebrow{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;color:var(--cv-mist);margin:0 0 1.6rem!important}
.cv-eyebrow a{color:inherit;text-decoration:none}
.cv-dot{width:9px;height:9px;border-radius:50%;background:var(--cv-lime);box-shadow:0 0 0 6px rgba(209,243,55,.15);animation:cvPulse 2s infinite}
@keyframes cvPulse{50%{box-shadow:0 0 0 12px rgba(209,243,55,0)}}
.cv-hero .cv-marquee{margin-inline:calc(-1 * var(--wp--style--root--padding-left,0px))}
@media (max-width:781px){.cv-tilt-stage{justify-content:center;margin-top:1rem}.cv-tilt{width:min(78vw,340px)}.cv-chip.a{left:-6px}.cv-chip.b{right:-6px}}

/* stacked offer cards */
.cv-stack-wrap{position:relative;margin-top:clamp(2rem,4vw,3rem)}
.cv-stack.cv-white{border:1px solid var(--cv-line)}
.cv-stack__text{font-size:1.1rem;max-width:42ch;margin-top:1.2rem!important;opacity:.85}
.cv-stack h3 em{color:inherit}
.cv-ink.cv-stack h3 em{color:var(--cv-lime)}
.cv-lines{display:grid!important;gap:14px;align-content:start}
.cv-lines .wp-block-buttons{margin-top:10px}
.cv-lime-bg .cv-line-item,.cv-white .cv-line-item{border-color:rgba(23,26,23,.25)}

/* cards */
.cv-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px!important}
.cv-cards>*{margin:0!important}
.cv-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.cv-cards,.cv-cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cv-cards,.cv-cards--4{grid-template-columns:1fr}}
.cv-card{display:flex!important;flex-direction:column;gap:.7rem}
.cv-card>*{margin:0!important}
.cv-card .wp-block-buttons{margin-top:auto!important;padding-top:1rem}
.cv-card h3{font-size:1.6rem}
.cv-card--dark{border-color:var(--cv-dline)}
.cv-card--dark:hover{box-shadow:10px 10px 0 var(--cv-lime)}
.cv-card--dark .cv-lime-text a{color:var(--cv-lime);text-decoration:none}
.cv-badge{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--cv-ink);color:var(--cv-lime);font-family:var(--wp--preset--font-family--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}
.cv-table-wrap{margin-block:1.5rem!important}
.cv-table-wrap td:first-child{color:var(--cv-muted)}
.cv-lr-name{font-size:1.25rem!important}
.cv-lr-price{text-align:right;white-space:nowrap}
@media (max-width:700px){.cv-lr-price{text-align:left}}
.cv-pill--dark{border:1px solid var(--cv-dline);background:#1f231e}
.cv-pill__text{font-size:1.35rem;letter-spacing:-.02em;line-height:1.25}
.cv-post-card .wp-block-post-featured-image img{border-radius:14px}
.cv-post-card h3 a{text-decoration:none}

/* process steps */
.cv-steps{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;counter-reset:s}
.cv-step{border-top:1px solid var(--cv-dline);padding:22px 22px 0 0!important;margin:0!important}
.cv-step>*{margin:0 0 .6rem!important}
@media (max-width:900px){.cv-steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px!important}}
@media (max-width:520px){.cv-steps{grid-template-columns:1fr}}

/* CTA band */
.cv-cta{text-align:center}
.cv-cta>*{margin-inline:auto!important}
.cv-cta .wp-block-buttons{justify-content:center}
.cv-cta-title{font-size:clamp(3.4rem,11vw,11rem)!important;line-height:.85!important;letter-spacing:-.07em!important;margin-block:1.2rem 2rem!important}
.cv-cta a{color:inherit}

/* prose pages (privacy, guides) */
.cv-prose h2{font-size:clamp(1.6rem,3vw,2.4rem);margin-top:2.4rem}
.cv-prose p,.cv-prose li{font-size:1.1rem}
.cv-prose a{color:var(--wp--preset--color--olive)}

/* studio + work templates */
.cv-reel-wrap{padding:0!important}
.cv-night .cv-hero h1 em,.cv-night h2 em{color:var(--cv-lime)}
.cv-night .cv-card{border-color:#2c3128}
.cv-hero .cv-ba-wrap{margin-top:clamp(2rem,4vw,3.5rem)}
.cv-ba-wrap .cv-btn{min-height:46px;font-size:14px}
.cv-hide-empty:not(:has(blockquote)){display:none}
.cv-ink .wp-block-post-excerpt{color:#dfe2d6}
.wp-block-post-excerpt__more-text{display:none}

.cv-hero__cols h1{font-size:clamp(3.4rem,9.6vw,10.5rem)!important}
.cv-hero h1+.cv-sub{margin-top:1.6rem!important}
.cv-ink.cv-stack .is-style-cv-ink .wp-block-button__link{background:var(--cv-lime)!important;color:var(--cv-ink)!important}
.cv-ink.cv-stack .is-style-cv-ink .wp-block-button__link:after{background:var(--cv-ink);color:var(--cv-lime)}
.wp-site-blocks>*,.cv-main>*,.wp-block-post-content>.alignfull,.cv-main .alignfull+.alignfull,.wp-block-post-content>.alignfull+.alignfull{margin-block-start:0!important;margin-block-end:0!important}
.cv-hero h1,.cv-hero .cv-sub,.cv-hero .cv-lead,.cv-hero .wp-block-post-excerpt,.cv-section h2{margin-left:0!important}
.cv-cta h2{margin-left:auto!important}
.cv-reel__scene{perspective-origin:50% 25%}
.cv-tile img,.cv-tile video{z-index:0}
.cv-tile:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 30%,transparent 55%,rgba(0,0,0,.7));pointer-events:none}
.cv-tile>span{z-index:2}
.cv-reel__panel video:not([src]){display:none}
.cv-tile[data-video]:before{content:'▶';position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:rgba(209,243,55,.9);color:var(--cv-ink);display:grid;place-items:center;font-size:14px}
