@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color:#23272b;background:#fff;font-family:"DM Sans",Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em}p{line-height:1.7}img{max-width:100%;display:block}section{scroll-margin-top:95px}em{font-style:normal;color:#af7c25}.wrap{width:min(1160px,calc(100% - 54px));margin:auto}
.demo-ribbon{text-align:center;background:#f5efe4;color:#856124;font:800 10px Manrope,sans-serif;letter-spacing:.11em;padding:9px}.demo-ribbon span{color:#bd8329}
.header{position:sticky;top:0;z-index:50;background:white;box-shadow:0 4px 20px #10121512}.head-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}.branding{display:flex;align-items:center;gap:8px}.branding img{width:66px;height:66px;object-fit:contain}.branding span{display:grid;gap:2px}.branding b{font:800 15px Manrope}.branding small{font:800 9px Manrope;color:#b68126;letter-spacing:.14em}.nav{display:flex;gap:25px;align-items:center}.nav a{font-weight:700;font-size:12px;white-space:nowrap}.nav a:hover{color:#b48128}.head-right{display:flex;gap:20px;align-items:center}.head-number{display:flex;align-items:center;gap:9px}.head-number span{font-size:21px;color:#ba8a30}.head-number b{font:800 12px Manrope;white-space:nowrap}.head-number small{display:block;color:#888;font:500 10px DM Sans;margin-top:3px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 21px;border-radius:5px;font:800 12px Manrope;border:0;transition:background .25s,transform .2s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.primary{background:#b4832b;color:white;box-shadow:0 6px 14px #b4832b28}.primary:hover{background:#956917}.white{background:white;border:1.5px solid #343a3e;color:#23272b}.dark{background:#272c2f;color:white}.burger{display:none;border:0;background:transparent;font-size:23px}
.hero{background:linear-gradient(110deg,#f2f6f8 0%,#f9fbfb 65%,#e8e9e8 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:51% 49%;align-items:stretch;min-height:490px}.hero-text{align-self:center;padding:55px 38px 55px 0}.overline{font:800 10px Manrope;letter-spacing:.15em;color:#ae7d29;display:block;margin-bottom:18px}.hero-text h1{font-size:clamp(38px,4.5vw,65px);line-height:1.12;margin:0 0 22px;font-weight:800}.hero-text>p{color:#50585f;font-size:15px;max-width:470px;margin:0 0 30px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.hint{display:block;margin-top:25px;color:#547b51;font-size:11px;font-weight:700}.hero-image{position:relative;overflow:hidden;clip-path:polygon(7% 0,100% 0,100% 100%,0 100%)}.hero-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.image-caption{position:absolute;bottom:22px;right:22px;background:#fffffff0;padding:14px 18px;border-left:3px solid #b58329;box-shadow:0 9px 19px #1a1a1a1b}.image-caption small{display:block;letter-spacing:.12em;color:#a87926;font-weight:800;font-size:9px;margin-bottom:6px}.image-caption b{font-size:12px}
.trust{background:white;border-bottom:1px solid #eae6de}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding:24px 0}.trust-grid>div{display:flex;gap:12px;align-items:center;border-right:1px solid #ebe6dc}.trust-grid>div:last-child{border:0}.trust-icon{color:#b5862d;font-size:26px;font-weight:600;min-width:38px}.trust-icon.stars{font-size:15px;letter-spacing:-2px;min-width:69px}.trust-grid b{display:block;font:800 11px Manrope}.trust-grid small{display:block;color:#888;font-size:10px;margin-top:5px}
.section{padding:83px 0}.section-top.centered{text-align:center;max-width:745px;margin:0 auto 41px}.section h2{font-size:clamp(30px,3.35vw,45px);line-height:1.2;margin:0 0 16px}.section-top p{font-size:13px;color:#6b7478;max-width:660px;margin:auto}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid #eae7e3;border-radius:9px;overflow:hidden;box-shadow:0 10px 32px #20272c0e;background:white;transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-5px);box-shadow:0 14px 35px #20272c1c}.card-photo{height:165px;position:relative;background:#ded5c9;overflow:hidden}.card-photo img{height:100%;width:100%;object-fit:cover}.card-photo>span{position:absolute;right:14px;top:12px;border-radius:4px;background:#fffefaec;color:#a26c18;font:800 10px Manrope;padding:7px 9px}.card-text{padding:24px}.card h3{margin:0 0 9px;font-size:17px}.card p{font-size:12px;color:#647076;min-height:62px;margin:0 0 14px}.card a,.text-link{font-size:12px;font-weight:800;color:#aa771e}.photo-note{color:#949494;font-size:10px;text-align:right;margin-top:13px}
.experience{background:#f8f5ef}.experience-grid{display:grid;grid-template-columns:47% 53%;gap:7%;align-items:center}.experience-photo{position:relative;padding:0 20px 25px 0}.experience-photo>img{height:395px;width:100%;object-fit:cover;border-radius:9px}.year{position:absolute;bottom:0;right:0;background:#b78731;color:white;border-radius:5px;padding:18px;font:800 10px Manrope;letter-spacing:.1em}.year strong{font-size:44px;display:block;letter-spacing:-.08em}.experience-copy{padding-right:10%}.experience-copy>p,.review-grid p,.contact-grid>div>p{color:#687077;font-size:14px}.quality{display:flex;gap:20px;padding:16px 0;border-top:1px solid #e5e0d8}.quality>b{font:800 14px Manrope;color:#ad7b28}.quality strong{display:block;font-size:13px;margin-bottom:5px}.quality span{display:block;font-size:12px;color:#757b7e;line-height:1.6}.text-link{display:inline-block;margin-top:19px}
.review-grid{display:grid;grid-template-columns:1.4fr .7fr;gap:10%;align-items:center}.review-grid p{max-width:600px;margin-bottom:25px}.rating{padding:34px 23px;text-align:center;border-radius:12px;background:linear-gradient(145deg,#fff,#fcf7ed);box-shadow:0 12px 38px #8a6b1b1b;border:1px solid #e9e3d6}.rating>span{color:#b88730;font-size:24px;letter-spacing:4px}.rating strong{font:800 75px Manrope;letter-spacing:-.07em;display:block}.rating strong small{font-size:29px;color:#9c9c9c}.rating p{font-size:12px;font-weight:700;margin:0}.rating>small{font-size:11px;color:#888}
.banner{background:#262a2d;color:white}.banner-inner{min-height:195px;display:flex;justify-content:space-between;align-items:center;gap:24px}.banner-inner span{font:800 10px Manrope;letter-spacing:.13em;color:#d7b270}.banner-inner h2{font-size:32px;margin:9px 0}.banner-inner p{color:#bbc0c4;margin:0;font-size:12px}
.contact-grid{display:grid;grid-template-columns:47% 53%;gap:7%}.contact-grid h2{max-width:420px}.contact-line{display:flex;align-items:center;gap:14px;margin:22px 0}.contact-line>span{background:#b5842a;color:white;border-radius:50%;height:48px;width:48px;display:grid;place-items:center;font-size:23px}.contact-line small{display:block;color:#7d858a;font-size:10px;font-weight:700;margin-bottom:7px}.contact-line strong{font:800 14px Manrope}.note{background:#f6f3ed;border-left:3px solid #b58329;padding:14px;font-size:11px!important;max-width:400px}.contact-form{border-radius:10px;border:1px solid #eee9e1;box-shadow:0 13px 35px #1b20210e;padding:32px}.contact-form h3{margin:0 0 5px;font-size:19px}.contact-form>p{font-size:12px;color:#939393;margin:0 0 23px}.contact-form label{display:block;font-size:12px;font-weight:700;margin-bottom:17px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;border:1px solid #e5e1db;background:white;color:#333;padding:13px 12px;border-radius:5px;margin-top:8px;outline:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#b78830}.two-inputs{display:grid;grid-template-columns:1fr 1fr;gap:15px}.send{width:100%}.contact-form>small{display:block;color:#969696;font-size:10px;line-height:1.6;margin-top:13px}.sms-feedback{font-size:11px!important;color:#326c34!important;background:#eff8ef;padding:10px;border-radius:4px;margin:12px 0!important}
footer{background:#24282a;color:white}.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;padding:52px 0}.foot-cols>div>strong{display:block;margin-bottom:15px;font:800 13px Manrope}.foot-cols a,.foot-cols p{display:block;color:#b9bdbf;font-size:12px;line-height:1.8;margin:5px 0}.foot-brand{display:flex;gap:16px;align-items:center}.foot-brand img{width:65px;height:65px;border-radius:50%;background:white}.foot-brand strong{font:800 14px Manrope}.foot-brand p{margin:8px 0 0}.foot-bottom{display:flex;justify-content:space-between;border-top:1px solid #404648;padding:23px 0;color:#a6aaad;font-size:10px}.foot-bottom button{background:none;border:0;color:#c1c4c6;font-size:10px}.overlay{position:fixed;inset:0;background:#0009;z-index:999;display:grid;place-items:center;padding:20px}.legal{background:white;color:#25272b;border-radius:10px;padding:35px;max-width:630px;max-height:90vh;overflow:auto;position:relative}.legal h2{font-size:25px}.legal p{font-size:13px;color:#61676c}.close{position:absolute;right:18px;top:18px;border:0;background:none;font-size:20px}
@media(max-width:1060px){.nav{gap:13px}.head-number{display:none}.experience-copy{padding-right:0}.hero-text h1{font-size:47px}}
@media(max-width:785px){.wrap{width:calc(100% - 36px)}.head-inner{min-height:74px}.branding img{width:54px;height:54px}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:14px 24px 25px;box-shadow:0 17px 30px #0002;flex-direction:column;align-items:stretch}.nav.opened{display:flex}.nav a{padding:12px;border-bottom:1px solid #eee}.head-quote{display:none}.burger{display:block}.hero-grid{grid-template-columns:1fr}.hero-text{padding:52px 0 34px}.hero-text h1{font-size:clamp(39px,7vw,55px)}.hero-image{height:325px;clip-path:none}.hero-image>img{height:100%}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div:nth-child(2){border:0}.cards{grid-template-columns:1fr 1fr}.experience-grid,.review-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.experience-photo{max-width:580px}.review-grid{gap:25px}.rating{max-width:360px}.section{padding:62px 0}.banner-inner{padding:35px 0;align-items:flex-start;flex-direction:column}.foot-cols{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}.photo-note{text-align:left}}
@media(max-width:520px){.hero-text h1{font-size:39px}.hero-buttons{display:grid;gap:9px}.hero-image{height:265px}.trust-grid{gap:13px}.trust-grid>div{gap:4px}.trust-icon{min-width:28px;font-size:23px}.trust-icon.stars{min-width:54px;font-size:12px}.trust-grid b{font-size:10px}.trust-grid small{font-size:9px}.section h2{font-size:32px}.cards{grid-template-columns:1fr}.card-photo{height:190px}.card p{min-height:0}.experience-photo>img{height:285px}.two-inputs{grid-template-columns:1fr;gap:0}.contact-form{padding:21px}.foot-cols{grid-template-columns:1fr}.foot-brand{grid-column:auto}.foot-bottom{gap:14px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Entire service card is a meaningful click target, including keyboard focus. */
.cards > a.card { display:block; color:inherit; text-decoration:none; cursor:pointer; }
.cards > a.card:focus-visible { outline:3px solid #b4832b;outline-offset:5px; }
.cards > a.card:hover .card-link,.cards > a.card:focus-visible .card-link {color:#825812;text-decoration:underline;text-underline-offset:3px;}
.card-link { display:inline-block; font-size:12px;font-weight:800;color:#aa771e; }

/* E-mail form confirmation / validation */
.contact-form .form-consent { display:flex; align-items:flex-start; gap:10px; line-height:1.6; font-size:11px; font-weight:500; color:#626870; margin:3px 0 19px; }
.contact-form .form-consent input { flex:0 0 17px; width:17px; height:17px; margin:1px 0 0; cursor:pointer; accent-color:#b4832b; }
.contact-form .send:disabled { opacity:.65; cursor:wait; }
.trap-field { position:absolute; left:-9999px; height:1px; width:1px; overflow:hidden; }
.email-feedback { margin:14px 0!important; font-size:12px!important; line-height:1.65; padding:13px 14px; border-radius:5px; }
.email-feedback.success { background:#edf7ed;color:#2c6539!important; }
.email-feedback.warning { background:#fff4df;color:#835619!important; }
.email-feedback.error { background:#fff0ed;color:#952f25!important; }


/* Real work media gallery, photo modal, and video */
.projects-section{background:#f9f7f3}
.projects-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:32px}
.projects-heading h2{margin:0 0 12px}
.projects-heading p{max-width:640px;font-size:14px;color:#677077;margin:0}
.projects-count{white-space:nowrap;letter-spacing:.14em;font:800 10px Manrope,sans-serif;color:#af822f;padding-bottom:6px}
.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:210px;gap:15px}
.project-tile{position:relative;display:block;min-width:0;overflow:hidden;border-radius:9px;border:0;padding:0;text-align:left;cursor:zoom-in;background:#e8e0d5;color:white;box-shadow:0 12px 25px #27231b12}
.project-tile.featured{grid-column:span 2;grid-row:span 2}
.project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.project-tile:hover img,.project-tile:focus-visible img{transform:scale(1.045)}
.project-tile:focus-visible{outline:3px solid #b58329;outline-offset:4px}
.project-tile:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(to top,#171b20c9 0%,#171b2000 100%);pointer-events:none}
.project-caption{position:absolute;z-index:1;left:18px;right:18px;bottom:18px;display:flex;justify-content:space-between;gap:9px;align-items:end}
.project-caption strong{display:block;font:800 14px Manrope,sans-serif;color:#fff}
.project-caption small{display:block;font-size:11px;color:#e3e3e3;margin-top:5px;line-height:1.4}
.project-zoom{display:grid;place-items:center;width:33px;height:33px;flex:none;border:1px solid #fff8;border-radius:50%;font-size:18px}
.project-tile.featured .project-caption strong{font-size:21px}
.project-video-section{display:grid;grid-template-columns:37% 63%;gap:5%;align-items:center;margin-top:57px}
.project-video-copy h3{font:800 clamp(25px,2.8vw,38px)/1.2 Manrope,sans-serif;letter-spacing:-.045em;margin:0 0 15px}
.project-video-copy p{color:#65717a;font-size:13px;margin-bottom:17px}
.project-video-wrapper{border-radius:9px;overflow:hidden;background:#26292b;box-shadow:0 18px 35px #1515151a;position:relative}
.project-video-wrapper video{display:block;aspect-ratio:16/9;width:100%;height:auto;object-fit:cover;background:#252525}
.project-video-credit{position:absolute;top:12px;left:12px;background:#171a1cb8;color:white;padding:7px 10px;border-radius:4px;font:800 9px Manrope,sans-serif;letter-spacing:.05em;pointer-events:none}
.project-lightbox{position:fixed;inset:0;z-index:900;background:#0c0d0fe9;display:grid;place-items:center;padding:25px;cursor:zoom-out}
.project-lightbox-content{position:relative;max-width:min(1120px,96vw);max-height:92vh;display:flex;flex-direction:column;align-items:center;cursor:default;gap:10px}
.project-lightbox-content img{display:block;max-width:100%;max-height:calc(92vh - 95px);object-fit:contain;border-radius:6px;box-shadow:0 6px 30px #0008}
.project-lightbox-close{position:absolute;top:8px;right:8px;background:#fff;color:#15181c;border:0;width:38px;height:38px;border-radius:50%;font-size:18px;font-weight:700}
.project-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#22252b;color:white;border-radius:7px;padding:10px 16px;width:min(550px,100%);text-align:center}
.project-lightbox-footer strong{display:block;font:700 13px Manrope}.project-lightbox-footer small{font-size:11px;color:#aaa;display:block;margin-top:2px}
.project-lightbox-footer button{border:1px solid #ffffff48;border-radius:6px;color:white;background:transparent;min-width:40px;height:36px;font-size:19px}
.project-lightbox-footer button:hover{background:#b58329}
@media(max-width:900px){.projects-grid{grid-auto-rows:180px}.project-video-section{gap:24px}.project-caption strong{font-size:12px}.project-caption small{font-size:10px}}
@media(max-width:690px){.projects-heading{display:block}.projects-count{display:block;margin-top:14px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px;gap:10px}.project-tile.featured{grid-column:span 2;grid-row:span 2}.project-caption{left:11px;right:11px;bottom:11px}.project-caption small{display:none}.project-tile.featured .project-caption small{display:block}.project-video-section{grid-template-columns:1fr;margin-top:36px}.project-video-copy{max-width:500px}.project-lightbox{padding:12px}.project-lightbox-content img{max-height:calc(90vh - 90px)}}
@media(max-width:390px){.projects-grid{grid-auto-rows:150px}.project-tile.featured{grid-row:span 2}}

[hidden]{display:none!important}
[hidden]{display:none!important}
