@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=optional');
:root{--bg:#171917;--panel:#1e211e;--text:#f3f0e8;--muted:#adb0a7;--gold:#c6a67e;--line:#383b34}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:7px}header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;background:#171917}.wordmark{font:600 52px/1 'Manrope',sans-serif;letter-spacing:-4px;display:inline-block}.wordmark span{display:block;font:10px/1.8 'DM Sans',sans-serif;letter-spacing:2.1px;margin-top:10px}nav{display:flex;gap:34px;font-size:14px}nav a:hover{color:var(--gold)}.header-cta{font-size:14px;border:1px solid #70624e;padding:13px 20px}.header-cta span{margin-left:28px;color:var(--gold)}.hero{height:730px;min-height:620px;position:relative}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,10,.78),rgba(7,12,10,.27) 60%,rgba(7,12,10,.12)),linear-gradient(0deg,rgba(7,12,10,.72),transparent 28%)}.hero-content{position:absolute;top:15%;left:7%;right:5%}.eyebrow{color:var(--gold);font-size:12px;letter-spacing:2.5px;font-weight:500;margin:0 0 24px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.12;margin:0}h1{font-size:clamp(46px,5.2vw,80px)}em{font-weight:400;color:#d4b992}h1 em{color:#ead5b6}.hero-description{color:#e1e1d8;margin:28px 0 34px;line-height:1.75}.button{background:var(--gold);color:#171917;padding:16px 24px;display:inline-flex;gap:50px;align-items:center;font-size:14px;font-weight:600;transition:background .2s}.button:hover{background:#dfc399}.hero-foot{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.9px;color:#e2e3dc}.hero-foot a{font-size:12px;letter-spacing:.4px}.hero-foot a span{margin-left:20px}.section{padding:105px 7%;max-width:1700px;margin:auto}h2{font-size:clamp(38px,3.7vw,58px)}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.intro-copy{padding-top:33px}.intro-copy p{color:var(--muted);margin:0 0 20px}.text-link{display:inline-flex;gap:40px;align-items:center;font-size:14px;border-bottom:1px solid #887458;padding:10px 0}.text-link span{color:var(--gold)}.qualities{margin:0 7%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;text-align:center;color:#c3c4ba;font-size:14px}.qualities span+span{border-left:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-heading>p{color:var(--muted);font-size:14px;margin:0 0 5px}.projects{display:grid;grid-template-columns:1.15fr 1fr;gap:45px 30px;align-items:start}.project img{width:100%;height:390px;object-fit:cover;display:block;transition:filter .3s}.project:hover img{filter:brightness(1.12)}.project:nth-child(2){margin-top:85px}.project:nth-child(3){margin-top:-65px}.project:nth-child(3) img{height:470px}.project:nth-child(4) img{height:330px}.project>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px}h3{font-weight:400;font-size:22px;line-height:1.3;margin:0 0 10px;font-family:Georgia,serif}.project span{font-size:12px;letter-spacing:1.5px;color:var(--gold)}.gallery-more{margin-top:48px;border-block:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:20px 0;color:var(--gold);display:flex;justify-content:space-between;font-size:14px}summary::-webkit-details-marker{display:none}.extra-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:10px 0 25px}.extra-gallery img{width:100%;height:240px;object-fit:cover;display:block}.detail-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--panel)}.detail-feature>img{width:100%;height:570px;object-fit:cover}.detail-feature>div{padding:90px 14% 65px}.detail-feature p:not(.eyebrow){color:var(--muted);margin:26px 0 22px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px}.steps article{border-top:1px solid var(--line);padding-top:25px}.steps article>span{color:var(--gold);font-size:14px;display:block;margin-bottom:30px}.steps h3{font-size:25px}.steps p{color:var(--muted);font-size:15px;max-width:290px}.contact{max-width:none;text-align:center;background:#22251f;border-top:1px solid var(--line);padding-block:95px}.contact h2{font-size:clamp(40px,4.4vw,68px)}.contact>p:not(.eyebrow){color:var(--muted);margin:25px 0 30px}.phone{display:block;margin-top:22px;letter-spacing:1.5px;font-size:16px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:45px 7%;font-size:13px;color:var(--muted)}footer .wordmark{color:var(--text);font-size:42px}footer>a:last-child{border-bottom:1px solid var(--line);padding-bottom:5px}
@media(min-width:1700px){.hero-content{left:max(7%,calc((100vw - 1460px)/2))}}@media(max-width:1000px){nav{gap:20px}.project>div{display:block}.detail-feature>div{padding:55px 10%}.intro{gap:7%}.hero-foot>span:last-child{display:none}}@media(max-width:720px){header{height:92px;padding:0 6%;gap:15px}.wordmark{font-size:42px}.wordmark span{font-size:8px;letter-spacing:1.3px}nav{display:none}.header-cta{padding:10px 12px;font-size:12px}.header-cta span{margin-left:8px}.hero{height:660px;min-height:0}.hero-content{top:13%;left:7%}h1{font-size:48px;letter-spacing:-1.8px}.eyebrow{font-size:12px;letter-spacing:1.6px;margin-bottom:22px}.hero-description{font-size:15px;margin:25px 0 30px}.hero>img{object-position:60% center}.shade{background:linear-gradient(90deg,rgba(7,12,10,.8),rgba(7,12,10,.35)),linear-gradient(0deg,rgba(7,12,10,.7),transparent 40%)}.hero-foot{bottom:24px;left:7%;right:7%}.hero-foot>span{display:none}.section{padding:65px 7%}.intro{grid-template-columns:1fr;gap:0}.intro-copy{padding-top:28px}.qualities{grid-template-columns:1fr 1fr;gap:18px 0;padding:24px 0;font-size:12px}.qualities span:nth-child(3){border:0}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px}.projects{grid-template-columns:1fr;gap:30px}.project:nth-child(n){margin:0}.project:nth-child(n) img{height:320px}.project>div{display:flex;flex-wrap:wrap}.project span{font-size:12px}.extra-gallery{grid-template-columns:1fr 1fr;gap:12px}.extra-gallery img{height:170px}.detail-feature{grid-template-columns:1fr}.detail-feature>img{height:330px}.detail-feature>div{padding:45px 7% 55px}.steps{grid-template-columns:1fr;gap:20px;margin-top:35px}.steps article{padding-top:20px}.steps article>span{margin-bottom:12px}.steps p{max-width:none}.contact{padding-block:65px}footer{flex-wrap:wrap;padding:35px 7%;gap:25px}footer>span{display:none}.button{min-height:52px}h2{letter-spacing:-1px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the full business name readable at every screen size. */
.wordmark,footer .wordmark{font-size:28px;line-height:1.2;letter-spacing:.2px;flex-shrink:0}.wordmark span{font-size:12px;letter-spacing:1px}
@media(max-width:1000px) and (min-width:721px){header{gap:20px}header .wordmark{max-width:200px;font-size:25px}header .wordmark span{font-size:11px}nav{gap:16px}.header-cta{padding:12px}.header-cta span{margin-left:8px}}
@media(max-width:720px){header .wordmark{font-size:20px;max-width:190px;flex-shrink:1}header .wordmark span{font-size:10px;letter-spacing:.5px}.header-cta{flex-shrink:0}footer .wordmark{font-size:24px}}

/* Horizontal black-and-gold brand artwork. */
header{height:120px}
.wordmark,footer .wordmark{display:block;width:300px;height:auto;max-width:100%;overflow:visible;background:transparent;flex-shrink:0;line-height:0}
.wordmark img{display:block;position:static;width:100%;height:auto;max-width:100%;object-fit:contain}
.detail-feature>img.brand-feature{height:auto;min-height:100%;aspect-ratio:1;object-fit:contain;background:#171917}
@media(max-width:1000px) and (min-width:721px){header{gap:18px}header .wordmark{width:240px;max-width:240px}nav{gap:14px}}
@media(max-width:720px){header{height:98px;padding:0 5%;gap:12px}header .wordmark{width:220px;max-width:calc(100% - 130px);flex-shrink:1}.header-cta{font-size:12px;padding:10px}.header-cta span{margin-left:5px}footer .wordmark{width:250px}.detail-feature>img.brand-feature{min-height:0;height:auto}}

@media(max-width:900px){header nav{display:none}}

/* Slow, restrained motion complements the charcoal and bronze palette. */
@media(prefers-reduced-motion:no-preference){
  .project img{transition:filter .7s ease,clip-path 1s cubic-bezier(.22,1,.36,1);clip-path:inset(0)}
  .button,.header-cta{transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}
  .text-link{transition:border-color .4s ease,color .4s ease}
  .button span,.text-link span,.header-cta span{display:inline-block;transition:transform .5s cubic-bezier(.22,1,.36,1)}
  @media(hover:hover){
    .project:hover img{clip-path:inset(5px);filter:brightness(1.06)}
    .button:hover,.header-cta:hover{box-shadow:0 5px 24px rgba(198,166,126,.12);border-color:var(--gold)}
    .button:hover span,.text-link:hover span,.header-cta:hover span{transform:translate(3px,-3px)}
    .text-link:hover{color:#ead5b6;border-color:#ead5b6}
  }
}

/* Two loaded image layers crossfade beneath the steady headline and shading. */
.hero{overflow:hidden}
.hero>img{position:absolute;inset:0;transition:opacity 1.8s ease-in-out}
.slideshow-control{position:absolute;top:22px;right:5%;z-index:2;min-height:44px;padding:10px 16px;border:1px solid rgba(198,166,126,.65);border-radius:0;background:rgba(15,19,16,.78);color:#f3f0e8;font:14px/1.4 'DM Sans',sans-serif;cursor:pointer}
.slideshow-control:hover{background:#171917;border-color:var(--gold)}
.slideshow-control:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
@media(max-width:720px){.slideshow-control{top:16px;font-size:14px}}

/* Full-screen brand entrance; the ordinary page remains the fallback. */
.brand-intro{display:none}

.brand-intro-pending .brand-intro{display:block;position:fixed;inset:0;z-index:1000;background:#171917;pointer-events:none;overflow:hidden}
.brand-intro img{position:absolute;left:50%;top:50%;width:min(84vw,1100px);height:auto;transform:translate(-50%,-50%)}
.brand-intro-pending body>header,.brand-intro-pending body>main,.brand-intro-pending body>footer{opacity:0;pointer-events:none}
.brand-intro-pending header .wordmark img{visibility:hidden}
@media(prefers-reduced-motion:reduce){
  .brand-intro-pending{overflow:visible}
  .brand-intro-pending .brand-intro{display:none}
  .brand-intro-pending body>header,.brand-intro-pending body>main,.brand-intro-pending body>footer{opacity:1;pointer-events:auto}
  .brand-intro-pending header .wordmark img{visibility:visible}
}

/* Designer attribution stays readable across screen sizes. */
footer{flex-wrap:wrap}footer a.design-credit{font-size:14px;line-height:1.6;color:var(--muted);max-width:100%;text-decoration:underline;text-underline-offset:4px;border:0;padding:0}footer a.design-credit:hover{color:var(--gold)}

/* Fixed media frames keep slideshow changes from moving the page. */
.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity 1.8s ease-in-out;pointer-events:none}
.hero>img.screen-capture{inset:auto;top:50%;left:50%;width:max(100%,1300px);height:auto;transform:translate(-50%,-50%)}
.project-films{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-top:48px}
.project-film{margin:0;min-width:0}
.project-film video{display:block;width:100%;height:480px;object-fit:contain;background:#111411;border:1px solid var(--line)}
.project-film video:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.project-film figcaption{margin-top:18px}
.project-film figcaption span{font-size:12px;letter-spacing:1.5px;color:var(--gold)}
.extra-gallery .screenshot-thumb{position:relative;display:block;height:240px;overflow:hidden}
.extra-gallery .screenshot-thumb img{position:absolute;top:50%;left:50%;width:max(100%,430px);height:auto;transform:translate(-50%,-50%)}
@media(max-width:720px){
  .hero>img.screen-capture{width:max(100%,1180px)}
  .project-films{grid-template-columns:1fr;gap:30px;margin-top:36px}
  .project-film video{height:auto;aspect-ratio:9/16;max-height:560px}
  .extra-gallery .screenshot-thumb{height:170px}
  .extra-gallery .screenshot-thumb img{width:max(100%,310px)}
}

/* About us follows the site's charcoal, bronze and serif styling. */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);column-gap:9%;row-gap:36px;border-bottom:1px solid var(--line)}
.about-heading>p:not(.eyebrow){margin:28px 0 0;color:var(--muted);max-width:42ch}
.about-copy p{margin:0 0 22px;color:var(--muted)}
.about-copy p:last-child{margin-bottom:0}
.about-values{grid-column:1/-1;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:6px 0 0;padding:26px 0;border-block:1px solid var(--line);color:var(--gold);font-size:14px}
.about-values li{margin:0}
.about-standard{grid-column:1/-1;margin:0;max-width:70ch}
@media(min-width:901px) and (max-width:1100px){header{gap:18px}header .wordmark{width:240px;max-width:240px}nav{gap:14px}.header-cta{padding:12px}.header-cta span{margin-left:8px}}
@media(max-width:720px){.about{grid-template-columns:1fr;row-gap:28px}.about-heading>p:not(.eyebrow){max-width:none}.about-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
