@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{--ink:#171918;--paper:#f5f5f1;--lime:#dfff00;--muted:#666a65;--line:#d8dbd4;--space:clamp(22px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7d9200;outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.skip{position:fixed;z-index:100;left:12px;top:-80px;background:var(--lime);padding:12px}.skip:focus{top:12px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space);background:var(--ink);color:white;border-bottom:1px solid #ffffff25;position:relative;z-index:20}.wordmark{font:800 35px/1 'Manrope',Arial,sans-serif;letter-spacing:-2px}.wordmark span{font-size:13px;vertical-align:top;margin-left:5px;letter-spacing:0}nav{display:flex;gap:clamp(16px,2vw,32px);align-items:center}nav a{font-size:14px}nav a:hover,nav a[aria-current]{color:var(--lime)}.menu-toggle{display:none}.hero{padding:42px var(--space) 0;background:var(--ink);color:white}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.eyebrow{font-size:13px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;margin:0 0 22px}.hero-top .eyebrow{margin:0}.hero-index{font-size:12px;letter-spacing:1px;color:#adb1aa}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}h1{font-size:clamp(66px,10.6vw,165px);font-weight:500;line-height:.99;letter-spacing:-.075em;margin:52px 0 40px}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}h1 .hero-period{display:inline-block;color:var(--lime);font-size:.8em;margin-left:30px;vertical-align:middle;line-height:.4}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-bottom:55px;gap:25px}.hero-bottom p{color:#c4c9c0;margin:0;font-size:18px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;padding:16px 23px;border-radius:2px;font-size:15px;font-weight:600;border:1px solid currentColor;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}.dark{background:var(--ink);color:white;border-color:var(--ink)}.hero-feature{position:relative;margin:0 calc(-1 * var(--space));background:#ccc}.hero-feature>img{height:clamp(330px,45vw,690px);object-fit:cover}.feature-caption{position:absolute;bottom:0;left:0;right:0;padding:60px var(--space) 24px;display:flex;justify-content:space-between;gap:24px;background:linear-gradient(transparent,#000b);font-size:13px}.section{padding:100px var(--space)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px}.section-heading h2{margin:0;font-size:clamp(38px,5vw,70px);font-weight:500;line-height:1.1;letter-spacing:-.055em}.section-heading>p{color:var(--muted);margin:0 0 6px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px 28px}.project-image{position:relative;overflow:hidden;background:#e0e2de;aspect-ratio:1.4}.project-image img{height:100%;object-fit:cover;transition:transform .5s}.project-card:hover .project-image img{transform:scale(1.025)}.card-open{position:absolute;right:20px;bottom:20px;background:var(--paper);border-radius:50%;height:45px;width:45px;display:grid;place-items:center;font-size:25px}.card-caption{display:flex;gap:20px;justify-content:space-between;align-items:baseline;padding-top:18px}.card-caption h3{font-size:23px;font-weight:600;letter-spacing:-.8px;margin:0}.card-caption>span{font-size:14px;color:var(--muted)}footer{background:var(--ink);color:#f5f5f1;padding:65px var(--space) 25px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;padding-bottom:60px}.footer-top p{line-height:1.4}.footer-top>a:last-child{border-bottom:1px solid #77806d}.footer-bottom{border-top:1px solid #ffffff25;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#b7bdb0}.page-intro{padding:75px var(--space) 65px}.page-intro h1{font-size:clamp(55px,8vw,112px);margin:20px 0 30px;max-width:1150px}.page-intro .lead{font-size:clamp(20px,2vw,27px);max-width:760px;color:#565c54;line-height:1.5}.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:28px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.split h2{font-size:clamp(36px,4vw,60px);line-height:1.15;letter-spacing:-.05em;font-weight:500}.split p{max-width:610px}.text-link{display:inline-block;border-bottom:1px solid;padding-bottom:5px;font-size:16px}.portrait{max-height:660px;object-fit:cover}.dark-section{background:var(--ink);color:var(--paper)}.dark-section .muted{color:#b6bcb0}.lime-section{background:var(--lime)}.autoral-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.autoral-pair img{height:440px;object-fit:cover}.autoral-pair img:last-child{margin-top:65px}.portal-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.portal{padding:55px 0}.portal:first-child{padding-right:60px;border-right:1px solid var(--line)}.portal:last-child{padding-left:60px}.portal h3{font-size:35px;font-weight:500;letter-spacing:-1px}.portal p{max-width:430px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line);padding-top:35px;margin-top:65px}.services h3{font-size:21px}.services p{color:var(--muted);font-size:16px}.services .number{display:block;font-size:13px;margin-bottom:35px}.case-media{padding:0 var(--space) 70px}.case-media>img,.case-media>video{width:100%;max-height:900px;object-fit:contain;background:#e8eae4}.case-media video{display:block;aspect-ratio:16/9;background:#101211}.caption{font-size:13px;color:var(--muted);margin-top:12px}.case-info{display:grid;grid-template-columns:1.5fr 1fr;gap:10vw;padding:0 var(--space) 80px}.case-info h2{font-size:31px;line-height:1.25;letter-spacing:-1px;font-weight:500}.case-info dl{margin:0}.case-info dt{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:20px}.case-info dd{margin:5px 0 22px}.next-case{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:40px var(--space)}.next-case strong{font-size:26px;font-weight:500}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery figure{margin:0}.gallery img{aspect-ratio:3/4;object-fit:cover}.gallery figcaption{font-size:15px;margin-top:12px}.notice{border-left:3px solid var(--ink);padding:5px 0 5px 22px;max-width:800px;color:var(--muted);font-size:16px}.shop-panels{display:grid;grid-template-columns:1fr 1fr;gap:30px}.shop-panel{padding:45px;background:#e9ece3;display:flex;flex-direction:column;align-items:flex-start}.shop-panel h2{font-size:38px;line-height:1.2;letter-spacing:-1.5px}.shop-panel p{max-width:520px}.shop-panel .button{margin-top:auto}.tag{font-size:12px;text-transform:uppercase;letter-spacing:1px;display:inline-block;margin-bottom:25px;border:1px solid;padding:5px 10px}.category-list{list-style:none;padding:0;width:100%;margin:0 0 35px}.category-list li{border-bottom:1px solid #bbc3ae;padding:10px 0}.family-title{font-family:Georgia,serif!important;letter-spacing:-.04em!important}.family-statement{font-family:Georgia,serif;font-size:clamp(35px,4.5vw,68px);line-height:1.2;max-width:1020px;letter-spacing:-2px}.contact-list{border-top:1px solid var(--line)}.contact-list>a{display:flex;justify-content:space-between;align-items:center;padding:25px 0;border-bottom:1px solid var(--line);gap:25px}.contact-list strong{font-size:clamp(22px,3vw,38px);letter-spacing:-1px;font-weight:500;overflow-wrap:anywhere}.contact-list span{font-size:14px}.socials{display:flex;gap:25px;flex-wrap:wrap;margin-top:30px}.socials a{border-bottom:1px solid}.no-top{padding-top:0}.text-muted{color:var(--muted)}
@media(min-width:1500px){body{max-width:2000px;margin:auto}}@media(max-width:1000px){header{height:85px}.wordmark{font-size:29px}nav{gap:16px}nav a{font-size:13px}.hero-index{display:none}.card-caption{display:block}.card-caption>span{display:block;margin-top:5px}.split{gap:40px}.autoral-pair img{height:330px}.footer-top{flex-wrap:wrap}}@media(max-width:760px){header{height:78px}.menu-toggle{display:flex;gap:20px;align-items:center;border:1px solid #ffffff55;background:none;color:white;padding:7px 12px;font-size:14px}.menu-toggle span{font-size:23px;line-height:1}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--ink);padding:20px var(--space) 30px;box-shadow:0 18px 20px #0002}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:12px 0;font-size:18px;border-bottom:1px solid #ffffff25}.hero{padding-top:30px}.hero-top .eyebrow{font-size:11px;letter-spacing:.7px}.hero h1{margin:40px 0 30px;font-size:clamp(60px,14vw,102px)}h1 .hero-period{margin-left:15px}.hero-bottom{align-items:flex-start;flex-direction:column;margin-bottom:40px}.hero-bottom p{font-size:16px}.hero-feature>img{height:360px}.feature-caption{font-size:11px;padding-bottom:18px;align-items:flex-end}.feature-caption>span:nth-child(2){display:none}.section{padding:65px var(--space)}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:35px}.project-grid,.split,.portal-grid,.shop-panels,.case-info{grid-template-columns:1fr}.project-grid{gap:35px}.project-image{aspect-ratio:1.25}.card-caption h3{font-size:22px}.split{gap:35px}.services{grid-template-columns:1fr;gap:20px;margin-top:40px}.services .number{margin-bottom:10px}.services>div{border-bottom:1px solid var(--line)}.autoral-pair img{height:290px}.portal:first-child{padding:35px 0;border-right:0;border-bottom:1px solid var(--line)}.portal:last-child{padding:35px 0}.footer-top{flex-direction:column;padding-bottom:30px;gap:24px}.footer-top p{margin-bottom:0}.footer-bottom{flex-direction:column;gap:8px}.page-intro{padding:50px var(--space) 35px}.page-intro h1{font-size:clamp(48px,12vw,80px)}.page-intro .lead{font-size:20px}.case-info{padding-bottom:40px;gap:25px}.case-media{padding-bottom:40px}.gallery{grid-template-columns:1fr 1fr;gap:25px 14px}.gallery figcaption{font-size:14px}.shop-panel{padding:30px}.contact-list>a{align-items:flex-start;flex-direction:column;gap:5px}.no-top{padding-top:0}.next-case{gap:20px}.next-case strong{font-size:21px}.family-statement{letter-spacing:-1px}.hero-feature>img{object-position:center}.notice{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.footer-contact{display:flex;flex-direction:column;gap:12px}.footer-contact>a:first-child{color:var(--lime)}.footer-contact>a:last-child{font-size:14px;color:#c3c8bc}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:40;background:var(--lime);color:var(--ink);padding:12px 18px;border:1px solid #171918;border-radius:4px;box-shadow:0 3px 18px #0002;font-size:14px;font-weight:700;display:flex;gap:24px}.whatsapp-float:hover{background:white}.contact-primary{margin-bottom:35px}.social-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:9vw;align-items:center;border-bottom:1px solid var(--line)}.social-feature h2,.atelier-intro h2{font-size:clamp(36px,4vw,62px);font-weight:500;letter-spacing:-.055em;line-height:1.1}.social-stat{border-left:5px solid var(--lime);padding-left:35px;display:flex;flex-direction:column;align-items:flex-start}.social-stat strong{font:500 clamp(70px,8vw,128px)/1 'Manrope',Arial,sans-serif;letter-spacing:-.075em}.social-stat span{font-size:20px;margin:20px 0 15px}.social-stat a{font-size:16px;border-bottom:1px solid}.social-feature p:not(.eyebrow){max-width:620px}.social-feature.compact .caption{margin-bottom:0}.atelier-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}.atelier-intro img{aspect-ratio:1.15;object-fit:cover}.atelier-heading{margin-top:80px}.rolhecos-gallery img{object-fit:cover;background:#e8e9e7;aspect-ratio:3/4}.rolhecos-gallery figcaption strong{display:block;font-weight:500;font-size:18px;line-height:1.4}.rolhecos-gallery figcaption a{font-size:14px;margin-top:10px}.atelier-gallery-section>img{margin-top:55px;max-height:600px;object-fit:cover}.shop-jumps{display:flex;flex-wrap:wrap;gap:20px 40px;margin-top:40px}.acervo-section{background:#e9ece3}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.market-card{background:var(--paper);display:flex;flex-direction:column}.market-photo{display:block;aspect-ratio:1.1;background:white}.market-photo img{height:100%;width:100%;object-fit:cover;padding:0}.market-content{padding:27px;display:flex;flex-direction:column;flex:1}.market-content .eyebrow{font-size:12px;letter-spacing:.6px;margin-bottom:12px}.market-content h3{font-size:25px;letter-spacing:-1px;line-height:1.25;font-weight:600}.market-content p{font-size:16px}.market-content .condition{font-size:14px;color:#585e52;border-top:1px solid var(--line);padding-top:16px}.market-content .button{margin-top:auto;font-size:14px;gap:12px;padding:13px 16px}.acervo-more{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:45px}.acervo-more p{max-width:660px;margin:0}.acervo-more a{flex-shrink:0}footer{padding-bottom:95px}
@media(max-width:1000px){.market-grid{gap:15px}.market-content{padding:20px}.market-content h3{font-size:22px}.market-content .button{font-size:13px}.acervo-more{align-items:flex-start;flex-direction:column;gap:15px}}
@media(max-width:760px){.social-feature,.atelier-intro,.market-grid{grid-template-columns:1fr;gap:35px}.social-stat{padding-left:25px}.social-stat strong{font-size:88px}.social-stat span{font-size:18px}.atelier-heading{margin-top:55px}.market-photo{aspect-ratio:1.3}.market-content{padding:25px}.market-content .button{font-size:15px}.whatsapp-float{right:16px;bottom:16px;padding:10px 16px}.rolhecos-gallery figcaption strong{font-size:16px}.rolhecos-gallery figcaption a{font-size:14px;line-height:1.5}.social-feature .caption{font-size:13px}.atelier-gallery-section>img{margin-top:35px}.market-content h3{font-size:25px}}

/* Full-bleed photography, with a restrained hover response. */
main img{object-fit:cover;transition:transform .35s ease,filter .35s ease}
.case-media>img{object-fit:cover}
.market-photo{overflow:hidden}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
main img:hover{transform:translateY(-3px);filter:brightness(1.035)}
.project-card:hover .project-image img,.market-photo:hover img{transform:scale(1.025)}
}

.social-feature.has-video{grid-template-columns:minmax(180px,.65fr) minmax(300px,1.1fr) minmax(210px,.55fr);gap:4vw}
.social-feature.has-video .social-stat strong{font-size:clamp(62px,6vw,100px)}
.social-video{width:100%;max-width:360px;justify-self:center}
.social-video iframe{display:block;width:100%;aspect-ratio:9/16;border:0;background:#111}
.social-video>a{margin-top:12px}
@media(max-width:1100px){.social-feature.has-video{grid-template-columns:1fr 1fr}.social-feature.has-video .social-video{grid-column:2}}
@media(max-width:760px){.social-feature.has-video{grid-template-columns:1fr}.social-feature.has-video .social-video{grid-column:1;justify-self:start;width:min(100%,320px)}}

/* Immersive home hero. */
.home-page>header{position:absolute;inset:0 0 auto;background:transparent;border-bottom:1px solid #ffffff30;z-index:20}
.hero-motion{position:relative;isolation:isolate;min-height:640px;height:100svh;padding:150px var(--space) 100px;display:flex;align-items:center;overflow:hidden;background:#76051c}
.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-video{object-fit:cover;object-position:70% center}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(25,0,7,.55),rgba(25,0,7,.12) 62%,transparent),linear-gradient(0deg,rgba(25,0,7,.35),transparent 25%)}
.hero-copy{width:min(600px,55%)}
.hero-copy .eyebrow{font-size:12px;letter-spacing:1.5px;line-height:1.7;color:#ffffffc9}
.hero-copy h1{font-size:clamp(62px,7.5vw,112px);margin:22px 0 32px;line-height:1.02}
.hero-copy .hero-period{color:var(--lime);margin-left:18px}
.hero-conversation{font-size:clamp(18px,1.8vw,25px);line-height:1.4;min-height:2.8em;max-width:510px;white-space:pre-line;margin-bottom:30px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}




.hero-foot{position:absolute;bottom:28px;left:var(--space);right:var(--space);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:#ffffffe0}

.hero-motion a:focus-visible,.hero-motion button:focus-visible,.home-page>header a:focus-visible{outline-color:white}
@media(max-width:1000px){.hero-copy{width:60%}.hero-copy .eyebrow{max-width:340px}.hero-copy h1{font-size:76px}}
@media(max-width:760px){.hero-motion{height:100svh;min-height:740px;padding:110px var(--space) 95px;align-items:flex-end}.hero-video{object-position:85% center}.hero-shade{background:linear-gradient(0deg,rgba(35,0,9,.93),rgba(35,0,9,.63) 40%,rgba(35,0,9,.02) 78%)}.hero-copy{width:100%}.hero-copy h1{font-size:clamp(44px,12vw,80px);margin:16px 0 22px}.hero-copy .eyebrow{font-size:12px;margin-bottom:0}.hero-conversation{font-size:18px;max-width:360px;margin-bottom:22px}.hero-foot>span{display:none}.hero-foot{bottom:22px}.home-page nav.open{background:#20030ef5}.hero-foot>a{margin-left:auto}}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:hero-in .7s ease both}.hero-actions{animation:hero-in .6s .4s ease both}@keyframes hero-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}

.home-page{position:relative}
.hero-actions .button{padding:14px 20px;font-size:15px;border-radius:2px;line-height:1.4}
.hero-secondary{background:transparent;color:white;border-color:#ffffffa0}
.hero-secondary:hover{background:white;color:var(--ink)}
.hero-in-view .whatsapp-float{visibility:hidden;pointer-events:none}
@media(max-width:760px){.hero-actions{gap:10px}.hero-actions .button{padding:12px 16px;font-size:14px}.hero-foot>a{margin-left:0}}
