/* Abertura fotográfica: composição própria inspirada na referência Structure. */
.hero{--scene-offset:0px;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:none;min-height:850px;min-height:max(800px,calc(100svh - 28px));padding:170px max(56px,calc((100% - 1280px)/2)) 160px;overflow:hidden;background:#343a30;color:var(--paper)}
header{margin-bottom:-102px;transition:background .3s,border-color .3s,color .3s}
header.over-hero{background:transparent;color:#fffdf5;border-bottom-color:#ffffff30;backdrop-filter:none}
header.over-hero .nav-contact{background:#f3f0e9;color:var(--ink);border-color:#f3f0e9}
header.over-hero .nav-contact:hover{background:#dfdacd}
header.over-hero .menu-toggle{border-color:#ffffff80;color:#fffdf5}
header.over-hero .nav nav a:after{background:#e2c6a4}
.hero-photo{position:absolute;inset:0;z-index:-2;pointer-events:none}
.hero-photo>img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;object-position:50% 54%;transform:translateY(var(--scene-offset)) scale(1.025);transition:opacity .75s ease;will-change:transform}
.hero-photo>img.scene-secondary{opacity:0;object-position:50% 57%}
.hero[data-scene="1"] .hero-photo>img:first-child{opacity:0}
.hero[data-scene="1"] .hero-photo>img.scene-secondary{opacity:1}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111a15d9 0%,#17201991 43%,#1520171a 78%),linear-gradient(0deg,#101810d9 0%,transparent 38%,#11191042 100%);pointer-events:none}
.hero-copy{position:relative;max-width:770px;padding:0;animation:hero-arrive .9s ease-out both}
.hero-copy .eyebrow{font-size:10px;color:#f6f0e4;letter-spacing:.2em}
.hero-copy .dot{background:#d3b596}
.hero h1{font-size:clamp(76px,7.6vw,112px);margin:32px 0 26px;text-shadow:0 2px 30px #10181026}
.hero h1 br:first-of-type{display:none}
.hero h1 em{color:#e5c5a4}
.hero .intro{color:#edece4;font-size:14px;line-height:1.85;margin-bottom:27px}
.hero-copy>.button{background:var(--paper);border-color:var(--paper);color:var(--ink);padding:19px 24px}
.hero-copy>.button:hover{background:#e2d7c4}
.hero .quiet-link{display:inline-flex;margin:0 0 0 24px;gap:18px;border-bottom:1px solid #ffffff70;color:#f1f0e8;vertical-align:middle}
.hero .quiet-link span{margin:0}
.hero-photo .photo-label{display:none}
.hero-photo figcaption{position:absolute;right:max(56px,calc((100% - 1280px)/2));bottom:126px;padding:0;color:#efede3;font-size:8px;letter-spacing:.13em;text-align:right}
.hero-photo figcaption>span{display:none}
.hero-foot{position:absolute;left:max(56px,calc((100% - 1280px)/2));right:max(56px,calc((100% - 1280px)/2));bottom:30px;display:flex;align-items:end;gap:30px;border-top:1px solid #ffffff50;padding:20px 0 0;color:var(--paper)}
.scene-picker{display:flex;align-items:center;gap:25px}.scene-label{font-size:8px;letter-spacing:.16em;max-width:55px;line-height:1.7;color:#e8e7db}.scene{display:flex;gap:12px;align-items:center;border:0;border-bottom:1px solid transparent;padding:13px 0;background:transparent;color:#dedfd5;font-size:11px;min-height:44px;transition:color .2s,border-color .2s}.scene>span{font:italic 16px var(--serif);color:#dfc3a4}.scene.active{border-bottom-color:#ead6bb;color:white}.scene:hover{color:white;border-bottom-color:#ffffff80}.scroll-cue{font-size:8px;letter-spacing:.12em;display:flex;align-items:center;gap:25px;min-height:44px}.scroll-cue>span{font-size:22px;animation:scroll-invite 2.4s ease-in-out 2}.hero :focus-visible{outline-color:#f8dfbc}
.principles{position:relative;background:var(--paper);border-top:0}.services{position:relative}.services:before{content:'';position:absolute;top:0;left:80px;bottom:0;width:1px;background:linear-gradient(transparent,#c7cab733,transparent);z-index:-1}.service:hover .service-index{color:var(--ink)}.service:hover .round-link{background:var(--olive);color:var(--paper)}
@keyframes hero-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes scroll-invite{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(max-width:1050px){.hero{padding-inline:32px}.hero h1{font-size:86px}.hero-foot{left:32px;right:32px}.hero-photo figcaption{right:32px}.hero .quiet-link{display:flex;width:fit-content;margin:20px 0 0}}
@media(max-width:760px){header{margin-bottom:-79px}.hero{min-height:790px;min-height:max(760px,calc(100svh - 24px));padding:140px 20px 180px;justify-content:center}.hero:after{background:linear-gradient(90deg,#111a15d4,#1720196e),linear-gradient(0deg,#101810e6,transparent 45%,#11191026)}.hero h1{font-size:clamp(60px,12.5vw,83px);margin:28px 0 23px;letter-spacing:-.055em}.hero h1 br:first-of-type{display:block}.hero .intro{font-size:12px;line-height:1.9}.hero-copy .eyebrow{font-size:8px;letter-spacing:.11em}.hero-copy>.button{padding:17px 20px}.hero .quiet-link{font-size:11px;margin-top:20px}.hero-photo>img{object-position:62% center;transform:scale(1.025);will-change:auto}.hero-photo>img.scene-secondary{object-position:37% center}.hero-photo figcaption{left:20px;right:auto;bottom:128px;font-size:7px}.hero-foot{left:20px;right:20px;bottom:25px;padding-top:12px;display:block}.scene-picker{gap:18px}.scene-label{font-size:7px;max-width:43px}.scene{font-size:9px;gap:8px;flex:1}.scene>span{font-size:14px}.scroll-cue{margin-top:8px;font-size:7px;justify-content:space-between;min-height:28px}.scroll-cue>span{font-size:18px}header.over-hero .nav nav{color:var(--ink);background:var(--paper)}header.over-hero .nav nav a:after{background:var(--rust)}.services:before{display:none}.mobile-contact{transition:transform .25s,visibility .25s}.mobile-contact.on-hero{transform:translateY(110%);visibility:hidden}}
@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}.hero-photo>img{transform:none;will-change:auto}.scroll-cue>span{animation:none}}

/* Apenas os fundos claros acompanham a paleta; textos e botões mantêm suas cores. */
body{--page-background:#e9eee4;background-color:var(--page-background);transition:background-color 900ms ease}
body[data-palette="earthy"]{--page-background:#f3e9e1}
body[data-palette="urban"]{--page-background:#e8eded}
.principles,.inspiration{background-color:var(--page-background);transition:background-color 900ms ease}
.swatch{border-color:var(--page-background);transition:border-color 900ms ease}
@media(prefers-reduced-motion:reduce){body,.principles,.inspiration,.swatch{transition:none}}
