@font-face{font-family:Playfair;src:url('assets/playfair.ttf') format('truetype');font-display:swap;font-weight:400}@font-face{font-family:DM;src:url('assets/dm-sans.ttf') format('truetype');font-display:swap;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f1e9;color:#242923;font-family:DM,Arial,sans-serif;font-size:15px;line-height:1.65}::selection{background:#c9ae75;color:#19221d}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:Playfair,Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-.025em}em{font-weight:400}h2{font-size:clamp(3rem,5vw,5.5rem)}.skip-link{position:absolute;top:-100px;left:1rem;background:#fff;padding:1rem;z-index:50}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:2px solid #c29c4c;outline-offset:5px}.header{height:100px;padding:0 6.1%;display:flex;align-items:center;justify-content:space-between;background:#202a24;color:#f7f4eb}.brand img{width:95px;height:78px;object-fit:contain}.header nav{display:flex;align-items:center;gap:44px;font-size:13px}.header nav>a:not(.nav-contact){color:#e9e9df;transition:color .2s}.header nav>a:hover{color:#d2b883}.nav-contact{border:1px solid #a69b7d;padding:12px 18px}.nav-contact span,.button span{margin-left:25px}.menu-toggle{display:none}.hero{background:#202a24;color:#f7f4eb;display:grid;grid-template-columns:43% 57%;min-height:650px;padding:0 0 38px 6.1%}.hero-copy{padding:92px 8% 25px 0;display:flex;flex-direction:column;align-items:flex-start}.hero-intro,.section-label{font-size:10px;font-weight:700;letter-spacing:.16em}.hero-intro{color:#d9c9aa}.hero-intro span{padding:0 6px;color:#bc9d62}.hero h1{font-size:clamp(4rem,5.55vw,6rem);max-width:650px;margin:31px 0 25px}.hero h1 em,.contact h2 em{color:#c9ae75}.hero-copy>p{max-width:350px;color:#d1d3c9;font-size:16px}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:16px 21px;font-size:12px;font-weight:700;letter-spacing:.025em;transition:background .2s,color .2s}.button-light{background:#f0e9da;color:#252c25;margin-top:35px}.button-light:hover{background:#d2b883}.scroll-cue{margin-top:auto;padding-top:55px;color:#c2c8bb;font-size:11px;display:flex;align-items:center;gap:12px}.scroll-cue span{width:35px;height:1px;background:#a9966c}.hero-image{position:relative;min-height:600px;overflow:hidden}.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 28px 20px;display:flex;justify-content:space-between;gap:20px;color:white;font-size:9px;letter-spacing:.14em;background:linear-gradient(transparent,rgba(14,20,16,.65))}.section-pad{padding:130px 8%}.section-label{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:15px;color:#505e50}.section-label span{font-size:18px;line-height:1}.intro .section-label{max-width:220px}.intro-main{display:grid;grid-template-columns:1.05fr 1fr;gap:10%;padding-top:50px}.intro-main h2 em,.projects h2 em,.services h2 em{color:#64715f}.intro-text{max-width:520px;padding-top:8px;color:#5c6259}.intro-text .lead{font-family:Playfair,Georgia,serif;color:#292e27;font-size:24px;line-height:1.4;margin-bottom:26px}.intro-text p+p{line-height:1.85}.text-link{display:inline-block;border-bottom:1px solid #8c987f;padding-bottom:8px;margin-top:33px;font-weight:700;font-size:12px;color:#303a30}.text-link span{margin-left:28px}.intro-bottom{display:flex;justify-content:space-between;border-top:1px solid #d4d5c9;margin-top:110px;padding-top:17px;color:#758072;font-size:10px;letter-spacing:.13em}.projects{background:#e5e8de}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:58px}.section-top .section-label{max-width:220px;margin-bottom:34px}.section-top>p{max-width:270px;color:#5f685c}.project-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:6%;align-items:start}.project-small{padding-top:135px}.project-image{overflow:hidden;background:#ccd0c7}.project-large .project-image{height:560px}.project-small .project-image{height:390px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.project:hover img{transform:scale(1.035)}figcaption{display:flex;justify-content:space-between;align-items:center;padding-top:21px}figcaption span:first-child{font-size:10px;letter-spacing:.13em;color:#535e51}figcaption h3{font:400 23px Playfair,Georgia,serif;margin-top:6px}.project-arrow{font-size:22px;color:#6a7668}.project-note{border-top:1px solid #bbc3b5;margin-top:90px;padding-top:20px;display:flex;justify-content:space-between;color:#536052;font-size:12px}.project-note span{font-size:10px;letter-spacing:.13em}.services{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#f4f1e9}.services .section-label{max-width:220px;margin-bottom:40px}.services-heading>p{max-width:390px;color:#626a60;margin-top:28px}.services-list{padding-top:12px}.services-list>div{display:grid;grid-template-columns:35px 1fr;column-gap:18px;border-top:1px solid #c8cbbf;padding:25px 0 31px}.services-list>div:last-child{border-bottom:1px solid #c8cbbf}.services-list span{font-size:10px;color:#5d6b5d;padding-top:8px}.services-list h3{font:400 25px Playfair,Georgia,serif}.services-list p{grid-column:2;color:#697067;max-width:400px;margin-top:10px}.contact{background:#d6dccc;padding:110px 8%}.contact-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:end}.contact .section-label{max-width:220px;margin-bottom:40px}.contact h2{font-size:clamp(3.5rem,6vw,6rem)}.contact h2 em{color:#566b55}.contact-inner>div:first-child>p{margin-top:24px;color:#4c5b4d}.button-dark{background:#263329;color:#f7f4eb;margin-top:33px}.button-dark:hover{background:#435546}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-bottom:5px}.contact-details span{display:block;font-size:10px;letter-spacing:.13em;color:#50604f;margin-bottom:10px}.contact-details a,.contact-details p{font-size:15px}.contact-details a:hover{text-decoration:underline}footer{background:#202a24;color:#e8e8dc;padding:55px 8% 24px}.footer-brand img{width:100px;height:85px;object-fit:contain}footer>p{color:#bdc6b9;margin-top:8px}.footer-links{display:flex;gap:30px;justify-content:flex-end;font-size:12px;margin-top:-30px}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #596358;display:flex;justify-content:space-between;margin-top:70px;padding-top:20px;font-size:9px;letter-spacing:.14em;color:#bbc4b8}@media(max-width:900px){.header{height:82px}.header nav{gap:20px}.hero{grid-template-columns:1fr 1fr;min-height:570px}.hero-copy{padding-top:70px}.hero h1{font-size:clamp(3.3rem,6vw,5rem)}.hero-image{min-height:550px}.section-pad{padding:90px 7%}.project-large .project-image{height:440px}.project-small .project-image{height:330px}.services{gap:7%}}@media(max-width:680px){.header{padding:0 6%;position:relative;z-index:5}.brand img{width:78px;height:65px}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:12px;color:white}.menu-toggle span:not(.sr-only){display:block;width:25px;height:1px;background:currentColor}.header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#202a24;padding:12px 6% 25px;align-items:stretch;flex-direction:column;gap:0}.header nav.open{display:flex}.header nav a{padding:14px 0;border-bottom:1px solid #596358}.header nav .nav-contact{border:0;color:#d9c9aa}.hero{display:flex;flex-direction:column;padding:0 0 25px;min-height:0}.hero-copy{padding:58px 6% 42px}.hero-intro{font-size:9px}.hero h1{font-size:clamp(3.6rem,13vw,5rem);margin:24px 0 20px}.hero-copy>p{font-size:15px}.button-light{margin-top:25px}.scroll-cue{display:none}.hero-image{min-height:400px;margin-left:6%}.image-caption{font-size:8px;padding:50px 15px 15px}.section-pad{padding:75px 6%}.intro-main,.services,.contact-inner{grid-template-columns:1fr;gap:36px}.intro-main{padding-top:32px}.intro-text .lead{font-size:21px}.intro-bottom{margin-top:60px;font-size:8px;gap:10px}.section-top{display:block;margin-bottom:35px}.section-top .section-label{margin-bottom:30px}.section-top>p{margin-top:20px}.project-grid{grid-template-columns:1fr;gap:45px}.project-small{padding-top:0}.project-large .project-image,.project-small .project-image{height:auto;aspect-ratio:1.1}.project-small .project-image{aspect-ratio:1.2}.project-note{margin-top:65px;gap:20px}.project-note span{white-space:nowrap}.services .section-label{margin-bottom:30px}.services-heading>p{margin-top:20px}.services-list{padding-top:0}.contact{padding:75px 6%}.contact-details{margin-top:15px;gap:28px}footer{padding:45px 6% 24px}.footer-links{margin-top:35px;justify-content:flex-start;flex-wrap:wrap}.footer-bottom{margin-top:55px;gap:10px;font-size:8px}.footer-bottom span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

.hero-intro,.section-label,.image-caption,.intro-bottom,figcaption span:first-child,.project-note span,.services-list span,.contact-details span,.footer-bottom{font-size:11px}@media(max-width:680px){.hero-intro,.image-caption,.intro-bottom,.footer-bottom{font-size:11px}}


/* Paleta HS Decor: preto, dourado e tons quentes de apoio. */
body { background: #11100e; color: #f3ede2; }
::selection { background: #d8ba79; color: #18140d; }
.header, .hero, footer { background: #0d0d0c; color: #f6f0e5; }
.header nav > a:not(.nav-contact) { color: #eee7da; }
.header nav > a:hover { color: #e0c383; }
.nav-contact { border-color: #b59a60; }
.hero-intro, .hero-intro span, .hero h1 em { color: #dec17e; }
.hero-copy > p, .scroll-cue { color: #d4cbbd; }
.scroll-cue span { background: #bc9d62; }
.button-light { background: #d8ba79; color: #17130c; }
.button-light:hover { background: #edd39a; }
.intro, .services { background: #161512; }
.projects { background: #24211b; }
.section-label, .intro-main h2 em, .projects h2 em, .services h2 em { color: #d8ba79; }
.intro-text, .intro-text p, .section-top > p, .services-heading > p, .services-list p { color: #d1c9bc; }
.intro-text .lead { color: #f2ebdf; }
.text-link { color: #e6cb91; border-color: #ab8d55; }
.intro-bottom, figcaption span:first-child, .project-note, .services-list span { color: #cfbb95; }
.intro-bottom, .project-note, .services-list > div, .services-list > div:last-child { border-color: #6d5d40; }
.project-image { background: #383229; }
.contact { background: #d3b77b; color: #18140e; }
.contact .section-label, .contact h2 em { color: #46351a; }
.contact-inner > div:first-child > p, .contact-details span { color: #48381e; }
.button-dark { background: #181613; color: #fff5df; }
.button-dark:hover { background: #3d3020; }
footer > p, .footer-bottom { color: #cbbfab; }
.footer-bottom { border-color: #66563d; }
@media (max-width: 680px) {
  .header nav { background: #0d0d0c; }
  .header nav a { border-color: #66563d; }
  .header nav .nav-contact { color: #e4c88b; }
}

/* V2 — fotografias com proporções editoriais e enquadramentos arquitetónicos. */
.hero { grid-template-columns: 44% 56%; padding-right: 4%; gap: 0; align-items: stretch; }
.hero-copy { padding-right: 12%; }
.hero-image { min-height: 620px; border-radius: 220px 0 0 0; }
.hero-image img { object-position: 43% center; }
.image-caption { padding: 65px 30px 24px; background: linear-gradient(transparent, rgba(10,9,7,.78)); }
.projects { overflow: hidden; }
.section-top { align-items: end; }
.project-grid { grid-template-columns: .9fr 1.1fr; gap: 10%; align-items: start; }
.project-large { max-width: 520px; }
.project-large .project-image { height: auto; aspect-ratio: 4 / 5; border-radius: 48% 48% 0 0 / 32% 32% 0 0; }
.project-large .project-image img { object-position: center; }
.project-small { padding-top: 190px; }
.project-small .project-image { height: auto; aspect-ratio: 16 / 10; border-radius: 0 100px 0 0; }
.project-small .project-image img { object-position: center; }
.project figcaption { padding-top: 23px; border-top: 1px solid #806a44; margin-top: 22px; }
.project figcaption h3 { margin-top: 9px; }
@media (max-width: 900px) {
  .hero { grid-template-columns: 45% 55%; }
  .hero-image { min-height: 550px; border-radius: 160px 0 0 0; }
  .project-grid { gap: 7%; }
  .project-small { padding-top: 130px; }
}
@media (max-width: 680px) {
  .hero { padding-right: 0; }
  .hero-copy { padding-right: 6%; }
  .hero-image { margin: 0 0 0 6%; min-height: 420px; border-radius: 135px 0 0 0; }
  .hero-image img { object-position: 43% center; }
  .image-caption { padding: 75px 18px 18px; }
  .project-grid { grid-template-columns: 1fr; gap: 55px; }
  .project-large { width: 89%; }
  .project-large .project-image { height: auto; aspect-ratio: 4 / 5; }
  .project-small { padding-top: 0; margin-left: 11%; }
  .project-small .project-image { height: auto; aspect-ratio: 16 / 11; border-radius: 0 70px 0 0; }
}
