/* CIPTA v1.0: section-level rules intentionally exclude the approved viral hero. */
:root{--cipta-surface:#1b2430;--cipta-gray:#a8b3c2;--cipta-space:24px}
.section.wrap,.section>.wrap,footer>.wrap{width:min(1200px,calc(100% - 64px))}
.section,.viral-landing .section{padding-block:96px}
.section h2,.viral-landing .section h2{font-family:Sora,Inter,Arial,sans-serif;font-size:40px;line-height:1.2;font-weight:600;letter-spacing:0;text-wrap:balance}
.section h3,.viral-landing .section h3{font-family:Sora,Inter,Arial,sans-serif;font-size:24px;line-height:1.35;font-weight:600;letter-spacing:0}
.section .eyebrow{font-size:12px;line-height:1.5;font-weight:600;margin-bottom:24px;color:var(--blue)}
.section p:not(.eyebrow):not(.form-note):not(.form-status):not(.visual-disclaimer){font-size:16px;line-height:1.6}
.section .section-heading{gap:64px;margin-bottom:48px;align-items:end}
.section-heading h2{max-width:680px}
.section-heading p{max-width:360px}
.section .button,.section .text-link{font-size:16px;font-weight:600}
.section .button{padding:12px 24px;min-height:48px;gap:24px}
.section .button svg,.section .text-link svg{width:20px;height:20px;flex-shrink:0;stroke-width:1.75}
.section .text-link{min-height:44px;align-items:center;border-color:var(--line);transition:color .2s,border-color .2s}
.section .text-link:hover{color:var(--blue);border-color:var(--blue)}
.section :focus-visible,footer :focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.section .icon-button{width:48px;height:48px;border-radius:50%;transition:background .2s,border-color .2s,color .2s}
.section .icon-button:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:#fff}
.section .icon-button:disabled{opacity:.4}
.intro-grid{grid-template-columns:1fr 1fr;gap:96px}
.intro-grid h2{max-width:520px}
.intro-grid p+p{margin-top:16px}
.solutions{border-block:1px solid var(--line)}
.solutions .carousel-head{padding-bottom:24px;margin-bottom:0}
.solutions .carousel-head>p,.carousel-controls>span{font-size:14px}
.service-list{gap:24px;padding-bottom:8px}
.service{padding:32px;min-height:400px;flex-basis:calc(50% - 12px);border-radius:8px;border:1px solid var(--line)}
.service:nth-child(even){background:var(--ink);border-color:var(--ink)}
.service-visual{height:80px;margin-bottom:32px;align-items:start}
.service-visual>img{width:48px;height:48px}
.service-visual>span,.service:nth-child(even) .service-visual>span{font-size:12px;color:var(--muted)}
.service:nth-child(even) .service-visual>span{color:var(--cipta-gray)}
.service h3{padding-right:24px;max-width:400px;margin-bottom:16px}
.service p{max-width:440px}
.service>a{top:64px;right:32px;width:48px;height:48px;border-color:var(--line);font-size:24px}
.service:nth-child(even)>a{border-color:#536174}
.service .tags{font-size:12px;gap:8px 20px;margin-top:24px;color:var(--muted)}
.service:nth-child(even) .tags,.service:nth-child(even) p{color:var(--cipta-gray)}
.applications .tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;background:var(--mist);border:1px solid var(--line);border-radius:8px;margin-bottom:40px;overflow:visible}
.applications .tabs button{border:0;border-radius:4px;padding:12px 8px;font-size:15px;min-height:48px;color:var(--muted);transition:background .2s,color .2s}
.applications .tabs button:hover{color:var(--blue)}
.applications .tabs button[aria-selected=true]{background:var(--blue);color:white;font-weight:600}
.case-panel{grid-template-columns:1fr 1fr;gap:64px;min-height:520px}
.case-panel .case-copy{border:0;padding:0}
.application-signature{margin-bottom:24px;gap:12px;color:var(--blue)}
.application-signature>span{width:40px;height:40px;background:var(--mist);border-radius:8px}
.application-signature svg{width:24px;height:24px;stroke-width:1.75}
.application-signature strong{font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:600}
.application-signature small{font-size:12px;color:var(--muted)}
.case-copy .eyebrow{display:none}
.case-panel .case-copy h3{font-size:28px;line-height:1.3;margin-bottom:24px}
.case-copy ul{list-style:none;padding:0;margin:24px 0 32px}
.case-copy li{font-size:15px;padding:12px 0;margin:0;border-bottom:1px solid var(--line)}
.case-copy li:first-child{border-top:1px solid var(--line)}
#application-cta{color:var(--blue)}
.application-preview{background:var(--mist);padding:32px;border:1px solid var(--line);border-radius:8px}
#application-demo{min-height:408px}
.demo-top{color:var(--ink);border-color:var(--line);padding-bottom:20px;align-items:center}
.demo-top strong{font-size:14px}.demo-top>span{font-size:10px;color:var(--muted)}
.chat-preview>p{font-size:14px!important;line-height:1.5!important;padding:16px;max-width:94%}
.chat-preview>.chat-assistant{background:var(--blue)}
.chat-source,.chat-handoff,.demo-bottom,.management-note{font-size:12px;color:var(--muted);line-height:1.5}
.mini-funnel>div{padding:16px 0 16px 20px;border-color:var(--blue)}
.mini-funnel span{font-size:12px}.mini-funnel strong{font-family:Sora,Inter,Arial,sans-serif;font-size:20px;font-weight:500}
.mini-funnel p{font-size:14px!important}
.document-preview{padding:0;margin-top:24px;background:transparent;border-top:0}
.document-title strong{font-size:16px}.document-title span,.document-preview dt{font-size:12px}
.document-preview dd{font-size:14px}.document-preview dl>div{border-color:var(--line);padding-block:12px}
.document-line{background:var(--line)}
.management-numbers span{font-size:12px}.management-numbers strong{font-size:32px;color:var(--blue)}
.management-preview h4{font-size:14px;font-weight:600}.management-chart{border-color:var(--line)}
.management-chart span{background:var(--blue)}.management-chart small{font-size:12px}
.method{position:relative;isolation:isolate;background:var(--ink)}
.method:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/cipta-flow.svg') right center/cover no-repeat;opacity:.12}
.method .eyebrow,.demo-section .eyebrow,.offer-section .eyebrow,.viral-landing .contact .eyebrow{color:var(--lime)}
.method .section-heading p,.method .steps p{color:var(--cipta-gray)}
.steps{gap:32px;margin-top:48px}
.steps article{padding-top:24px;border-color:#536174}
.steps article>span{font-family:Inter,Arial,sans-serif;font-size:14px;margin-bottom:32px;color:var(--lime)}
.steps h3{font-size:24px;margin-bottom:16px}
.method-foot{margin-top:48px;padding-top:32px;border-color:#536174}
.method-foot p{font-size:20px!important;font-family:Sora,Inter,Arial,sans-serif}
.method :focus-visible,.demo-section :focus-visible,.offer-section :focus-visible,.viral-landing .contact :focus-visible{outline-color:var(--lime)}
.about{grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-visual>img{height:auto;aspect-ratio:4/5;border-radius:8px}
.about-visual figcaption{font-size:14px;line-height:1.5;padding-top:16px;margin-top:16px}
.about-copy>h2{margin-bottom:24px}.principles{margin-top:32px}
.principles>div{padding:20px 0}.section .principles h3{font-family:Inter,Arial,sans-serif;font-size:18px;margin-bottom:8px}
.principles p{font-size:14px!important}
.faq-grid{grid-template-columns:1fr 1.4fr;gap:80px}
.faq .faq-list details{border-color:var(--line)}
.faq summary{font-size:16px;line-height:1.5;padding-block:24px;font-weight:500}
.faq summary:after{color:var(--blue)}
.faq details[open] summary{color:var(--blue)}
.faq .faq-list details p{font-size:16px;line-height:1.65;padding-bottom:24px}
.faq-search-label{font-size:16px;font-weight:600}
.section input,.section select,.section textarea,#viral-brief input,#viral-brief select,#viral-brief textarea{background:#fff;border:1px solid var(--muted);border-radius:8px;padding:12px 14px;font-size:16px;min-height:48px;margin-bottom:24px;line-height:1.5}
.section textarea{min-height:144px}
.section label{font-size:14px;margin-bottom:8px}
.section input::placeholder,.section textarea::placeholder{color:var(--muted);opacity:1}
.section input:focus-visible,.section select:focus-visible,.section textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.contact-grid{gap:80px;grid-template-columns:1fr 1.2fr}
.contact-grid>div>p:not(.eyebrow){max-width:400px}
.contact-number{font-family:Inter,Arial,sans-serif;font-size:24px;margin-top:32px}
.contact-caption{font-size:14px;margin-top:12px}
.form-row{gap:24px}.section .form-note{font-size:12px;line-height:1.6;color:var(--muted)}
.section .form-status{font-size:14px;overflow-wrap:anywhere}
.section #contact-form{padding:0}
.viral-landing #viral-brief{padding:32px;border-radius:8px;border:1px solid var(--line)}
#viral-brief legend{font-size:24px;line-height:1.4;margin-bottom:24px}
.brief-progress{gap:16px;margin-bottom:32px}.brief-progress span{font-size:12px}
#viral-brief fieldset{min-height:330px}.brief-actions{gap:16px}
.section #brief-error{font-size:14px;color:#c53645}
.viral-landing .demo-section{background:var(--ink)}
.viral-landing .demo-section h2>span{color:var(--cipta-gray)}
.viral-landing .demo-grid{gap:24px}
.demo-toolbar{margin-bottom:24px}.demo-toolbar>span{font-size:12px;color:var(--cipta-gray)}
.demo-media{border:1px solid #536174;border-radius:8px}
.viral-landing .demo-caption>span{font-size:12px}
.viral-landing .demo-caption h3{font-size:24px;line-height:1.35;margin-top:12px}
.section .visual-disclaimer{font-size:12px;line-height:1.6;margin-top:24px;color:var(--cipta-gray)}
.demo-cta{margin-top:32px}.demo-cta .text-link:hover{color:var(--lime);border-color:var(--lime)}
.production-select{gap:24px;margin-bottom:40px}
.production-select button{font-size:16px;line-height:1.5;min-height:88px;padding:16px 0}
.production-select button span{font-size:12px;margin-bottom:8px}
.viral-landing .production-select button[aria-pressed=true]{color:var(--blue);border-color:var(--blue)}
.production-panel,.viral-landing .production-panel{gap:64px;grid-template-columns:1fr 1fr}
.production-photo,.viral-landing .production-photo{height:440px;border-radius:8px}
.production-photo>span{font-size:12px;padding:16px 24px;background:#101419eb}
.viral-landing .production-copy h3{font-size:28px;line-height:1.3}
.production-copy li{font-size:16px;padding-block:6px}
.offer-section{background:var(--blue)}
.offer-heading{gap:64px;grid-template-columns:1.2fr 1fr}
.offer-body{gap:80px;margin-top:48px;padding-top:40px}
.offer-volume>strong{font-size:96px;font-weight:600}
.offer-volume>strong>span{font-size:28px}.offer-volume>small{font-size:12px;max-width:320px}
.offer-inclusions>div{gap:24px;padding-block:24px}.offer-inclusions svg{width:24px;height:24px;stroke-width:1.75;flex-shrink:0}
.offer-inclusions p{font-size:16px}.offer-bottom{gap:32px;margin-top:40px}.offer-bottom>span{font-size:14px}
.effort-grid{gap:32px;margin-top:40px}.effort-grid>article{border-top:1px solid var(--line);padding-top:24px}
.effort-grid svg{width:32px;height:32px;stroke-width:1.75;margin-bottom:24px;color:var(--blue)}
.viral-landing .guarantee{border-top:4px solid var(--blue);background:var(--mist)}
.viral-landing .guarantee-grid{gap:80px}
.viral-landing .guarantee h3{font-size:28px}
.guarantee-number{font-size:64px;font-weight:600;margin-top:32px}
.guarantee-number>span{font-size:16px;margin-top:12px}
.guarantee dt{font-size:16px}.guarantee dd{font-size:15px;line-height:1.6}
.section .guarantee-note{font-size:14px!important;line-height:1.6}
.viral-landing .contact{background:var(--ink)}
.viral-landing .contact-grid{gap:80px}
footer{padding-top:48px;background:var(--ink)}
.footer-top{padding-bottom:40px}.footer-top>p{font-size:24px;line-height:1.4}
.footer-bottom{font-size:12px;line-height:1.6;color:var(--cipta-gray);gap:24px}
footer :focus-visible{outline-color:var(--lime)}
dialog{border-radius:8px;padding:32px}dialog h2{font-size:28px;line-height:1.3}
dialog p{font-size:16px;line-height:1.6}.dialog-heading button{min-width:44px;min-height:44px}
@media(max-width:1100px){
 .section,.viral-landing .section{padding-block:80px}
 .intro-grid,.about,.faq-grid,.contact-grid,.viral-landing .contact-grid,.viral-landing .guarantee-grid,.offer-body{gap:40px}
 .case-panel,.production-panel,.viral-landing .production-panel{gap:32px}
 .section h2,.viral-landing .section h2{font-size:36px}
 .service{min-height:430px}.application-preview{padding:24px}
 .steps{grid-template-columns:repeat(2,1fr);gap:40px}
 .production-photo,.viral-landing .production-photo{height:400px}
 .guarantee-number{font-size:52px}
}
@media(max-width:760px){
 .section.wrap,.section>.wrap,footer>.wrap{width:calc(100% - 48px)}
 .section,.viral-landing .section{padding-block:64px}
 .section h2,.viral-landing .section h2{font-size:32px;line-height:1.25;text-wrap:initial}
 .section h3,.viral-landing .section h3{font-size:24px;line-height:1.35}
 .section .section-heading{margin-bottom:32px}
 .section .section-heading p{max-width:none;margin-top:24px}
 .section .eyebrow{font-size:12px;margin-bottom:24px}
 .intro-grid,.about,.faq-grid,.contact-grid,.viral-landing .contact-grid,.case-panel,.production-panel,.viral-landing .production-panel,.offer-heading,.offer-body{grid-template-columns:1fr;gap:32px}
 .solutions .carousel-head>p{max-width:140px;font-size:12px}
 .solutions .carousel-controls{gap:8px}.solutions .carousel-controls>span{font-size:12px;min-width:42px}
 .section .icon-button{width:44px;height:44px}
 .service{flex-basis:92%;min-height:460px;padding:24px}
 .service>a{right:24px;top:64px}.service h3{padding-right:0}
 .service-visual{margin-bottom:24px;height:80px}
 .service .tags{gap:8px 16px}
 .applications .tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-bottom:32px;padding:4px}
 .applications .tabs button{font-size:14px;padding:12px 8px}
 .case-panel{min-height:0}.case-panel .case-copy h3{font-size:28px}
 .application-preview{padding:20px}#application-demo{min-height:400px}
 .demo-top strong{font-size:13px}.demo-top>span{font-size:10px}
 .chat-preview>p{max-width:100%;padding:12px}
 .management-numbers{gap:8px}.management-numbers span{font-size:11px}.management-numbers strong{font-size:28px}
 .steps{grid-template-columns:1fr;gap:32px;margin-top:32px}
 .steps article{display:grid;grid-template-columns:32px 1fr;gap:12px 16px;padding-top:24px}
 .steps article>span{margin:8px 0 0}.steps h3{margin:0}.steps p{grid-column:2}
 .method-foot{margin-top:32px;gap:24px}.method-foot p{font-size:18px!important}
 .about-visual{order:2}.about-visual>img{aspect-ratio:4/5}
 .principles{margin-top:24px}.section .principles h3{font-size:18px}
 .contact-number{font-size:22px}.contact-number span{margin-left:12px}
 .section .button{font-size:15px;padding:12px 20px;gap:16px}
 .form-row{gap:0}.section label{font-size:14px}
 .viral-landing #viral-brief{padding:24px}
 #viral-brief legend{font-size:22px}#viral-brief fieldset{min-height:340px}
 .viral-landing .demo-grid{gap:16px}.viral-landing .demo-item{flex-basis:92%}
 .demo-toolbar>span{font-size:11px;max-width:140px}
 .production-select{gap:12px;margin-bottom:32px}
 .production-select button{font-size:14px;min-height:104px;padding:12px 0}
 .production-photo,.viral-landing .production-photo{height:360px}
 .production-photo>span{padding:16px;font-size:11px}
 .viral-landing .production-copy h3{font-size:28px}
 .offer-body{margin-top:32px;padding-top:32px}
 .offer-volume>strong{font-size:80px}.offer-volume>strong>span{font-size:28px}
 .offer-inclusions>div{gap:16px}.offer-bottom{gap:16px;flex-wrap:wrap}.offer-bottom>span{font-size:13px}
 .effort-grid{grid-template-columns:1fr;gap:32px;margin-top:32px}
 .viral-landing .guarantee-grid{gap:40px}.viral-landing .guarantee-number{font-size:44px}
 .viral-landing .guarantee h3{font-size:26px}
 .footer-top{gap:24px;padding-bottom:32px}.footer-top>p{font-size:20px}
 .footer-bottom{gap:16px}.footer-bottom>span{flex-basis:100%}
}
@media(max-width:360px){
 .section h2,.viral-landing .section h2{font-size:28px}
 .service{flex-basis:100%;padding:20px;min-height:480px}.service h3{font-size:22px}
 .viral-landing #viral-brief{padding:20px}.viral-landing .guarantee-number{font-size:36px}
 .section .button{font-size:14px;padding-inline:16px}
 .demo-top{gap:8px}.demo-top strong{font-size:12px}.demo-top>span{font-size:9px}
 .contact-number{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.section *,.section *:before,.section *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
