/*
Theme Name: TellBox
Theme URI: https://instagram.com/tellbox.id
Author: TellBox
Author URI: https://instagram.com/tellbox.id
Description: Tema WordPress untuk jasa copywriting storytelling. Elegan, beranimasi, dan seluruh teks bisa diedit lewat Appearance > Customize. Warna mengikuti logo TellBox.
Version: 1.1.0
Requires at least: 5.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tellbox
*/
:root{--orange:#FCB040;--orange-deep:#A8430F;--orange-tint:#FEF1EA;--blush:#F8D6C5;--ink:#262627;--ink-deep:#141415;--muted:#4D4D50;--bg:#FFFFFF;--alt:#FCE6DA;--surface:#FFFFFF;--line:#EBCDBF}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.75 "Jost",system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
main{flex:1 0 auto}
body.admin-bar{min-height:calc(100vh - 32px);min-height:calc(100dvh - 32px)}
@media(max-width:782px){body.admin-bar{min-height:calc(100vh - 46px);min-height:calc(100dvh - 46px)}}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;line-height:1.08;margin:0;letter-spacing:-.01em;color:var(--ink-deep)}
a{color:inherit}
img{max-width:100%;height:auto}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px;position:relative}
section{padding:104px 0;position:relative}
h2{font-size:clamp(34px,5vw,56px);max-width:18ch}
.lead{color:var(--muted);max-width:54ch;margin:20px 0 0;font-weight:400}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;background:var(--orange);color:var(--ink-deep);padding:10px 16px;z-index:100;top:8px;left:8px}
.rule{display:block;height:2px;width:0;background:var(--orange);margin:26px 0 0;transition:width 1.2s cubic-bezier(.2,.7,.2,1)}
.rule.in{width:84px}

/* header */
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 24px;padding-top:22px;padding-bottom:22px;position:relative;z-index:3}
.logo{display:block;line-height:0}
.logo img,.custom-logo{height:46px;width:auto}
.menu{display:flex;gap:28px;list-style:none;margin:0 0 0 auto;padding:0}
.menu a{text-decoration:none;font-weight:500;letter-spacing:.03em;position:relative;padding:4px 0}
.menu a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.menu a:hover::after,.menu .current-menu-item a::after{transform:scaleX(1)}
.site-header{position:relative;z-index:50}
.site-nav{display:contents}
.nav-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer;position:relative;padding:0;flex:none}
.nav-toggle .bars{position:absolute;left:13px;top:22px;width:18px;height:2px;background:var(--ink-deep);border-radius:2px;transition:background .2s}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--ink-deep);border-radius:2px;transition:top .3s,transform .3s}
.nav-toggle .bars::before{top:-6px}
.nav-toggle .bars::after{top:6px}
.nav-toggle[aria-expanded="true"]{background:var(--orange);border-color:var(--orange)}
.nav-toggle[aria-expanded="true"] .bars{background:transparent}
.nav-toggle[aria-expanded="true"] .bars::before{top:0;transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars::after{top:0;transform:rotate(-45deg)}
.btn{position:relative;overflow:hidden;display:inline-block;background:var(--orange);color:var(--ink-deep);font-weight:600;letter-spacing:.04em;padding:15px 30px;border-radius:999px;text-decoration:none;border:2px solid var(--orange);transition:transform .25s,box-shadow .25s;cursor:pointer;font-family:inherit;font-size:16px}
.btn::after{content:"";position:absolute;top:0;left:-70%;width:50%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);transition:left .7s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px var(--orange-deep)}
.btn:hover::after{left:130%}
.btn.ghost{background:transparent;border-color:var(--ink-deep);color:var(--ink-deep)}
.btn.sm{padding:10px 22px;font-size:15px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange-deep);outline-offset:4px}

/* hero */
.hero{padding:36px 0 110px;overflow:hidden}
.orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none}
.o1{width:520px;height:520px;top:-160px;right:-130px;background:rgba(244,150,115,.30);animation:drift1 16s ease-in-out infinite alternate}
.o2{width:440px;height:440px;bottom:-170px;left:-150px;background:rgba(250,196,170,.45);animation:drift2 19s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(-70px,60px) scale(1.12)}}
@keyframes drift2{to{transform:translate(80px,-50px) scale(1.1)}}
.hero h1{font-size:clamp(46px,8.4vw,104px);max-width:13ch}
.hero h1 em{font-style:italic;background:linear-gradient(var(--orange),var(--orange)) 0 88%/0% 38% no-repeat;animation:mark 1.1s .9s cubic-bezier(.3,.6,.2,1) forwards;padding:0 .08em}
@keyframes mark{to{background-size:100% 38%}}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em}
.w>span{display:inline-block;transform:translateY(105%);animation:up .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms + 150ms)}
@keyframes up{to{transform:none}}
.hero .lead{font-size:19px}
.fade{opacity:0;animation:fade 1s ease forwards;animation-delay:1.1s}
@keyframes fade{to{opacity:1}}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}

.demo{margin-top:64px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 34px 60px -42px rgba(168,67,15,.30);overflow:hidden}
.tabs{display:flex;border-bottom:1px solid var(--line);background:var(--alt)}
.tabs button{flex:1;font:400 15px "Jost",sans-serif;letter-spacing:.05em;padding:16px;background:transparent;color:var(--muted);border:0;cursor:pointer;position:relative;transition:color .3s}
.tabs button::after{content:"";position:absolute;left:0;bottom:-1px;height:3px;width:100%;background:var(--orange);transform:scaleX(0);transition:transform .45s}
.tabs button[aria-selected="true"]{color:var(--ink-deep);font-weight:600;background:var(--orange)}
.tabs button[aria-selected="true"]::after{transform:scaleX(1)}
.demo-body{padding:36px 32px;min-height:210px}
.demo-body small{color:var(--muted);display:block;margin-bottom:14px;letter-spacing:.04em}
.demo-body p{margin:0;font-size:clamp(21px,2.6vw,29px);line-height:1.45;max-width:44ch;font-family:"Cormorant Garamond",serif;font-weight:600;color:var(--ink-deep)}
.demo-body.plain p{color:var(--muted);font-family:"Jost",sans-serif;font-weight:400;font-size:clamp(17px,2vw,21px)}
.caret::after{content:"";display:inline-block;width:2px;height:1em;background:var(--orange);margin-left:3px;vertical-align:-.12em;animation:blink .8s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* ticker */
.ticker{overflow:hidden;background:var(--alt);border-block:1px solid var(--line);padding:16px 0}
.track{display:flex;gap:48px;width:max-content;animation:scroll 34s linear infinite;font:italic 600 26px "Cormorant Garamond",serif;color:var(--ink-deep)}
.track span::after{content:"";display:inline-block;width:11px;height:11px;background:var(--orange);border-radius:50% 50% 50% 0;margin-left:48px}
@keyframes scroll{to{transform:translateX(-50%)}}

/* blocks */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:44px;margin-top:56px}
.cols h3{font-size:29px;margin-bottom:10px}
.cols p{margin:0;color:var(--muted)}
.cols>div{border-top:2px solid var(--line);padding-top:22px;transition:border-color .4s}
.cols>div:hover{border-color:var(--orange)}
.alt{background:var(--alt)}
.steps{list-style:none;counter-reset:s;padding:0;margin:56px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.steps li{counter-increment:s;position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:34px 28px 30px}
.steps li::before{content:counter(s);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--orange);color:var(--ink-deep);font:700 25px "Cormorant Garamond",serif;margin-bottom:20px}
.steps li::after{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .9s .35s cubic-bezier(.3,.6,.2,1)}
.steps li.in::after{transform:scaleX(1)}
.steps li:hover{transform:translateY(-6px);border-color:var(--orange);box-shadow:0 26px 44px -30px var(--orange-deep)}
.steps h3{font-size:29px;line-height:1.12}
.steps p{margin:8px 0 18px;color:var(--muted)}
.steps p:last-child{margin-bottom:0}
.steps .out{margin:auto 0 0;align-self:flex-start;padding:7px 16px;background:var(--orange-tint);border:1px solid var(--line);border-radius:12px;font-size:15px;line-height:1.5;color:var(--ink-deep)}
.steps .out b{font-weight:600}

/* plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:24px;margin-top:56px}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:36px 30px;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .5s}
.plan:hover{transform:translateY(-8px);border-color:var(--orange);box-shadow:0 28px 46px -30px var(--orange-deep)}
.plan.hot{border:2px solid var(--orange);box-shadow:8px 8px 0 var(--orange-tint)}
.plan h3{font-size:33px}
.price{font:700 36px "Cormorant Garamond",serif;color:var(--orange-deep);margin:12px 0 2px}
.plan small{color:var(--muted)}
.plan ul{padding:0;margin:22px 0 0;list-style:none}
.plan li{padding:9px 0 9px 28px;border-top:1px solid var(--line);position:relative}
.plan li::before{content:"";position:absolute;left:2px;top:19px;width:10px;height:10px;background:var(--orange);border-radius:50% 50% 50% 0}
.note{margin-top:26px;color:var(--muted);font-size:15px}

/* faq */
details{border-bottom:1px solid var(--line);padding:22px 0}
summary{font:600 26px "Cormorant Garamond",serif;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;color:var(--ink-deep)}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--orange-deep);font-size:32px;line-height:.9;transition:transform .35s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:12px 0 0;color:var(--muted);max-width:60ch}
details[open] p{animation:fade .5s ease forwards}

/* final */
.final{background:#1B1B1C;color:#fff;overflow:hidden}
.final h2{color:#fff;max-width:16ch}
.final .lead{color:#F3EEE2}
.final .orb{width:440px;height:440px;right:-110px;top:-130px;background:rgba(240,130,90,.38)}
.final .btn.ghost{color:#fff;border-color:#fff}
.site-footer{padding:44px 0;color:#CFC8BB;font-size:15px;background:#0C0C0D;border-top:1px solid #2A2A2C;flex:none}
.site-footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px 24px}
.site-footer img{height:32px;width:auto;display:block}
.site-footer img.custom-logo{filter:brightness(0) invert(1)}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{color:var(--orange)}
.site-footer a:focus-visible{outline-color:var(--orange)}

/* kontak */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.mail-line{margin:24px 0 0;color:#F3EEE2}
.mail-line a{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}
.mail-line a:hover{color:var(--orange)}
.contact-form{background:var(--surface);color:var(--ink);border-radius:18px;padding:32px 30px;box-shadow:0 30px 60px -40px #000;position:relative;z-index:1}
.contact-form h3{font-size:34px;margin-bottom:10px}
.contact-form label{display:block;font-weight:500;font-size:15px;margin:16px 0 6px;color:var(--ink-deep)}
.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=url],.contact-form select,.contact-form textarea{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;background:#fff;color:var(--ink);transition:border-color .25s,box-shadow .25s}
.contact-form textarea{min-height:130px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--orange-deep);box-shadow:0 0 0 3px rgba(252,176,64,.4)}
.contact-form .btn{margin-top:22px;width:100%;text-align:center}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{margin:6px 0 0;padding:12px 16px;border-radius:12px;font-size:15px;line-height:1.5}
.form-note.ok{background:#E3F4E9;color:#10451F}
.form-note.err{background:#FDE8E4;color:#7A1F14}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:40px}}

/* Contact Form 7 */
.contact-form .wpcf7 p{margin:0}
.contact-form .wpcf7 br{display:none}
.contact-form .wpcf7-form-control-wrap{display:block}
.contact-form input.wpcf7-submit{display:block;width:100%;margin-top:22px;background:var(--orange);color:var(--ink-deep);font:600 16px "Jost",sans-serif;letter-spacing:.04em;padding:15px 30px;border-radius:999px;border:2px solid var(--orange);cursor:pointer;transition:transform .25s,box-shadow .25s}
.contact-form input.wpcf7-submit:hover{transform:translateY(-2px);box-shadow:0 12px 26px -12px var(--orange-deep)}
.contact-form .wpcf7-spinner{display:block;margin:12px auto 0}
.contact-form .wpcf7-not-valid{border-color:#B3261E!important}
.contact-form .wpcf7-not-valid-tip{display:block;color:#7A1F14;font-size:14px;margin-top:6px}
.contact-form .wpcf7 form .wpcf7-response-output{margin:20px 0 0;padding:12px 16px;border:0;border-radius:12px;font-size:15px;line-height:1.5}
.contact-form .wpcf7 form.sent .wpcf7-response-output{background:#E3F4E9;color:#10451F}
.contact-form .wpcf7 form.invalid .wpcf7-response-output,.contact-form .wpcf7 form.unaccepted .wpcf7-response-output,.contact-form .wpcf7 form.failed .wpcf7-response-output,.contact-form .wpcf7 form.aborted .wpcf7-response-output,.contact-form .wpcf7 form.spam .wpcf7-response-output,.contact-form .wpcf7 form.payment-required .wpcf7-response-output{background:#FDE8E4;color:#7A1F14}

/* blog & pages */
.page-head{padding:56px 0 24px}.page-head h1{font-size:clamp(40px,6vw,72px)}
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px;padding:24px 0 90px}
.post-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .45s,box-shadow .45s}
.post-card:hover{transform:translateY(-6px);box-shadow:0 26px 44px -32px var(--orange-deep)}
.post-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.pc-body{padding:24px}
.post-card h2{font-size:29px;max-width:none}.post-card h2 a{text-decoration:none}
.post-card p{color:var(--muted);margin:10px 0 0}
.meta{font-size:14px;color:var(--muted)}
.entry{max-width:720px;margin:0 auto;padding:20px 24px 100px}
.entry h2{font-size:38px;margin:1.6em 0 .5em}.entry h3{font-size:30px;margin:1.4em 0 .4em}
.entry a{color:var(--orange-deep)}
.entry blockquote{border-left:4px solid var(--orange);margin:1.6em 0;padding:.2em 0 .2em 1.4em;font:italic 600 26px/1.4 "Cormorant Garamond",serif}
.entry img{border-radius:14px}
.alignleft{float:left;margin:0 1.4em 1em 0}.alignright{float:right;margin:0 0 1em 1.4em}.aligncenter{display:block;margin:0 auto}
.wp-caption-text,figcaption{font-size:14px;color:var(--muted)}
.pagination{padding:0 0 80px;text-align:center}
.pagination .page-numbers{display:inline-block;padding:8px 16px;border:1px solid var(--line);border-radius:999px;margin:0 3px;text-decoration:none}
.pagination .current{background:var(--orange);border-color:var(--orange)}

/* reveal */
.js .rv{opacity:0;translate:0 28px;transition:opacity .9s ease,translate .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
.js .rv.in{opacity:1;translate:none}
.js .plan.rv,.js .post-card.rv,.js .steps li.rv{transition:opacity .9s ease,translate .9s cubic-bezier(.2,.7,.2,1),transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .45s;transition-delay:var(--d,0ms),var(--d,0ms),0s,0s,0s}
@media(max-width:860px){
.site-nav{display:block;order:3;width:100%}
.menu{flex-direction:column;gap:0;margin:0;padding:0}
.menu li{border-bottom:1px solid var(--line)}
.menu a{display:block;padding:16px 0;font-size:18px}
.menu a::after{display:none}
.nav-cta{display:block;text-align:center;margin-top:18px;padding:14px 24px}
.js .nav-toggle{display:block}
.js .site-nav{position:absolute;left:16px;right:16px;top:calc(100% - 6px);width:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:6px 22px 22px;box-shadow:0 26px 46px -28px rgba(168,67,15,.5);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .3s,visibility 0s .3s}
.js .site-nav.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s}
.js .menu li:last-child{border-bottom:0}
}
@media(max-width:720px){section{padding:76px 0}.hero{padding-bottom:80px}}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation:none!important;transition:none!important}
.w>span{transform:none}.fade{opacity:1}.js .rv{opacity:1;translate:none}.rule{width:84px}.steps::after{height:100%}
.hero h1 em{background-size:100% 38%}.track{flex-wrap:wrap;width:auto;justify-content:center}
}

/* blog tambahan */
.post-card .thumb{display:block;aspect-ratio:16/10;background:var(--orange-tint);overflow:hidden}
.post-card .thumb img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.post-card:hover .thumb img{transform:scale(1.05)}
.post-card .ph{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--orange-tint),var(--blush))}
.post-card .ph img{width:64px;height:64px;aspect-ratio:auto;object-fit:contain}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.tag{display:inline-block;background:var(--orange-tint);color:var(--ink-deep);border:1px solid var(--orange);padding:1px 12px;border-radius:999px;font-size:13px;font-weight:500;text-decoration:none}
.tag:hover{background:var(--orange)}
.home-posts{padding:48px 0 40px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 6px}
.chips a{padding:8px 18px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:15px;transition:background .3s,border-color .3s}
.chips a:hover,.chips a.on{background:var(--orange);border-color:var(--orange);color:var(--ink-deep)}
.search-form{display:flex;gap:8px;max-width:420px;margin-top:22px}
.search-form label{flex:1}
.search-field{width:100%;padding:12px 18px;border:1px solid var(--line);border-radius:999px;font:inherit;background:var(--surface);color:var(--ink)}
.search-submit{background:var(--orange);border:2px solid var(--orange);border-radius:999px;padding:0 22px;font:500 15px "Jost",sans-serif;cursor:pointer;color:var(--ink-deep)}
.back{display:inline-block;text-decoration:none;color:var(--muted);margin-bottom:14px}
.back:hover{color:var(--ink-deep)}
.entry>.wp-post-image{width:100%;margin-bottom:32px}
.entry.after{padding-top:0}
.cta-box{background:#1B1B1C;color:#fff;border-radius:18px;padding:40px 34px;margin-top:56px;position:relative;overflow:hidden}
.cta-box::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(240,130,90,.42);filter:blur(40px);pointer-events:none}
.cta-box h3{color:#fff;font-size:36px;position:relative}
.cta-box p{color:#F3EEE2;margin:10px 0 22px;position:relative}
.cta-box .btn{position:relative}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:20px;margin-top:44px;flex-wrap:wrap}
.post-navigation a{text-decoration:none;font:600 22px/1.25 "Cormorant Garamond",serif;color:var(--ink-deep)}
.post-navigation a:hover{color:var(--orange-deep)}
.nav-subtitle{display:block;font:400 14px "Jost",sans-serif;color:var(--muted)}
