:root{--cream:#f8f5ef;--ink:#29251f;--rust:#ad5034;--sand:#e8dfd2;--line:#d7cfc3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Manrope',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.nav{height:88px;padding:0 max(32px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:10}.wordmark{font-family:'Manrope',sans-serif;font-size:24px;font-weight:600}.wordmark span{color:var(--rust)}nav{display:flex;align-items:center;gap:33px;font-size:13px;font-weight:700}nav a:hover,.text-link:hover{color:var(--rust)}.nav-cta{border:1px solid var(--ink);padding:12px 17px}.menu{display:none;background:none;border:0}.hero{min-height:630px;padding-top:94px;position:relative;overflow:hidden}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--rust);display:flex;align-items:center;gap:10px}.dot{height:8px;width:8px;border-radius:50%;background:var(--rust)}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500}h1{font-size:clamp(64px,8.3vw,118px);line-height:1.04;letter-spacing:-3.8px;margin:27px 0 35px;position:relative;z-index:1}h1 em,h2 em{color:var(--rust);font-weight:500}.hero-bottom{display:flex;align-items:center;gap:70px}.hero-bottom p{font-size:18px;line-height:1.7;max-width:530px}.circle-link{width:66px;height:66px;display:grid;place-items:center;background:var(--rust);color:white;border-radius:50%;font-size:30px}.intro-strip{background:var(--ink);color:#e9dfd3}.strip-inner{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:1.4px;font-weight:700}.work{padding-top:120px;padding-bottom:130px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-top h2,.about h2,.contact h2{font-size:clamp(49px,6vw,80px);line-height:1.12;letter-spacing:-1.8px;margin:17px 0}.section-top p{max-width:365px;line-height:1.7;color:#615b53;font-size:15px}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:43px 0 30px}.filter{border:1px solid var(--line);border-radius:30px;padding:11px 18px;background:transparent;font-size:12px;font-weight:700}.filter.active,.filter:hover{background:var(--ink);color:white;border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 24px}.project{cursor:pointer;display:block;text-align:left;border:0;background:none;padding:0;color:inherit;width:100%}.project-image{height:310px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:var(--sand)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.project:hover img{transform:scale(1.04)}.project-image .placeholder{font:italic 42px 'Manrope',sans-serif;text-align:center;padding:28px;max-width:420px}.project-image .arrow{position:absolute;right:16px;top:16px;background:var(--cream);border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.project-meta{margin-top:18px;color:var(--rust);text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.4px}.project-title{font:500 27px 'Manrope',sans-serif;margin:8px 0}.project-summary{font-size:13px;color:#665f55;line-height:1.6;margin:0}.about{background:#eae0d3;padding:115px 0}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.about p{line-height:1.9;color:#50483f;font-size:16px}.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid var(--rust);padding-bottom:8px;font-weight:700}.contact{padding-top:130px;padding-bottom:140px}.contact p{max-width:500px;color:#60584e;line-height:1.7}.contact-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.contact-links a{border:1px solid var(--ink);padding:14px 23px;font-size:13px;font-weight:700}.contact-links a:hover{background:var(--ink);color:white}footer{border-top:1px solid var(--line)}.footer-inner{min-height:75px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6a6057}dialog{border:0;padding:0;max-width:min(760px,calc(100% - 30px));width:100%;background:var(--cream);color:var(--ink);box-shadow:0 20px 80px #0005;max-height:90vh}dialog::backdrop{background:#211b17a8}.close-dialog{position:sticky;top:12px;float:right;margin:12px 12px -48px 0;z-index:2;border:0;background:var(--ink);color:white;border-radius:50%;height:42px;width:42px}.dialog-content{padding:48px}.dialog-content h2{font-size:46px;line-height:1.12}.dialog-content p{line-height:1.8}.dialog-content img,.dialog-content video,.dialog-content iframe{max-width:100%;width:100%;margin:16px 0}.dialog-content iframe{height:420px;border:0}.dialog-content .linkout{display:inline-block;margin:15px 10px 0 0;background:var(--rust);color:white;padding:13px 18px;font-size:13px}.dialog-label{font-weight:700;font-size:12px;color:var(--rust);letter-spacing:1px;text-transform:uppercase}@media(max-width:720px){.wrap{width:calc(100% - 36px)}.nav{height:70px;padding:0 18px}.menu{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;padding:25px;background:var(--cream);flex-direction:column;align-items:start;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{padding-top:85px;min-height:560px}h1{font-size:clamp(49px,12vw,78px);letter-spacing:-2px}.hero-bottom{gap:18px}.hero-bottom p{font-size:15px}.circle-link{flex-shrink:0;width:50px;height:50px}.strip-inner{justify-content:center;text-align:center}.strip-inner span:not(:first-child){display:none}.work{padding:80px 0}.section-top{display:block}.project-grid{grid-template-columns:1fr}.project-image{height:245px}.about{padding:75px 0}.about-grid{grid-template-columns:1fr;gap:10px}.contact{padding:85px 0}.footer-inner{flex-wrap:wrap;gap:15px;padding:20px 0}.dialog-content{padding:35px 23px}.dialog-content h2{font-size:35px}}

.sample-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.sample-gallery img{width:100%;height:auto;border-radius:10px}.extra-video-label{font-size:16px;margin:24px 0 10px}.dialog-content video{max-height:520px;object-fit:contain;background:#111}

/* Contemporary editorial typography */
h1{font-weight:700;letter-spacing:-.065em;line-height:1.08;font-size:clamp(54px,7.6vw,105px)}h1 em,h2 em{font-style:normal;font-weight:500}.project-title{font-weight:650;letter-spacing:-.035em}.project-image img[src*="rosetastic-logo"]{object-fit:contain;padding:35px;background:#f4ece7}.project-image .placeholder{font-family:Manrope,sans-serif;font-style:normal}
