/*
Theme Name: FrameDots
Author: FrameDots
Description: A cinematic creative-production theme for branding, videography and photography. Includes a configurable homepage and clearly labeled concept images.
Version: 0.1.0
Requires at least: 6.4
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: framedots
*/
:root,.dark{--background:#10100f;--foreground:#f4f2ed;--accent:#ff5a21;--muted:#b2b0aa;--line:#3e3d39;--paper:#ece9e0;--card:#191918;--card-foreground:#f4f2ed;--primary:var(--accent);--primary-foreground:#10100f;--secondary:#292825;--secondary-foreground:#f4f2ed;--muted-foreground:#b2b0aa;--accent-foreground:#10100f;--border:#3e3d39;--ring:#ff5a21;--radius:0;--display:Impact,'Arial Narrow','Helvetica Neue',sans-serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{background:var(--accent);color:var(--background)}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:.95}h2{font-size:clamp(3rem,7.5vw,7.5rem)}h2 em{font-family:Georgia,'Times New Roman',serif;font-size:.83em;letter-spacing:-.065em;font-weight:400;text-transform:none}ul{list-style:none;padding:0;margin:0}.wrap{width:calc(100% - 7rem);max-width:1600px;margin-inline:auto}.section{padding-block:7rem}.eyebrow{text-transform:uppercase;font-size:.8rem;letter-spacing:.1em;display:flex;align-items:center;gap:.65rem}.signal{display:inline-block;width:.5rem;height:.5rem;background:var(--accent);border-radius:50%}.accent{color:var(--accent)}.skip-link{position:fixed;z-index:100;left:1rem;top:-6rem;padding:1rem;background:var(--foreground);color:var(--background)}.skip-link:focus{top:1rem}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.wordmark{font-size:1.8rem;font-weight:800;letter-spacing:-.065em;white-space:nowrap;line-height:1}.wordmark span{color:var(--accent);font-size:.55em;vertical-align:top;margin-left:3px}.site-header nav{display:flex;gap:2.25rem;font-size:.875rem}.site-header nav a,.site-footer a{transition:color .2s}.site-header nav a:hover,.site-footer a:hover{color:var(--accent)}.contact-link{display:flex;gap:2rem;align-items:center;border-bottom:1px solid var(--foreground);padding-block:.45rem;font-size:.875rem}.contact-link span{color:var(--accent);font-size:1.5rem}.hero{position:relative;min-height:720px;height:calc(100svh - 104px);max-height:1050px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:center}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;z-index:-3;animation:hero-settle 1.4s ease-out both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(9,9,8,.38),transparent 75%),linear-gradient(0deg,rgba(9,9,8,.72),transparent 40%)}.hero-content{padding-top:2.5rem;padding-bottom:5rem}.hero .eyebrow{margin-bottom:2.1rem}.hero h1{font-size:clamp(4.5rem,9.2vw,10rem);letter-spacing:-.025em;line-height:.92}.final-frame{display:block;font-size:.62em;line-height:1.2;color:var(--foreground)}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-top:2.6rem;max-width:790px}.hero-bottom p{font-size:1rem;line-height:1.55}.round-link{display:flex;align-items:center;gap:1.2rem;font-size:.875rem}.circle{border:1px solid rgba(255,255,255,.5);border-radius:50%;width:64px;height:64px;display:grid;place-items:center;font-size:1.9rem;transition:background .25s,color .25s,transform .25s}.round-link:hover .circle{background:var(--accent);border-color:var(--accent);color:var(--background);transform:rotate(45deg)}.hero-caption{position:absolute;bottom:1.6rem;left:0;right:0;display:flex;justify-content:space-between;gap:1.5rem;font-size:.75rem;color:#d4d0c8}.discipline-strip{display:flex;justify-content:space-around;align-items:center;gap:2rem;padding:1.4rem 3rem;background:var(--paper);color:var(--background);font-size:1.12rem;letter-spacing:-.035em;border-bottom:1px solid var(--line)}.discipline-strip i{color:#c74113;font-size:2rem;line-height:1;font-style:normal}.intro,.approach{display:grid;grid-template-columns:1fr 2fr;gap:3rem}.section-label{align-self:start;padding-top:.65rem}.intro h2{max-width:900px}.intro-bottom{display:flex;align-items:start;gap:5rem;margin-top:3rem}.intro-bottom p{max-width:490px;font-size:1.125rem;color:var(--muted);line-height:1.7}.dot-cluster{flex:0 0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:.5rem}.dot-cluster i{height:20px;width:20px;border-radius:50%;background:var(--accent)}.dot-cluster i:last-child{background:transparent;border:1px solid var(--accent)}.work-section{padding-top:1.5rem}.section-top{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.secondary-note{font-size:.875rem;color:var(--muted)}.work-section h2{margin-bottom:3.5rem}.work-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:2rem;row-gap:3rem}.work-wide{grid-column:1/-1}.image-frame{overflow:hidden;position:relative;background:var(--card)}.image-frame img{width:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.work-card:hover img{transform:scale(1.035)}.work-wide img{aspect-ratio:2.1;object-position:center 35%}.work-tall img{aspect-ratio:.89}.work-offset{padding-top:8rem}.work-offset img{aspect-ratio:1.12}.image-index{position:absolute;left:1rem;top:1rem;border:1px solid rgba(255,255,255,.6);color:#fff;border-radius:50%;height:35px;width:35px;display:grid;place-items:center;font-size:.75rem;background:rgba(0,0,0,.18)}figcaption{display:flex;justify-content:space-between;align-items:start;gap:1rem;padding-top:1.2rem}figcaption h3{font-size:1.3rem;font-weight:500;letter-spacing:-.035em}figcaption p{font-size:.875rem;color:var(--muted);margin-top:.25rem}.project-kind{font-size:.75rem;border:1px solid var(--line);padding:.25rem .6rem;border-radius:2rem;margin-top:.3rem}.concept-note{font-size:.8rem;color:var(--muted);border-top:1px solid var(--line);margin-top:3rem;padding-top:1.25rem}.services{background:var(--accent);color:#10100f}.service-star{font-size:4rem;line-height:1}.services h2{margin-bottom:4rem}.service{display:grid;grid-template-columns:50px 1.05fr 1fr 35px;gap:2rem;border-top:1px solid rgba(16,16,15,.4);padding-block:2.8rem}.service-number{font-size:.875rem;padding-top:.65rem}.service h3{font-family:var(--display);font-size:clamp(2.4rem,4vw,4.5rem);line-height:1.1;letter-spacing:-.035em;font-weight:400}.service p{font-size:1rem;max-width:380px;line-height:1.6}.service ul{margin-top:1.4rem;font-size:.875rem;line-height:1.9}.service li:before{content:'↗';margin-right:.75rem}.service-arrow{font-size:2rem;line-height:1.2}.approach h2{font-size:clamp(3rem,6vw,6rem)}.approach>div>p{max-width:530px;color:var(--muted);font-size:1.125rem;margin-top:2.5rem;line-height:1.7}.text-link{display:inline-flex;gap:4rem;align-items:center;border-bottom:1px solid var(--line);padding-block:.6rem;margin-top:1.8rem;font-size:.9375rem}.text-link span{color:var(--accent);font-size:1.5rem}.contact{padding-block:5.5rem;background:var(--paper);color:var(--background)}.contact .eyebrow{margin-bottom:3rem}.contact h2{font-size:clamp(4rem,10.7vw,11rem);position:relative;padding-right:1.2em}.contact-arrow{position:absolute;right:.05em;top:-.1em;font-family:Arial,Helvetica,sans-serif;font-weight:400;color:#c74113}.contact-bottom{margin-top:3.5rem;display:flex;justify-content:space-between;align-items:end;gap:3rem}.contact-bottom>p{font-size:1.125rem}.contact-details{max-width:480px}.contact-details a{display:block;font-size:1.35rem;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.25em}.contact-preview{font-size:.875rem;color:#56534d;border-bottom:1px solid #aaa69b;padding-bottom:.65rem}.site-footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;column-gap:2rem;row-gap:2.5rem;padding-block:2.6rem}.site-footer p,.site-footer>a:not(.wordmark){font-size:.875rem}.site-footer p{color:var(--muted)}.copyright{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.5rem;font-size:.75rem!important}.custom-logo{max-width:180px;max-height:62px;object-fit:contain}.entry-main{min-height:65vh;padding-block:4rem}.entry-main h1{font-size:clamp(3rem,6vw,6rem);margin-bottom:2rem}.entry-main p{margin-block:1.2rem}.entry-main .entry-content{max-width:900px}.entry-main a{text-decoration:underline;text-underline-offset:.2em}.entry-main img{height:auto}.entry-main ul{list-style:disc;padding-left:1.5rem}.portfolio-empty{padding:2rem;border:1px solid var(--line);color:var(--muted)}
@keyframes hero-settle{from{transform:scale(1.055);opacity:.6}to{transform:scale(1);opacity:1}}
@media(min-width:1800px){.hero-content{padding-block:5rem}.hero h1{font-size:11rem}}
@media(max-width:1000px){.wrap{width:calc(100% - 4rem)}.site-header nav{gap:1.3rem}.hero{min-height:670px;height:calc(92svh - 100px)}.hero h1{font-size:clamp(4.5rem,10vw,7rem)}.hero-bottom{max-width:650px}.intro,.approach{grid-template-columns:1fr 2.5fr;gap:2rem}.intro-bottom{gap:2rem}.section{padding-block:5rem}.service{grid-template-columns:30px 1fr 1.2fr;gap:1.2rem}.service-arrow{display:none}.work-section{padding-top:1rem}.work-offset{padding-top:5rem}.hero-caption{font-size:.75rem}.discipline-strip{font-size:1rem;gap:1rem;padding-inline:1.5rem}}
@media(max-width:680px){.wrap{width:calc(100% - 2.5rem)}.site-header{height:auto;min-height:98px;flex-wrap:wrap;padding-block:1.2rem;gap:1rem}.wordmark{font-size:1.55rem}.site-header nav{order:3;width:100%;justify-content:space-between;gap:1rem;font-size:.875rem}.contact-link{font-size:.875rem;gap:1.3rem;padding:0}.contact-link span{font-size:1.2rem}.hero{height:auto;min-height:650px;justify-content:start}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(9,9,8,.47),rgba(9,9,8,.05)),linear-gradient(0deg,rgba(9,9,8,.86),transparent 65%)}.hero-content{padding-top:3.25rem;padding-bottom:7rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.06em;margin-bottom:2rem}.hero h1{font-size:clamp(3.7rem,15vw,6rem)}.final-frame{font-size:.59em;margin-top:.15em}.hero-bottom{margin-top:2rem;align-items:start;flex-direction:column;gap:1.7rem}.hero-bottom p{font-size:1rem}.round-link{font-size:.875rem}.circle{height:48px;width:48px;font-size:1.5rem}.hero-caption{bottom:1.2rem;flex-direction:column;gap:.2rem;font-size:.75rem}.discipline-strip{justify-content:center;flex-wrap:wrap;gap:.6rem 1rem;padding:1.3rem 1rem;font-size:.9375rem}.discipline-strip span{white-space:nowrap}.discipline-strip i{font-size:1.4rem}.discipline-strip i:last-child{display:none}.section{padding-block:3.6rem}.intro,.approach{grid-template-columns:1fr;gap:2rem}.section-label{padding-top:0}.intro-bottom{gap:1.5rem;margin-top:2rem}.intro-bottom p,.approach>div>p{font-size:1rem}.dot-cluster{gap:5px}.dot-cluster i{height:13px;width:13px}h2{font-size:clamp(3.1rem,12vw,5rem)}.section-top{align-items:start;gap:1rem;margin-bottom:2rem}.secondary-note{display:none}.work-section{padding-top:0}.work-section h2{margin-bottom:2rem}.work-grid{grid-template-columns:1fr;gap:2.4rem}.work-wide{grid-column:auto}.work-wide img{aspect-ratio:1.2;object-position:70% center}.work-tall img{aspect-ratio:1}.work-offset{padding-top:0}.work-offset img{aspect-ratio:1.05}.concept-note{margin-top:2rem;line-height:1.6}figcaption h3{font-size:1.2rem}figcaption p{font-size:.875rem}.service-star{font-size:2.7rem}.services h2{margin-bottom:2.5rem}.service{grid-template-columns:25px 1fr;gap:.7rem 1rem;padding-block:1.8rem}.service h3{font-size:2.6rem}.service>div{grid-column:2}.service ul{font-size:.875rem;margin-top:1rem}.service-number{padding-top:.55rem;font-size:.875rem}.approach h2{font-size:clamp(2.9rem,11vw,4.6rem)}.approach>div>p{margin-top:1.8rem}.text-link{gap:2rem}.contact .eyebrow{margin-bottom:2rem}.contact h2{font-size:clamp(3.3rem,13.5vw,5.3rem)}.contact-bottom{margin-top:2rem;align-items:start;flex-direction:column;gap:2rem}.contact-bottom>p{font-size:1rem}.contact-details a{font-size:1.1rem}.site-footer{grid-template-columns:1fr auto;gap:1.5rem;padding-block:2rem}.site-footer>p:not(.copyright){grid-column:1/-1;grid-row:2}.site-footer>a:not(.wordmark){font-size:.875rem}.copyright{padding-top:1.2rem}.eyebrow{font-size:.75rem;letter-spacing:.06em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.video-control{position:absolute;right:3.5rem;top:1.5rem;z-index:2;border:1px solid #ddd;background:#10100fcc;color:#fff;border-radius:2rem;padding:.6rem 1rem;font:inherit;font-size:.875rem;cursor:pointer}.video-control[hidden]{display:none}.entry-main h2{font-size:2.5rem;margin-top:2rem}.entry-main h3{font-size:1.7rem;margin-top:1.5rem}.entry-main .wp-block-image img{max-width:100%;height:auto}.navigation.pagination{margin-top:2rem}.page-numbers{padding:.5rem}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:1200px}.alignfull{width:100%}@media(max-width:680px){.video-control{right:1.25rem;top:.7rem;font-size:.75rem;padding:.3rem .7rem}}
