
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400&family=Lato:wght@400&family=Montserrat:wght@400&family=Playfair+Display:wght@400&display=swap');

:root{
  --ink:#151515;
  --muted:#68645d;
  --paper:#f4f2ed;
  --warm:#e9e5dc;
  --line:rgba(21,21,21,.16);
  --white:#fff;
  --lato:'Lato',Arial,sans-serif;
  --garamond:'EB Garamond',Georgia,serif;
  --playfair:'Playfair Display',Georgia,serif;
  --mont:'Montserrat',Arial,sans-serif;
  --proxima:'Proxima Nova','Arial Black',Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --ease-in-out:cubic-bezier(.76,0,.24,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--lato);font-weight:400;line-height:1.6}
body.is-loading{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{max-width:100%;display:block}
.container{width:min(1240px,calc(100% - 80px));margin:auto}
.section{padding:120px 0}
.eyebrow{font:400 10px var(--mont);letter-spacing:.22em;text-transform:uppercase;margin:0 0 24px}
.eyebrow.light{color:#fff}
h1,h2,h3,p{margin-top:0}
h1{font:400 clamp(58px,8vw,126px)/.92 var(--playfair);letter-spacing:-.04em}
h1 em,h2 em{font-family:var(--garamond);font-style:italic}
h2{font:400 clamp(44px,6vw,84px)/.96 var(--playfair);letter-spacing:-.035em}
h3{font:400 27px/1.1 var(--playfair)}
.kicker{font:400 10px var(--mont);letter-spacing:.2em;text-transform:uppercase}
.copy{color:var(--muted);font-size:16px;max-width:600px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 27px;border:1px solid var(--ink);font:400 10px var(--mont);letter-spacing:.16em;text-transform:uppercase;transition:.35s var(--ease)}
.button:hover{background:var(--ink);color:#fff}
.button-light{border-color:#fff;color:#fff}.button-light:hover{background:#fff;color:var(--ink)}
.text-link{display:inline-flex;gap:12px;align-items:center;font:400 10px var(--mont);letter-spacing:.16em;text-transform:uppercase}
.text-link span{font-size:17px;transition:transform .3s}.text-link:hover span{transform:translate(4px,-4px)}
.text-link.light{color:#fff}
.button-row{display:flex;align-items:center;gap:28px;margin-top:34px}

.site-header{position:fixed;top:0;left:0;right:0;z-index:500;height:92px;display:flex;align-items:center;transition:.45s var(--ease);color:#fff}
.site-header.scrolled{height:72px;background:rgba(244,242,237,.96);backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;width:100%}
.logo{font:900 15px var(--proxima);letter-spacing:.04em}
.logo small{display:block;font:400 7px var(--mont);letter-spacing:.3em;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:50px}
.nav-links a{font:400 9px var(--mont);letter-spacing:.15em;text-transform:uppercase;position:relative}
.nav-links a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:1px;background:currentColor;transition:.3s}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.menu-toggle{display:none;background:none;border:0;color:inherit}
.menu-toggle span{display:block;width:25px;height:1px;background:currentColor;margin:6px}

.hero{height:100svh;min-height:720px;position:relative;color:#fff;background:#222}
.hero-slides,.hero-slide,.hero-slide-image,.hero-slide-overlay{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;z-index:1;pointer-events:none;overflow:hidden}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:2;pointer-events:auto}
.hero-slide-image{background:center/cover no-repeat;transform:scale(1.09);transition:transform 7.5s var(--ease)}
.hero-slide.is-active .hero-slide-image{transform:scale(1)}
.hero-slide-overlay{background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.34) 58%,rgba(0,0,0,.12)),linear-gradient(0deg,rgba(0,0,0,.5),transparent 55%)}
.hero-content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:80px}
.hero-content h1{max-width:900px;margin-bottom:26px}
.hero-copy{max-width:520px;color:rgba(255,255,255,.8);font-size:16px}
.hero-slide .hero-content>*{opacity:0;transform:translateY(35px)}
.hero-slide.is-active .hero-content>*{opacity:1;transform:none}
.hero-slide.is-active .hero-content .eyebrow{transition:opacity .7s .15s,transform .8s .15s var(--ease)}
.hero-slide.is-active .hero-content h1{animation:heroTitle .9s var(--ease) .25s both}
.hero-slide.is-active .hero-content .hero-copy{animation:heroCopy .8s var(--ease) .4s both}
.hero-slide.is-active .hero-content .button-row{animation:heroCopy .8s var(--ease) .52s both}
@keyframes heroTitle{from{opacity:0;transform:translateY(55px)}to{opacity:1;transform:none}}
@keyframes heroCopy{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}

.hero-controls{position:absolute;z-index:20;right:40px;bottom:48px;display:flex;align-items:center;gap:18px}
.hero-arrow{width:44px;height:44px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;cursor:pointer;transition:.3s}
.hero-arrow:hover{background:#fff;color:#111}
.hero-pagination{display:flex;align-items:center;gap:8px}
.hero-dot{border:0;padding:0;width:28px;height:2px;background:rgba(255,255,255,.38);cursor:pointer;transition:.35s}
.hero-dot.is-active{width:56px;background:#fff}
.hero-progress{position:absolute;z-index:20;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.2)}
.hero-progress span{display:block;width:100%;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.hero-progress span.run{animation:progress 6.5s linear forwards}
@keyframes progress{to{transform:scaleX(1)}}

.scroll-indicator{position:absolute;z-index:30;left:40px;bottom:42px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;gap:9px;font:400 9px var(--mont);letter-spacing:.22em;text-transform:uppercase}
.scroll-label{animation:pulse 2s ease-in-out infinite}
.scroll-line{width:1px;height:64px;background:rgba(255,255,255,.3);overflow:hidden;position:relative}
.scroll-line:after{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:#fff;animation:scrollLine 2s cubic-bezier(.65,0,.35,1) infinite}
.scroll-arrow{font-size:15px;animation:scrollArrow 1.7s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.6}50%{opacity:1}}
@keyframes scrollLine{0%{top:-100%}55%,100%{top:100%}}
@keyframes scrollArrow{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}}

.intro{background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:80px}
.intro h2{max-width:650px;margin:0}
.intro .copy{margin-top:35px}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:60px;padding-top:28px;border-top:1px solid var(--line)}
.stat strong{display:block;font:400 43px var(--playfair)}.stat span{font:400 9px var(--mont);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}

.feature{background:#ddd8ce}
.feature-grid{display:grid;grid-template-columns:1.2fr .8fr;min-height:700px}
.feature-image{background:center/cover no-repeat;min-height:500px}.feature-content{padding:80px;display:flex;flex-direction:column;justify-content:center}
.feature-content h2{margin-bottom:25px}
.feature-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:35px 0;padding-top:24px;border-top:1px solid var(--line)}
.feature-meta span{display:block;font:400 9px var(--mont);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

.projects{background:var(--paper)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}
.section-head h2{margin:0}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 25px}
.project-card{overflow:hidden}.project-image{aspect-ratio:1.25;background:center/cover no-repeat;transition:transform .9s var(--ease)}.project-card:hover .project-image{transform:scale(1.035)}
.project-info{display:flex;justify-content:space-between;padding:19px 0;border-bottom:1px solid var(--line)}.project-info h3{margin:0;font-size:25px}.project-info p{margin:5px 0 0;color:var(--muted);font-size:12px}.project-no{font:400 9px var(--mont);letter-spacing:.15em;color:var(--muted)}

.services{background:#171717;color:#fff}.services .copy{color:rgba(255,255,255,.62)}
.service-list{margin-top:65px;border-top:1px solid rgba(255,255,255,.18)}
.service-item{display:grid;grid-template-columns:80px 1fr 1fr auto;gap:25px;align-items:center;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.service-num{font:400 11px var(--mont);letter-spacing:.15em;color:#aaa}.service-item h3{margin:0;font-size:31px}.service-item p{margin:0;color:#aaa;font-size:14px}.service-arrow{font-size:25px;transition:.3s}.service-item:hover .service-arrow{transform:translate(5px,-5px)}

.instagram{background:var(--warm)}
.instagram-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:50px}
.insta-tile{aspect-ratio:1;background:center/cover no-repeat;position:relative;overflow:hidden}.insta-tile:after{content:"Instagram ";position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;font:400 9px var(--mont);letter-spacing:.15em;text-transform:uppercase;opacity:0;transition:.35s}.insta-tile:hover:after{opacity:1}

.cta{background:#c9c2b5;padding:120px 0}.cta-inner{display:flex;justify-content:space-between;align-items:end;gap:50px}.cta h2{max-width:800px;margin:0}

.site-footer{background:#121212;color:#fff;padding:80px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:50px;padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.16)}.footer-title{font:400 9px var(--mont);letter-spacing:.18em;text-transform:uppercase;color:#aaa;margin-bottom:22px}.footer-grid a,.footer-grid p{font-size:13px;color:#ddd}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-brand{font:900 18px var(--proxima);letter-spacing:.04em}.footer-brand small{display:block;font:400 8px var(--mont);letter-spacing:.25em;margin-top:5px;color:#aaa}.footer-bottom{display:flex;justify-content:space-between;padding-top:25px;color:#777;font-size:10px}

.page-hero{min-height:580px;background:#1b1b1b;color:#fff;display:flex;align-items:end;padding:130px 0 90px}.page-hero h1{margin:0;max-width:900px}
.content-two{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}
.content-two h2{margin-top:0}
.image-block{min-height:620px;background:center/cover no-repeat}
.process{counter-reset:process}.process-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:30px;padding:45px 0;border-top:1px solid var(--line)}.process-row:last-child{border-bottom:1px solid var(--line)}.process-no{font:400 10px var(--mont);letter-spacing:.15em}.process-row h3{margin:0}.process-row p{color:var(--muted);margin:0}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.contact-details{display:flex;flex-direction:column;gap:35px}.contact-detail span{display:block;color:var(--muted);font:400 9px var(--mont);letter-spacing:.15em;text-transform:uppercase;margin-bottom:7px}.contact-detail a{font-size:18px}.form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font:400 9px var(--mont);letter-spacing:.15em;text-transform:uppercase}.field input,.field textarea,.field select{background:transparent;border:0;border-bottom:1px solid var(--line);padding:12px 0;outline:0;border-radius:0}.field textarea{min-height:130px;resize:vertical}.form .button{margin-top:12px;cursor:pointer}

.site-preloader{position:fixed;inset:0;z-index:9999;background:#111;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:38px 40px;overflow:hidden}
.preloader-image-wrap{position:absolute;inset:0;overflow:hidden}.preloader-image{position:absolute;inset:-5%;background:center/cover no-repeat;transform:scale(1.08);animation:preloadZoom 2.8s var(--ease) forwards}.preloader-image-wrap:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45)}
.preloader-top,.preloader-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;font:400 9px var(--mont);letter-spacing:.2em;text-transform:uppercase}.preloader-brand{font:900 14px var(--proxima)}.preloader-line{width:min(40vw,520px);height:1px;background:rgba(255,255,255,.35);margin-left:25px;overflow:hidden}.preloader-line i{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .4s}
.site-preloader.is-ready .preloader-image{animation:preloadExit 1.05s var(--ease-in-out) forwards}.site-preloader.is-ready .preloader-top,.site-preloader.is-ready .preloader-bottom{animation:preloadTextExit .8s var(--ease-in-out) forwards}.site-preloader.is-hidden{pointer-events:none;animation:curtainExit 1.05s var(--ease-in-out) forwards}
@keyframes preloadZoom{to{transform:scale(1)}}@keyframes preloadExit{to{transform:scale(1.08);opacity:0}}@keyframes preloadTextExit{to{transform:translateY(-20px);opacity:0}}@keyframes curtainExit{to{clip-path:inset(0 0 100% 0)}}

.reveal{opacity:0;transform:translateY(45px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}
.image-reveal{overflow:hidden}.image-reveal>*{transform:scale(1.08);transition:transform 1.2s var(--ease)}.image-reveal.visible>*{transform:scale(1)}

@media(max-width:900px){
  .container{width:min(100% - 36px,1240px)}
  .site-header{height:75px}.nav-links{display:none}.menu-toggle{display:block}
  .nav-links.open{position:absolute;top:75px;left:0;right:0;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;padding:30px 18px;border-top:1px solid var(--line)}
  .hero{min-height:650px}.hero-controls{right:18px;bottom:28px}.scroll-indicator{left:18px;bottom:28px}
  .intro-grid,.feature-grid,.content-two,.contact-grid{grid-template-columns:1fr;gap:50px}.feature-content{padding:60px 25px}.feature-image{min-height:420px}
  .project-grid{grid-template-columns:1fr}.service-item{grid-template-columns:45px 1fr auto}.service-item p{display:none}
  .instagram-grid{grid-template-columns:repeat(2,1fr)}.cta-inner{display:block}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}
  .process-row{grid-template-columns:50px 1fr}.process-row p{grid-column:2}
}
@media(max-width:560px){
  .section{padding:85px 0}.hero{min-height:620px}.hero-content h1{font-size:54px}.hero-copy{font-size:14px}.button-row{align-items:flex-start;flex-direction:column;gap:18px}
  .hero-arrow{width:36px;height:36px}.hero-dot{width:18px}.hero-dot.is-active{width:34px}
  .scroll-line{height:42px}.stat-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
  .form{grid-template-columns:1fr}.field.full{grid-column:auto}.preloader-line{width:34vw;margin-left:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.site-preloader{display:none}.site-preloader.is-hidden{display:none}.hero-slide-image,.hero-slide.is-active .hero-content h1,.hero-slide.is-active .hero-content .hero-copy,.hero-slide.is-active .hero-content .button-row,.scroll-label,.scroll-line:after,.scroll-arrow,.reveal,.image-reveal>*{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}


/* ===== Reno Build refinement pass ===== */
:root{--brand-red:#b3261e;--header-pad:64px}
.site-header{height:104px;padding:0 var(--header-pad)}
.site-header.scrolled{height:82px}
.site-header .container{width:min(1380px,calc(100% - 20px))}
.logo{font-size:20px;line-height:1.05}
.logo small{font-size:8px;letter-spacing:.32em}
.nav-links{gap:38px}
.nav-links a{font-size:10px;letter-spacing:.16em}
.nav-links a:last-child{padding:14px 20px;border:1px solid currentColor}
.hero-content{padding-top:105px}
.hero-controls{left:50%;right:auto;bottom:38px;transform:translateX(-50%);gap:16px}
.hero-pagination{order:2}
.hero-arrow{order:1}
.hero-arrow.hero-next{order:3}
.hero-dot{height:3px;width:34px}
.hero-dot.is-active{width:68px}
.scroll-indicator{left:auto;right:58px;bottom:46px;align-items:center}
.scroll-line{height:62px}
.scroll-arrow{line-height:1}
.hero-progress{bottom:0}
.hero-cta-red{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
.hero-cta-red:hover{background:#8f1e18;border-color:#8f1e18;color:#fff}
.project-card{position:relative}
.project-card .project-image-wrap{position:relative;overflow:hidden}
.view-project{display:inline-flex;align-items:center;justify-content:center;position:absolute;left:18px;bottom:18px;z-index:3;background:#fff;color:#111;padding:12px 16px;font:400 9px var(--mont);letter-spacing:.15em;text-transform:uppercase;transform:translateY(8px);opacity:0;transition:.35s var(--ease)}
.project-card:hover .view-project{opacity:1;transform:none}
.project-card .project-image{height:100%}
.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-top:0}
.service-item{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:285px;padding:30px;border:1px solid rgba(255,255,255,.18);gap:20px}
.service-item h3{font-size:28px;margin-top:auto}
.service-item p{display:block;margin:0!important}
.service-item .service-arrow{margin-top:auto}
.services .service-item:hover{background:rgba(255,255,255,.04)}
.site-preloader{padding:46px 64px;background:#111}
.preloader-logo-lockup{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.preloader-logo-main{font:900 clamp(24px,3vw,46px) var(--proxima);letter-spacing:.045em}
.preloader-logo-sub{font:400 9px var(--mont);letter-spacing:.42em;margin-top:8px}
.preloader-logo-mark{width:42px;height:1px;background:#fff;margin:22px auto 0;animation:logoMark 1.5s ease-in-out infinite}
@keyframes logoMark{0%,100%{transform:scaleX(.35);opacity:.45}50%{transform:scaleX(1);opacity:1}}
.preloader-image{filter:grayscale(.12)}
.preloader-image-wrap:after{background:rgba(0,0,0,.52)}
@media(max-width:900px){
  .site-header{padding:0 18px}
  .nav-links{gap:0}
  .hero-controls{bottom:30px}
  .scroll-indicator{right:22px;bottom:33px}
  .service-list{grid-template-columns:1fr}
  .service-item{min-height:220px}
}
@media(max-width:560px){
  .site-header{height:78px}
  .logo{font-size:17px}
  .hero-controls{bottom:22px}
  .scroll-indicator{right:18px;bottom:78px}
  .site-preloader{padding:28px 20px}
}
