@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#171a17;--muted:#6e716a;--paper:#f6f4ef;--lime:#d9f064;--line:#d9d7d0;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.section-wrap{width:min(1160px,calc(100% - 64px));margin-inline:auto}.site-header{height:82px;width:min(1320px,calc(100% - 64px));margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.13em;font-weight:700}.brand-mark{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--ink);color:var(--lime);font:italic 17px var(--serif);letter-spacing:0}.brand-dot{color:#91a827}.navigation{display:flex;align-items:center;gap:34px;font-size:12px}.navigation>a:not(.nav-cta){color:#575a54}.nav-cta{background:var(--ink);color:white;padding:13px 17px;border-radius:3px}.nav-cta span,.button span{margin-left:13px}.menu-toggle{display:none}.hero{min-height:600px;padding-block:78px 66px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:55px}.eyebrow{font:10px var(--mono);letter-spacing:.13em;color:#73766f;margin:0 0 24px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a7c33a;margin-right:8px}.hero h1,.section-heading h2,.about h2,.contact h2{font-size:clamp(44px,5.4vw,72px);line-height:1.04;letter-spacing:-.055em;font-weight:500;margin:0}.hero h1 em,.section-heading h2 em,.about h2 em,.contact h2 em{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}.hero-lead{max-width:475px;color:var(--muted);font-size:15px;line-height:1.8;margin:27px 0 29px}.hero-actions{display:flex;align-items:center;gap:24px}.button{border:0;display:inline-block;padding:15px 18px;font:12px var(--sans);cursor:pointer}.button-dark{background:var(--ink);color:white}.text-link{font-size:12px;border-bottom:1px solid #a4a69f;padding-bottom:5px}.hero-note{display:flex;gap:22px;margin-top:62px;color:#777a73;font:9px var(--mono);letter-spacing:.1em}.hero-note span:first-child{color:#9bab44}.hero-art{height:410px;position:relative;overflow:hidden;background:#e6e5de;border-radius:2px}.art-orbit{position:absolute;border:1px solid #9c9f91;border-radius:50%;width:380px;height:380px;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-two{width:285px;height:285px;border-color:#c3c5b9}.art-sun{position:absolute;width:168px;height:168px;border-radius:50%;background:var(--lime);left:50%;top:49%;transform:translate(-50%,-50%);box-shadow:0 0 0 20px #d9f06425}.art-card{position:absolute;right:12%;top:17%;padding:17px 18px;background:var(--paper);width:150px;box-shadow:0 12px 30px #1a1a1a12;display:flex;justify-content:space-between;font:9px/1.6 var(--mono);letter-spacing:.08em}.art-card b{font-size:21px;color:#849c23}.art-caption{position:absolute;bottom:18px;left:20px;font:9px var(--mono);letter-spacing:.15em;color:#65685f}.section-space{padding-block:110px}.projects{border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:19px}.section-heading h2,.about h2,.contact h2{font-size:clamp(40px,4.6vw,58px)}.section-heading>p{max-width:295px;color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 6px}.project-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:42px 25px}.project-card:nth-child(2){grid-column:2;grid-row:1}.project-image{height:330px;position:relative;overflow:hidden;display:grid;place-items:center}.project-large .project-image{height:400px}.image-coral{background:#d9a294}.image-blue{background:#aab9c6}.image-lime{background:#cad579}.project-tag{position:absolute;left:18px;top:18px;font:9px var(--mono);letter-spacing:.12em;z-index:2}.image-index{position:absolute;right:18px;bottom:16px;font:10px var(--mono)}.mockup-box{width:55%;height:62%;background:#f2e8da;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#4d2e24;box-shadow:12px 15px 30px #553f3330}.mockup-box span{text-align:center;font:18px/1.2 var(--serif);letter-spacing:.12em}.mockup-box i{font-size:34px;font-style:normal}.mockup-box small{font:7px var(--mono);letter-spacing:.2em;margin-top:16px}.phone-mock{width:43%;height:79%;border:7px solid #242c32;border-radius:20px;background:#edf0e9;display:flex;flex-direction:column;justify-content:center;padding:22px;color:#26333c;box-shadow:12px 15px 30px #26333c30}.phone-top{position:absolute;top:12%;height:5px;width:32px;border-radius:5px;background:#242c32;left:50%;transform:translateX(-50%)}.phone-mock b{font:25px/1.15 var(--serif);font-weight:500}.phone-mock i{color:#657d88}.phone-button{font:7px var(--mono);margin-top:28px;border-bottom:1px solid;padding-bottom:7px}.poster{width:55%;height:78%;background:#f0efe3;padding:24px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:12px 15px 30px #393b2530}.poster small,.poster span{font:8px var(--mono);letter-spacing:.1em}.poster b{font:clamp(30px,4vw,48px)/.9 var(--sans);letter-spacing:-.09em}.poster i{font-family:var(--serif);font-weight:500}.project-meta{display:flex;align-items:center;justify-content:space-between;padding-top:16px}.project-meta h3{font-size:17px;font-weight:500;margin:0}.project-meta span{font-size:10px;color:var(--muted)}.project-meta b{color:var(--ink);font-size:15px;margin-left:9px}.sample-note{margin:28px 0 0;color:#85877f;font:9px var(--mono)}.services{background:#eae9e1}.services-inner .section-heading{margin-bottom:56px}.service-list>div{display:grid;grid-template-columns:55px 1fr 1.1fr 25px;gap:20px;align-items:center;padding:21px 0;border-top:1px solid #cdcec4}.service-list>div:last-child{border-bottom:1px solid #cdcec4}.service-list>div>span{font:10px var(--mono);color:#878a80}.service-list h3{font:19px var(--serif);font-weight:500;margin:0}.service-list p{font-size:11px;color:var(--muted);margin:0}.service-list b{font-size:17px;font-weight:400}.about{display:grid;grid-template-columns:180px 1fr 210px;gap:36px;align-items:center}.about-stamp{width:145px;height:145px;border:1px solid #b9bbaf;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:27px;color:#91a827}.about-stamp span{font:8px/1.5 var(--mono);letter-spacing:.12em;color:var(--ink)}.about-copy{max-width:485px;color:var(--muted);font-size:13px;line-height:1.85;margin:24px 0}.about-side{border-left:1px solid var(--line);padding-left:22px}.about-side span{font:10px var(--mono);color:#91a827}.about-side p{font:14px/1.8 var(--serif);color:#575a54}.contact{background:var(--ink);color:#f4f3ed}.contact-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact .eyebrow{color:#abb09f}.contact-copy>p:not(.eyebrow){max-width:350px;color:#b5b7ae;font-size:13px;line-height:1.8;margin:24px 0}.contact-direct{margin-top:52px;display:flex;flex-direction:column;gap:12px}.contact-direct span,.form-note{font:9px var(--mono);letter-spacing:.08em;color:#92968a}.contact-direct a{font:13px var(--serif)}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:9px;color:#c9cbc2;font-size:10px}.contact-form input:not([type=checkbox]),.contact-form textarea,.contact-form select{width:100%;border:0;border-bottom:1px solid #54584f;padding:11px 0;background:transparent;color:#f4f3ed;font:12px var(--sans);outline:none;border-radius:0}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7f8378}.contact-form select{color:#f4f3ed}.contact-form select option{color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form .consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:9px;line-height:1.6;color:#9da096}.consent input{accent-color:var(--lime);margin-top:2px}.button-lime{align-self:flex-start;background:var(--lime);color:var(--ink)}.form-note{letter-spacing:0;line-height:1.7;margin:0}.form-message{font-size:12px;color:var(--lime);margin:0}.footer{width:min(1320px,calc(100% - 64px));margin:auto;min-height:90px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#797c74}.footer .brand{color:var(--ink)}
@media(max-width:760px){.section-wrap,.site-header,.footer{width:calc(100% - 40px)}.site-header{height:70px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:9px 12px;font:10px var(--mono);color:var(--ink)}.navigation{display:none;position:absolute;z-index:5;top:70px;left:0;right:0;padding:20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px}.navigation.open{display:flex}.nav-cta{text-align:center}.hero{padding-block:60px 45px;grid-template-columns:1fr;gap:36px;min-height:unset}.hero h1{font-size:clamp(42px,11vw,62px)}.hero-art{height:330px}.hero-note{margin-top:38px}.section-space{padding-block:75px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:34px}.section-heading h2,.about h2,.contact h2{font-size:44px}.section-heading>p{max-width:360px}.project-grid{grid-template-columns:1fr;gap:32px}.project-card:nth-child(2){grid-column:auto;grid-row:auto}.project-image,.project-large .project-image{height:330px}.project-meta h3{font-size:16px}.service-list>div{grid-template-columns:32px 1fr 20px;gap:12px}.service-list p{grid-column:2;grid-row:2;margin-top:-8px}.service-list b{grid-column:3;grid-row:1}.service-list h3{font-size:17px}.about{grid-template-columns:90px 1fr;gap:24px}.about-stamp{width:82px;height:82px;font-size:17px}.about-stamp span{font-size:6px}.about-side{grid-column:2;margin-top:6px}.contact-inner{grid-template-columns:1fr;gap:46px}.contact-direct{margin-top:32px}.form-row{grid-template-columns:1fr;gap:20px}.footer{min-height:78px;gap:12px}.footer>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Monochrome visual direction for a filmmaker and photographer portfolio. */
:root{--ink:#101010;--muted:#686868;--paper:#fff;--lime:#d8d8d8;--line:#dedede}
body{background:#fff}
.brand-mark{background:#101010;color:#fff}
.brand-dot{color:#777;background:none}.status-dot{background:#777}
.navigation>a:not(.nav-cta){color:#555}
.nav-cta,.button-dark{background:#101010}
.hero{min-height:630px}
.hero-art{background:#c9c9c9;filter:grayscale(1)}
.hero-frame{position:absolute;inset:0}
.frame-back{inset:12% 13% 14% 8%;background:linear-gradient(145deg,#eeeeee 0 18%,#8b8b8b 18% 19%,#373737 20% 48%,#a8a8a8 49% 51%,#333 52% 100%);transform:rotate(-5deg);box-shadow:0 20px 45px #0002}
.frame-front{inset:8% 10% 17% 16%;overflow:hidden;background:linear-gradient(160deg,#dadada 0%,#999 43%,#414141 44%,#151515 100%);box-shadow:0 20px 45px #0003}
.frame-front:before{content:"";position:absolute;left:0;right:0;bottom:0;height:43%;background:linear-gradient(180deg,transparent,#111 74%)}
.frame-light{position:absolute;width:32%;height:62%;right:18%;top:8%;border-radius:50% 50% 8% 8%;background:linear-gradient(100deg,#eee,#969696 62%,#555);filter:blur(1px);opacity:.8}
.frame-label{position:absolute;bottom:18px;left:18px;color:#fff;font:8px/1.7 var(--mono);letter-spacing:.14em}
.art-caption{color:#fff;z-index:2}.frame-count{position:absolute;right:18px;top:18px;z-index:2;color:white;font:9px var(--mono);letter-spacing:.1em}
.project-image{filter:grayscale(1);background:#bbb}
.image-coral{background:linear-gradient(135deg,#aaa,#333)}.image-blue{background:linear-gradient(155deg,#e3e3e3,#626262)}.image-lime{background:linear-gradient(135deg,#ddd,#737373)}
.project-tag,.image-index{color:#fff;text-shadow:0 1px 5px #0008}
.film-scene{position:absolute;inset:0;overflow:hidden}
.scene-one{background:linear-gradient(180deg,#b7b7b7 0 45%,#696969 46% 48%,#292929 49% 100%)}
.scene-one:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(160deg,transparent 30%,#151515 31% 100%);clip-path:polygon(0 100%,0 70%,24% 35%,45% 73%,65% 27%,100% 68%,100% 100%)}
.scene-sun{position:absolute;width:78px;height:78px;border-radius:50%;right:20%;top:14%;background:#eee;box-shadow:0 0 45px #fff9}
.scene-silhouette{position:absolute;z-index:1;left:44%;bottom:4%;width:55px;height:150px;background:#171717;border-radius:45% 45% 0 0;transform:rotate(-8deg)}
.play-icon{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;padding-left:3px;color:#fff;font-size:12px;background:#1115}
.scene-two{background:radial-gradient(ellipse at 50% 32%,#eee 0 8%,#a3a3a3 9% 23%,transparent 24%),linear-gradient(110deg,#262626,#777 48%,#c7c7c7)}
.portrait-shape{position:absolute;left:32%;right:29%;bottom:-9%;height:65%;border-radius:48% 48% 0 0;background:linear-gradient(100deg,#272727,#777 50%,#303030)}
.scene-three{background:linear-gradient(175deg,#aaa 0%,#ddd 41%,#5d5d5d 42%,#222 100%)}
.scene-three:before{content:"";position:absolute;left:10%;right:10%;bottom:0;height:54%;background:repeating-linear-gradient(90deg,#222 0 12%,#555 12% 14%,#303030 14% 24%);clip-path:polygon(0 100%,0 38%,16% 38%,16% 12%,35% 12%,35% 32%,53% 32%,53% 0,72% 0,72% 22%,100% 22%,100% 100%)}
.documentary-shape{position:absolute;left:57%;bottom:0;height:72%;width:20%;background:#161616;border-radius:40% 40% 0 0}
.services{background:#f1f1f1}
.about-stamp{color:#555}
.contact{background:#101010}
.button-lime{background:#e0e0e0;color:#111}
.button-lime:hover,.button-dark:hover,.nav-cta:hover{background:#555;color:#fff}
.brand-logo{display:block;width:35px;height:35px;object-fit:cover;background:#050505;border-radius:50%}
.brand>span:last-child{display:flex;flex-direction:column;font-size:12px;letter-spacing:.1em;line-height:1.1}
.brand small{font:7px var(--mono);letter-spacing:.16em;color:#777;margin-top:4px}
.contact-direct a+a{font-size:12px;color:#bbb}
.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.contact-form button:disabled{opacity:.55;cursor:wait}
.form-message{color:#ddd}
.intake-panel{min-width:0}.intake-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:25px;border-bottom:1px solid #484b44;padding-bottom:12px}.intake-tab{border:1px solid #55584f;background:transparent;color:#c7c9c0;padding:11px 13px;font:10px var(--sans);cursor:pointer}.intake-tab.active{background:var(--lime);border-color:var(--lime);color:var(--ink)}.intake-form[hidden]{display:none}.contact-form input[type=date],.contact-form input[type=time]{color-scheme:dark}.contact-form input[type=date]::-webkit-calendar-picker-indicator,.contact-form input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}
@media(max-width:760px){.hero{min-height:unset}.hero-art{height:330px}}
.project-image{background:#252525;filter:none}
.project-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .5s ease,filter .5s ease}
.project-card a:hover .project-image img{transform:scale(1.035);filter:grayscale(.15)}
.project-card:nth-child(2){grid-column:auto;grid-row:auto}
.project-card:first-child .project-image{height:400px}
.sample-note[hidden]{display:none}
.sample-note:not([hidden]){padding:26px;border:1px dashed #aaa;text-align:center;color:#686868;font:11px var(--mono)}
.sample-note:not([hidden])::after{content:""}
.project-tag,.image-index{z-index:1}
@media(max-width:760px){.project-card:first-child .project-image{height:330px}}
.project-play{position:absolute;z-index:2;left:18px;bottom:18px;padding:10px 12px;background:#111;color:#fff;font:9px var(--mono);letter-spacing:.1em}
.project-video-dialog{position:relative;border:0;padding:0;width:min(1000px,calc(100% - 24px));max-width:1000px;background:#111;overflow:visible}
.project-video-dialog::backdrop{background:#000d}
.project-video-dialog video{display:block;width:100%;max-height:80vh;background:#000}
.video-dialog-close{position:absolute;z-index:1;right:8px;top:8px;width:38px;height:38px;border:0;border-radius:50%;background:#111;color:#fff;font-size:27px;cursor:pointer}
