/*
Theme Name: Framecut
Author: Bimsara
Description: A cinematic video editor portfolio with dashboard-managed projects, categories, video links, and customizable homepage content.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: framecut
Tags: portfolio, custom-logo, custom-menu, featured-images, translation-ready, blog
*/
:root{--bg:#101112;--panel:#1a1b1d;--ink:#f1f0e9;--muted:#acaca7;--line:#303133;--accent:#d8ff62}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,input,textarea,select{font:inherit}img{max-width:100%;height:auto}button,a,input,textarea{outline-offset:5px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.site-header{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:108px;border-bottom:1px solid var(--line)}.brand a{display:flex;align-items:center;gap:12px;font-weight:800;font-size:21px;letter-spacing:-1px}.brand-mark{background:var(--accent);color:#111;padding:0 8px;font-size:21px;letter-spacing:-3px}.custom-logo{max-width:190px;max-height:65px;width:auto}.site-header nav ul{list-style:none;display:flex;gap:30px;margin:0;padding:0;font-size:14px}.header-cta{font-size:14px;border-bottom:1px solid var(--accent);padding:8px 0}.menu-toggle{display:none}.hero{padding-top:65px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;text-transform:uppercase;color:var(--muted);margin:0 0 22px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:12px}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(45px,7.3vw,102px);line-height:1.04;letter-spacing:-.065em;font-weight:500;max-width:1050px;margin:20px 0 30px}h2{font-size:clamp(32px,4.2vw,58px);line-height:1.1;letter-spacing:-.045em;font-weight:500;margin:0 0 20px}h3{font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.6px;margin:10px 0}p{color:var(--muted)}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-bottom:45px}.hero-bottom p{max-width:460px;font-size:17px;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--accent);color:#12150a;padding:15px 23px;border-radius:3px;font-weight:600;font-size:14px;border:0;cursor:pointer}.button:hover{background:#e6ff9f;color:#111}.reel-panel{height:450px;position:relative;overflow:hidden;border-radius:5px;background:#272b22}.reel-art{position:absolute;inset:0;background:radial-gradient(ellipse at 73% 80%,#959d64 0,transparent 42%),linear-gradient(120deg,#0d1e20 0%,#394b41 48%,#b4b693 100%)}.reel-art span{position:absolute;width:80%;height:70%;background:linear-gradient(90deg,#101917,#516652);transform:rotate(-32deg);top:42%;left:-13%;box-shadow:0 -1px 0 #aec79855}.reel-art span:nth-child(2){left:34%;top:65%;background:#162d27}.reel-art span:nth-child(3){left:62%;top:48%;background:linear-gradient(120deg,#708871,#122a21)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.hero-image+.reel-art{background:linear-gradient(0deg,#0009,transparent);z-index:2}.hero-image+.reel-art span{display:none}.reel-label,.reel-corner{position:absolute;z-index:3;top:28px;font-size:10px;letter-spacing:2px;color:#fff}.reel-label{left:30px}.reel-corner{right:30px}.reel-corner i{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-left:7px}.reel-title{position:absolute;bottom:35px;left:35px;z-index:3;font-size:clamp(36px,5vw,70px);line-height:1.03;letter-spacing:-3px;color:white}.reel-title em,.contact em{font-family:Georgia,serif;font-weight:400}.reel-play{position:absolute;z-index:4;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px;color:white;background:#0002;font-size:13px}.reel-play span{width:78px;height:78px;border:1px solid #ffffff99;border-radius:50%;display:grid;place-items:center;background:#0003;padding-left:4px;font-size:25px}.section{padding-block:90px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.text-link{font-size:14px;border-bottom:1px solid #74766e;padding-bottom:5px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px}.project-image{aspect-ratio:16/10;display:block;position:relative;overflow:hidden;background:var(--panel);border-radius:4px}.project-image img{height:100%;width:100%;object-fit:cover;transition:transform .3s}.project-image:hover img{transform:scale(1.035)}.image-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(140deg,#34443b,#1a2429);font-size:90px;color:#d8ff623b}.play-icon{position:absolute;right:18px;top:18px;border:1px solid #ffffff70;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:#0006;color:white}.duration{position:absolute;bottom:16px;right:16px;background:#101112cc;color:white;padding:3px 9px;font-size:11px;border-radius:3px}.card-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-top:19px}.project-card p{font-size:14px;margin:10px 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about h2{max-width:390px}.about-copy p{margin-top:0;font-size:19px}.services{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid var(--line)}.services article{padding:30px 25px 10px 0}.services article+article{border-left:1px solid var(--line);padding-left:25px}.service-number{display:block;font-size:12px;letter-spacing:2px;color:var(--accent);margin-bottom:35px}.services p{font-size:14px}.contact{padding:65px 55px;background:var(--panel);border:1px solid var(--line);border-radius:4px}.contact h2{font-size:clamp(40px,6.5vw,88px)}.contact em{color:var(--accent)}.contact-links{display:flex;gap:24px;flex-wrap:wrap;align-items:center;margin-top:32px}.site-footer{display:flex;gap:24px;justify-content:space-between;padding-block:38px;font-size:12px;color:var(--muted)}.site-footer>a:first-child{font-weight:bold;color:var(--ink)}.empty-state{grid-column:1/-1;padding:48px;background:var(--panel);border:1px dashed #444}.filters{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.filters a{border:1px solid var(--line);padding:8px 16px;border-radius:25px;font-size:13px}.filters .active{background:var(--accent);color:#111;border-color:var(--accent)}.project-heading{padding-block:40px}.lead{font-size:20px;max-width:800px}.project-video,.project-cover{width:100%;max-height:800px;object-fit:contain;background:#080808}.video-embed{position:relative;aspect-ratio:16/9;background:#080808}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.project-details{display:flex;flex-wrap:wrap;gap:35px;padding-block:30px;border-bottom:1px solid var(--line);margin-bottom:40px}.project-details dt{text-transform:uppercase;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.project-details dd{margin:6px 0 0}.content{line-height:1.8}.article-content{max-width:850px;margin-inline:auto}.content a{text-decoration:underline}.content h2{margin-top:40px}.content iframe,.content video{max-width:100%}.content table{border-collapse:collapse;width:100%;display:block;overflow:auto}.content td,.content th{padding:12px;border:1px solid var(--line)}.content blockquote{border-left:3px solid var(--accent);padding-left:25px;margin-left:0}.content pre{overflow:auto;background:var(--panel);padding:20px}.navigation{margin-top:45px}.nav-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px}.page-numbers{padding:8px 12px;background:var(--panel)}.page-numbers.current{color:var(--accent)}.post-summary{padding-block:35px;border-bottom:1px solid var(--line)}input,textarea,select{max-width:100%;background:var(--panel);color:var(--ink);border:1px solid #666;padding:10px}input[type=submit],button[type=submit]{cursor:pointer;background:var(--accent);color:#111;border:0;padding:12px 20px}.comment-form label{display:block}.comment-list{padding-left:20px}.alignleft{float:left;margin:0 25px 20px 0}.alignright{float:right;margin:0 0 20px 25px}.aligncenter{display:block;margin-inline:auto}.wp-caption,.gallery-caption{max-width:100%;color:var(--muted)}.wp-caption-text{font-size:13px}.bypostauthor{border-left:2px solid var(--accent);padding-left:12px}.sticky{border-top:2px solid var(--accent)}.screen-reader-text,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.skip-link:focus{position:fixed;top:10px;left:10px;z-index:99;background:var(--accent);color:#111;padding:12px}.content:after{content:'';display:table;clear:both}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{min-height:85px;flex-wrap:wrap;padding-block:20px}.header-cta{display:none}.site-header nav{width:100%;order:3}.site-header nav ul{flex-wrap:wrap;gap:20px}.js .menu-toggle{display:block;color:var(--ink);background:none;border:1px solid var(--line);padding:7px 14px}.js .site-header nav{display:none}.js .site-header nav.is-open{display:block}.hero{padding-top:45px}.hero-bottom{align-items:start;flex-direction:column;gap:22px}.reel-panel{height:350px}.section{padding-block:60px}.about{gap:30px}.services{grid-template-columns:1fr}.services article+article{padding-left:0;border-left:0;border-top:1px solid var(--line)}.service-number{margin-bottom:20px}.contact{padding:40px 25px}.site-footer{flex-wrap:wrap}.section-heading{align-items:start;flex-direction:column;gap:20px}}
@media(max-width:540px){.project-grid,.about{grid-template-columns:1fr}.reel-panel{height:300px}.reel-title{left:22px;letter-spacing:-2px}.reel-label{left:22px}.eyebrow{letter-spacing:1.4px;font-size:10px}.hero h1{font-size:52px}.section h1{font-size:43px}.project-details{gap:25px}.empty-state{padding:25px}.contact-links{align-items:start;flex-direction:column}.site-footer{flex-direction:column;gap:12px}.brand a{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
