/* Landscape behind text; preserve the existing component layout. */
body{background:#17131c;color:#faf8ff;--muted:#d4ccd9;--line:#62576e}
.header{background:#17131c;border-color:#51475c}.header .brand span{color:#c6a2ff}.nav-contact{border-color:#c6a2ff}.header a:hover{color:#d7bcff}.skip{color:#17131c}
.hero,.about{width:100%;padding-left:max(48px,calc((100% - 1240px)/2));padding-right:max(48px,calc((100% - 1240px)/2))}
.hero{background:linear-gradient(90deg,rgba(42,14,72,.94),rgba(65,25,110,.78) 56%,rgba(32,12,52,.48)),url('../assets/torres-jose-gonzalez.jpg') center 42%/cover no-repeat}
.hero h1 span{color:#d7b9ff}.hero-top .eyebrow:last-child{color:#e0d4eb}.hero-bottom{border-color:#d5bdeb88}.hero-note .arrow{color:#d7b9ff}.hero .wolf-hero{right:5%;background:#c7a1ef;opacity:.28}
.hero .button{background:#faf8ff;color:#261336;border-color:#faf8ff}.hero .button.light{background:#24113355;color:#fff;border-color:#c5acd9}.hero .button:hover{background:#dac3ff;color:#261336}
.ribbon{background:#6938ce}.project h3{color:#fff}.project p,.section-head p{color:#d4ccd9}.tag{color:#caa9ff}.number{border-color:#b69ecb}.art{border:1px solid #51475c}.method{background:#08080b}
.about{background:linear-gradient(90deg,rgba(9,9,14,.96),rgba(16,12,23,.89) 60%,rgba(32,15,48,.79)),url('../assets/torres-jose-gonzalez.jpg') center 54%/cover no-repeat}.about .body-copy{color:#ded8e5}.credential span{color:#d0b5ec}.meme-panel{background:#faf8ff;color:#211629}.meme-panel figcaption strong{color:#6938ce}
.contact{background:linear-gradient(105deg,rgba(65,24,112,.95),rgba(77,32,126,.87)),url('../assets/torres-jose-gonzalez.jpg') center 38%/cover no-repeat}.contact .button{color:#31154d}.contact .button:hover{background:#e6d4ff}.footer{background:#08080b}.section-wolf,.about-wolf{background:#c7a1ef}.contact-wolf{background:#fff}.footer-wolf{background:#cab1ff}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#c7a1ef}
@media(max-width:800px){.hero,.about{padding-left:20px;padding-right:20px}.hero{background-position:58% center}.hero .wolf-hero{opacity:.5}.about{background-position:62% center}}
/* Crisp wolf silhouette, with full contrast against the landscape. */
.hero .wolf-hero{width:250px;height:180px;top:155px;right:max(48px,calc((100% - 1240px)/2));background:#f5edff;opacity:1;transform:none;-webkit-mask-size:contain;mask-size:contain}
@media(min-width:801px) and (max-width:1100px){.hero .wolf-hero{width:170px;height:125px;top:145px;right:36px}}
@media(max-width:800px){.hero .wolf-hero{position:static;width:140px;height:95px;margin:0 0 20px auto;opacity:1;transform:none}}
/* Contact wolf: its own row prevents overlap with the heading and form. */
.contact .contact-wolf{position:static;grid-column:1 / -1;justify-self:end;width:86px;height:114px;margin:0 0 -40px;background:#f5edff;opacity:1;transform:none;-webkit-mask-size:contain;mask-size:contain}
@media(max-width:800px){.contact .contact-wolf{width:64px;height:88px;margin:0 0 -12px}}
